資源簡介
我的思路是這樣的: 最速下降法能找出全局最優(yōu)點,但在接近最優(yōu)點的區(qū)域內(nèi)就會陷入“齒型”迭代中,使其每進(jìn)行一步迭代都要花掉非常久的時間,這樣長久的等待是無法忍受的,不信你就在我那個程序的第一步迭代中把精度取得很小如:0.000000001等,其實我等過一個鐘都沒有什么結(jié)果出來。
再者我們考究一下 牛頓迭代法求最優(yōu)問題,牛頓法相對最速下降法的速度就快得多了,而且還有一個好處就是能高度逼近最優(yōu)值,而不會出現(xiàn)死等待的現(xiàn)象。 如后面的精度,你可以取如:0.0000000000001等。
但是牛頓法也有缺點,就是要求的初始值非常嚴(yán)格,如果取不好,逼近的最優(yōu)解將不收斂,甚至不是最優(yōu)解。 就算收斂也不能保證那個結(jié)就是全局最優(yōu)解,所以我們的出發(fā)點應(yīng)該是:為牛頓法找到一個好的初始點,而且這個初始點應(yīng)該是在全局最優(yōu)點附近,這個初始點就能保證牛頓法高精度收斂到最優(yōu)點,而且速度還很快。
思路概括如下:
1。用最速下降法在大范圍找到一個好的初始點給牛頓法:(最速下降法在精度不是很高的情況下逼近速度也是蠻快的)
2。在最優(yōu)點附近改用牛頓法,用最速下降法找到的點為牛頓法的初始點,提高逼近速度與精度。
3。這樣兩種方法相結(jié)合,既能提高逼近的精度,還能提高逼近的速度,而且還能保證是全局最優(yōu)點。這就充分吸收各自的優(yōu)點,揚長避短。得到理想的結(jié)果了。
代碼片段和文件信息
- 上一篇:圖像信息熵 matlab M文件
- 下一篇:散點擬合平面的MATLAB程序
評論
共有 條評論