2021年3月1日-機器學習三要素

scsn_dango發表於2021-03-01

機器學習通俗來講指的是計算機程式通過經驗來提高某任務處理效能的一類技術。其形式化定義如下:

對於某類任務T和效能度量P,如果一個計算機程式在T上以P衡量的效能隨著經驗E而自我完善,那麼我們稱這個計算機程式在從經驗E中進行學習

一個機器學習方法需要包括三個要素,也稱為機器學習三要素:模型、學習準則、優化演算法。

模型

機器學習的本質是根據經驗學習一個對映函式\(f: X \rightarrow Y\),用於對未知資料進行預測。模型結構確定了該機器學習演算法的假設空間,即所有可能的對映函式的集合。例如,如果對映函式\(f\)具有如下的形式:\(f_\theta = \theta_1x + \theta_0\),那麼該假設空間實際上是平面上的所有直線;如果對映函式\(f\)具有如下的形式:\(f = W_2(\sigma(W_1X+b_1))+b_2\),那麼該假設空間是所有以\(\sigma\)函式作為啟用函式的兩層線性神經網路構成的集合。

我們在設計模型時應該儘量使得得到的假設空間包含或者儘可能近似目標對映,同時排出其餘不是最優解的候選對映。

學習準則

在設計完模型(通常對於機器學習是選定模型)得到假設空間以後,我們接下來需要做的是找到一種評價指標能夠對假設空間中的對映進行比較,也就是通常所說的學習準則。

通常我們會根據不同的任務需求選定一個損失函式用以對模型相對於資料點的預測結果進行評估。比如:最小二乘損失,絕對值損失,交叉熵損失,Hinge Loss,Huber Loss等。

在得到損失函式以後,我們通常還會挑選一種策略來得到最終的優化目標。比如,經驗風險最小化、結構風險最小化、貝葉斯準則等等。

經驗風險最小化

假設對於一個資料點的預測結果得到的損失記為\(loss(f(x),y)\),那麼該損失函式相對於整個資料集的期望就是風險函式或者叫做期望損失。

\[Expected\_Loss = E_{(x,y) \sim P_D} [loss(f(x), y)] \]

但是由於我們不知道資料集的真實分佈\(P_D\),因此只能對期望損失進行估計。一般我們使用損失函式在當前資料集的平均值作為對期望損失的估計,這個值又叫做經驗風險或者叫做經驗損失。

\[Empirical\_Loss = \frac{1}{N} \sum_{i=1}^N loss(f(x_i), y_i) \]

把經驗風險作為目標函式對其進行最小化的準則就叫做經驗風險最小化準則。

結構風險最小化

結構風險最小化準則是在經驗風險最小化的基礎上新增了正則項用以防止過擬合。

結構風險 = 經驗風險 + L2正則項

L2正則項主要是限制了模型的複雜度,從而防止過擬合。從優化的角度L2正則可以看作是一個拉格朗日運算元,從貝葉斯學習的角度來看,L2正則是對引數加入了高斯先驗。

優化演算法

優化演算法是將學習準則得到的目標函式作為優化目標,從假設空間找到一個使得目標函式最大化/最小化的演算法。

目前深度學習的優化演算法都是基於梯度反向傳播的優化演算法。

對於機器學習來說,不同的方法具有不同的優化演算法。例如SMO是SVM的優化演算法,尺度迭代演算法是最大熵模型的優化演算法,EM演算法通常用於包含隱變數的模型的優化。

相關文章