我有一个模拟退火算法,我有一个像
这样的函数 result = w1*x1 + w2*x2 + ... + wn*xn
当选择新的w
值时,模拟退火的每个循环如何确保w
的总和始终等于1并且没有单个w
值小于0?
非常感谢大家!
答案 0 :(得分:5)
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