cvx工具包对二范数优化问题,非常感谢!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cvx工具包对二范数优化问题,非常感谢!相关的知识,希望对你有一定的参考价值。
我想使用CVX凸优化工具包优化一个简单的二范数最小化问题:
min||y-Ax||^2
但是代码写成:
minimize(norm(y-A*x,2)^2)是会报错的,报错是这样:
Disciplined convex programming error:
Illegal operation: convex .^ 2
(Consider POW_P, POW_POS, or POW_ABS instead.)
只能写成不带平方的形式:minimize(norm(y-A*x,2))。我需要的是带平方的形式,请问怎样才能表示成那种带平方的形式?除非这两种情况是完全等价的。并且,我不希望将最小二乘展开成(y'-x'A')(y-Ax)!
非常感谢!!!如果能够解决我会再加分!
随便乘方不能保证凸性,可以用内置函数square_pos()代替^2
tensorflow数据统计
有向量的范数和矩阵的范数,我们只介绍向量范数,一次范数和2次范数
一次范数就是求绝对值,二次范数就是平方和开方根
norm和tf.reduce_sum
对某个维度上范数
tf.norm(b,ord=1或2,axis=1),ord=1是1范数,2是二范数axis表示在tensor的某个维度
reduce_min/max/mean求tensor最大值和最小值或者某个维度最大值和最小值
argmax/argmin最大值和最小值所在的位置,或者某个维度最大值和最小值所在位置
tf.argmin(a,axis=1)表示求取4个维度中每个维度10个数字,其中10个数字的最大值和最小值
比较,equal,reduce_sum是统计相同元素true的个数
举例一个球accuracy的小列子
注意:tensor里面的数组的含义[3,4]表示三维四列的数组
去除重复元素unique,然后根据元素可以恢复
以上是关于cvx工具包对二范数优化问题,非常感谢!的主要内容,如果未能解决你的问题,请参考以下文章