2011-12-15 85 views
3

我想解决下面的问题:
$ min_C \ sum_i \ phi(c_i)$ st $ \ sum_i c_i = 1 $ and $ c_i \ geq 0 $ where $ i = 1 \ cdots k $和$ C = [c_i] $。
这里$ \ phi(x)$是凹函数。例如$ \ phi(x)= 2x - x^2 $。优化凹函数

给定任何有效的初始点,我知道解决方案将是$ [0 \ 0 \ 0 \ cdots 1] $。任何人都可以指导我导出一个基于梯度下降的算法来实现这个解决方案。

+0

HTTP:/ /math.stackexchange.com似乎更适合于此。 – mtrw 2011-12-15 20:29:56

回答

0

我会检查出Hastie,Tibshirani的书:统计学习的元素。免费!这听起来很像最大熵神经网络。这些约束与对数线性模型的约束类似,表明使用拉格朗日乘子来分析解决方案。但是,您似乎也对softmax(物流)更为普遍的激活功能感兴趣。您可以参考项目追求回归估算基于样条函数的激活函数。

0

只是为了确保。这是一个凹函数,你想把它最小化(不是最大化)。首先,你有可能陷入局部模拟b.c,你正在模拟一个凹函数。 无论如何,其中一种方法是使用谱梯度投影(SPG)。为什么?因为你有一个可行的集合(即c_i> = 0 \ sum c_i = 1),你需要在可行集合上投影你的梯度步骤以保持可行性(即在集合内部)。如果你对R很熟悉,有一个很好的包可以帮你。对于SPG,您需要提供您的成本函数梯度和投影函数,将任何投影函数映射到您的可行集合。在你的情况下,计算梯度必须很容易。要了解如何编写一个投影算法(专为您的可行集)检查:

http://www.athenasc.com/nonlinbook.html

,并期望在单一投影(这是你的可行集称为)