2011-12-15 81 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

,並期望在單一投影(這是你的可行集稱爲)