看板 R_Language 關於我們 聯絡資訊
※ 引述《wheado (principal component QQ)》之銘言: : [程式範例]: : http://ideone.com/xCSQ8s : [環境敘述]: : R version 3.3.2 (2016-10-31) : [關鍵字]: : nonlinear conjugate gradient for minimization : 感謝大家的指導跟建議 : 這真的好困難QQ 我目前測出來的結果是...應該是演算法本身的問題 那篇教學裡有說非線性的conjugate gradient只有在起始點接近local minima時才會收斂 我在[-4,4]^2裡用你的code跑了10,000個起始點, 黑色的點代表以該點為起始點有收斂到正確的極值 f(x)=-1 http://i.imgur.com/74MDxkO.png 看得出來只有在 (pi/2, -pi/2) modulo pi 的附近才會收斂到正確的點 其他地方只能聽天由命 也可能是程式裡有bug 但我看了半天還是看不出來 不是numDeriv的問題, 換成analytical solution也是一樣 P.S. 你忘記update i=i+1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.52.13.65 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1479182086.A.A4D.html ※ 編輯: abc2090614 (68.52.13.65), 11/15/2016 12:08:52
wheado: 謝謝神人大哥開導 11/15 13:08
wheado: 我想請問optim裡面的cg到底跟我的差別在哪,為何optim可以 11/15 13:08
wheado: 找到最小可是我的不行....看套件說明的detail都是用同樣的 11/15 13:09
wheado: 方法 11/15 13:09
abc2090614: 我覺得有可能是浮點數的問題 在算hessian時以你的函數 11/15 14:03
abc2090614: off-diagonal的應該是0 但用numDeriv會有一點誤差 11/15 14:03
wheado: 也就是說要去了解optim是如何自己算出gradient 跟 hessian 11/15 14:08
wheado: ... 11/15 14:08
wheado: 在一般問題最佳化的時候,根本就找不到函數偏微分,其他更 11/15 14:08
wheado: 不用說了.... 11/15 14:08
abc2090614: 也有可能是那篇文章裡的作法有誤 我過兩天再研究一下 11/15 14:11
wheado: 好的,謝謝大哥,我也會繼續試試看 11/15 14:19
abc2090614: 發現自己不知道在講啥= = 應該不是浮點數問題 11/15 15:18
wheado: 哪到底是~好混亂啊 11/15 16:13
Wush978: 除非convex 否則演算法不保證能找到最佳解 11/16 02:22
Wush978: optim用的演算法都是許多人試過好用的 11/16 02:22
Wush978: 區區一篇paper的方法要打敗這些被公認的好方法不容易 11/16 02:22
wheado: 恩……所以是演算法的問題嗎?那我在去看看optim 裡面的CG 11/16 08:04
wheado: 到底是怎麽跑的…… 11/16 08:04
wheado: 但是我並沒有要global min 而是希望可以跑到local min 但 11/16 08:07
wheado: 是希望可以避開saddle point 目前的情況似乎是我的會掉到s 11/16 08:07
wheado: addle poont 可是……optim可以掉到local min…… 11/16 08:07