如何选择包来解决Python中的凸优化问题?
我的问题定义如下: 最小∑(| | xi Xci | | ^2+λ| | ci |) s、 t cii=0如何选择包来解决Python中的凸优化问题?,python,machine-learning,tensorflow,cvxopt,convex-optimization,Python,Machine Learning,Tensorflow,Cvxopt,Convex Optimization,我的问题定义如下: 最小∑(| | xi Xci | | ^2+λ| | ci |) s、 t cii=0 其中x为形状矩阵d*n和c是n*n,席和 ci是指分别由X和C组成的列 X在这里是已知的,基于X我们想要找到C 我现在有几个选项,我已经在tensorflow中有了这个版本,它使用了AdamOptimizer。我只是想知道,有什么办法可以更有效地解决这个问题吗?cvxpy或cvxopt会更好地解决这个问题吗 如果你们中的任何人能给我一个除tensorflow之外的任何一种方法的实现,我将不
其中x为形状矩阵d*n和c是n*n,席和 ci是指分别由X和C组成的列
X在这里是已知的,基于X我们想要找到C 我现在有几个选项,我已经在tensorflow中有了这个版本,它使用了AdamOptimizer
。我只是想知道,有什么办法可以更有效地解决这个问题吗?cvxpy
或cvxopt
会更好地解决这个问题吗
如果你们中的任何人能给我一个除tensorflow之外的任何一种方法的实现,我将不胜感激。我想,目标函数与字典学习(例如,你的X)和稀疏编码(你的ci)有关,Python中有几个很好的库 看一看字典学习。或者,您可以使用进行优化 你已经知道你的字典,所以你需要知道的是稀疏代码。我认为使用scikit学习稀疏编码器将是最简单的方法
如果你想在优化过程中拥有更大的权力,你可以自己在Theano(或Keras、千层面、TensorFlow)中实现它。最好使用Latex重写你的方程,使其更具可读性,这样更多的人会研究你的问题。分析得好!还有一篇维基文章提到了可能的算法,其中一些已经在scikit learn中实现。如果OP希望在cvxpy中使用通用凸优化方法,套索方法应该是一个很好的起点。