我有一个模拟退火算法,我有一个函数
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/

10-09 20:01