淺析機器學習中的一維直線搜索

       針對一個機器學習的優化問題,假設我們使用梯度下降的方法求解最優點。一般地,在初始點和可行下降方向確定後,我們要沿着可行下降方向確定步長(或學習率),這個時候,就要使用到一維搜索的方法。一維搜索的方法分爲精確搜索的方法和非精確的搜索方法。非精確的搜索方法即確定一個沿可行下降方向上的步長,使目標函數下降即可;而精確的搜索方法求解出最優的步長,通過公式推導,由最優步長得到的新點的梯度與搜索方向正交,如下:




      本篇博文主要小結一下一維精確搜索方法,如有錯誤之處,煩請指出!首先需要確定一個單谷區間,使用(步長加倍等)試探方法確定單谷區間,然後逐步壓縮單谷區間,使其小於給定誤差閾值,然後取區間兩個端點的平均值近似爲最優解。或者使用Newton方法,讓求解點逼近過零的最優點。逐步壓縮單谷區間的方法有0.618法,斐波那契法,以及一階導數(壓縮比0.5)的方法。

            現在已有一個單谷區間,我們的目標是要壓縮這個區間,使其達到誤差允許的範圍。那麼怎麼來壓縮區間呢?可不可以每次壓縮區間的比例都是一樣的呢?這就是0.618法,它每次壓縮區間的比例都是0.618。




       除了每次區間壓縮一定的比例,那麼我們能不能保證壓縮一定次數,就能使區間在一個單位長度以內呢?答案是可以的,這就是斐波那契法。




       一階導數精確搜索方法




        另外,我們知道,目標函數的一階導數的過零點是步長的最優解,我們可以用Newton法使求解點逐步逼近最優解。




      博客主人也在學習,歡迎留言交流~


發佈了76 篇原創文章 · 獲贊 226 · 訪問量 88萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章