我正在尋找一些關於如何在C中實現Gradient (steepest) Descent的建議。我找到了f(x)= || Ax-y ||^2的最小值,其中A (n,n)和y(n)。由於計算梯度Δf(x)= [df/dx(1),...,df/dx(n)]需要計算導數,所以這在C中是困難的(我認爲)。梯度(最速)下降的實現
我只是想在SO拋出此得到一些方向去編程該,如:
1)什麼維度將是最好的開始(1,2,...)
2)如何去這樣做的偏導數
3)是否我應該在一個更簡單的語言實現,如Python,第一個忠告 - 然後在轉換到C
4)等等
讓我知道你的想法!在此先感謝
對於一個想法,你可以看看C中的數值食譜,雖然我不喜歡他們的許可證條款:http://www.fizyka.umk.pl/nrbook/bookcpdf.html – 2010-10-16 19:50:35