優化算法的分類
分類算法的方式有多種多樣,並沒有一個統一的標準,這裏只是其中一種形式。上圖參考自這裏。
損失函數
損失函數被稱爲 cost function, object function, loss function等,這裏不區分幾種用法的微小區別。
機器學習離不開目標函數,我們分析一下目標函數:
其中,前一項是經驗風險,後一項是結構風險。前者是爲了增加 ML 對已有系統的 fitting,後者是儘量減少 ML 模型的複雜度,以避免 overfitting。整個損失函數稱爲正則化經驗風險最小化(R-ERM),對其進行簡化:
假設優化算法在其結束時的第 T 步選代中輸出的模型是,,一個有效的優化算法會隨着法代的進行使輸出的模型 越來越接近於最優模型 :
則算法是收斂的。通常使用 來評價收斂率,如果其與 T 同階,則該算法具有線性收斂率,如果小於 T 稱爲次線性收斂率,如果大於 T 則稱爲 超線性收斂率。然而,正則化風險最小化的優化算法並不一定總是收斂的,需要目標函數具有相對良好的性質,爲此我們需要引人一些基木的假設條件 。例如,我們一般假設 R-ERM 具有凸性、光滑性,凸優化問題已經被人們很好的掌握了,利用凸函數可以比較好的對損失進行分析:
其中,w,v是f的兩個參數(自變量)。相對的強凸函數爲:
其中,||.||是範數,上式稱爲 強凸(strong convex)。
另外,我們可以利用 Lipschitz 性質來描述一個函數的光滑性(smooth,函數的一個小變量,帶來函數值的小變化,不出現跳躍),如果函數的變化值滿足:
則稱 f 是關於 模 || || 是 Lipschitz 連續的。對於可導函數,其光滑性依賴其可導性:
稱上式爲光滑的,它和 強凸的形式是一樣的。