我有一个模拟退火算法,我有一个函数result = w1*x1 + w2*x2 + ... + wn*xn
选择新的w
值时,模拟退火的每个循环如何确保w
的和始终等于1,并且没有单个w
值小于0?
非常感谢各位!
最佳答案
使用NumPy。
这样,你就可以做result = w1*x1 + w2*x2 + ... + wn*xn
,而不是result = np.dot(w, x)
。
您想要的w
状况可能来自:
non_negative_w = np.abs(w)
sum_w = np.sum(non_negative_w)
normalized_non_negative_w = non_negative_w / sum_w
关于python - 如何确保任意数量的权重之和为1(Python)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34080486/