機器學習常見的優化演算法

2021-07-11 13:11:48 字數 2042 閱讀 1071

機器學習中常見的一些優化演算法的總結,以最直接的方式理解。

注:梯度下降法來自rachel-zhang的部落格

不是所有的方程都具有解析解,因此可採用優化的方法尋找其最有解,在機器學習中常見的演算法有梯度下降法、牛頓法和拉格朗日對偶性。

具有一階連續的偏導數的目標函式,以andrew ng老師的課件簡要說明。採用線性回歸演算法來說明,回歸函式為:

目標函式和優化條件

讓引數沿著梯度下降的方向走,並迭代地不斷減小j(theta0,theta1),達到穩定狀態。

初始化theta0,theta1,然後根據梯度下降的方向優化目標值theta0和theta1,使代價函式逐漸收斂到一定的值,一般是指代價函式的偏導數小於某乙個值。

alpha為梯度下降的學習率,也稱步長。

其最終效果為

以上為梯度下降的簡單描述,其中梯度下降中的學習率alpha是可以變化的,可以選擇每次使代價函式最小的alpha,即可以修改學習率。

牛頓法是常用來解決方程求解和最優化問題,求解問題通常是利用一階導數求解方程為0的解,優化問題通常是利用二階導數求解一階導數為0的解。

(1)求解方程的牛頓法

參考andrew ng的machine learning 的講義,求解方程法f(theta)=0,利用f(theta) = f(theta0) + (theta1-theta0)*f'(theta0),可通過迭代演算法實現。

牛頓方法實現過程如下圖所示:

當f(theta)-f(theta0)

(2)牛頓方法求最優化問題

牛頓法求解最優化問題,即求法l(theta)的極大極小值問題,該問題可轉化為求解l'(theta)=0 問題,此時可將問題轉換為第一部分求解方程問題。因此,

其中,l''(theta) = h。因此

其中,h的形式如下,將x替換為theta即可。

李航統計學習基礎中的理解偏理論些,從另一方面更好理解為x(k+1)-x(k)=f'/h,即h(x(k+1)-x(k))=f'。

(3)擬牛頓演算法

在牛頓法中,需要計算h的逆,這一過程比較複雜,因此構造矩陣g來逼近h的逆陣,降低計算量。這是擬牛頓法的基本思想。

x(k+1)-x(k)=(f'(k+1)-f'(k))/h,因此,g滿足x(k+1)-x(k)=g*(f'(k+1)-f'(k))。因此該條件為稱為擬牛頓法。按照牛頓條件,在每次迭代中可以選擇更新矩陣g(k+1)=g(k)+(delta)g(k)。

理解不是很深刻,待理解後詳解:

採用bfd演算法,g的更新公式為

其中,3、拉格朗日對偶性

1.  

2. andrew ng 在machine learning的課件

3. 李航.統計學習基礎

機器學習中常見的最優化演算法

常見的最優化方法有梯度下降法 牛頓法和擬牛頓法 共軛梯度法等等。梯度下降法實現簡單,當目標函式是凸函式時,梯度下降法的解是全域性解。一般情況下,其解不保證是全域性最優解,梯度下降法的速度也未必是最快的。梯度下降法的優化思想是用當前位置負梯度方向作為搜尋方向,因為該方向為當前位置的最快下降方向,所以也...

機器學習常見演算法

缺點 貝葉斯公式是乙個後驗概率公式 應用例項 中文的詞串分詞功能,如給 南京市長江大橋 分詞,有兩種可能性 貝葉斯影象識別 首先是視覺系統提取圖形的邊角特徵,然後使用這些特徵自底向上地啟用高層的抽象概念 比如是 e 還是 f 還是等號 然後使用乙個自頂向下的驗證來比較到底哪個概念最佳地解釋了觀察到的...

機器學習入門 常見演算法

乙個故事說明什麼是機器學習 機器學習這個詞是讓人疑惑的,首先它是英文名稱machine learning 簡稱ml 的直譯,在計算界machine一般指計算機。這個名字使用了擬人的手法,說明了這門技術是讓機器 學習 的技術。但是計算機是死的,怎麼可能像人類一樣 學習 呢?關於機器學習的詳細內容 機器...