我使用cvxpy (1.0.11)来解决一个凸优化问题。
我有一个凸问题,我认为它被标记为非凸的,因为它不知道参数alpha在0,1之间有界。
我知道这条线失败了.loss = mse + (1-alpha) * lam * (penalty_1 + penalty_2) + alpha * lam * penalty_3
当这条线成功的时候...loss = mse + lam * (penalty_1 + penalty_2) + lam * penalty_3
现在,超参数是这样参数化的。如果有绑定它们的方法,我还没有在API中的任何地方找到它
alpha = cvx.Parameter(nonneg=True)
alpha.value = 0.5
lam = cvx.Parameter(nonneg=True)
lam.value = 10**(2)如何告诉cvxpy阿尔法是介于0,1之间的数字?
发布于 2019-01-13 23:24:29
我找到了一个非常简单的解决方案。不需要将alpha设置为参数,只需将其设置为正常的浮点数。
alpha = 0.5
lam = cvx.Paramter(nonneg=True)
lam.value = 1e2https://stackoverflow.com/questions/54136906
复制相似问题