优化功能,考虑迭代步骤数

时间:2019-03-14 18:00:57

标签: python scipy

我想使用scipy.optimize.minimize来最小化成本函数。成本函数中的某些值必须为正(这些值不是要最小化的值)。为了实现这一点,我想在成本函数中使用一个正则化器,如果这些值为负数,则会增加成本。在优化程序开始时,我想保持较低的罚款并随着时间的推移增加罚款。为此,我的成本函数需要知道我们处于哪个迭代中。如何从成本函数中获取帽子信息?

这是我的(不完整的)代码:

def cost_fct(inv_hessian_vec):
    e = get_values_that_need_to_be_positive(inv_hessian_vec)
    return np.sum((inv_hessian_vec - inv_hessian.flatten())**2) + 4**NUMBER_OF_ITERATIONS * np.sum((np.minimum(e - 0.001, 0)) ** 2)

res = scipy.optimize.minimize(fun=cost_fct, x0 = inv_hessian.flatten())

0 个答案:

没有答案