上一節課,我們主要介紹了VC Dimension的概念。如果Hypotheses set的VC Dimension是有限的,且有足夠多N的資料,同時能夠找到一個hypothesis使它的E_{in}\approx 0,那麼就能說明機器學習是可行的。本節課主要講了資料集有Noise的情況下,是否能夠進行機器學習,並且介紹了假設空間H下演演算法A的Error估計。
一、Noise and Probablistic target
上節課推導VC Dimension的資料集是在沒有Noise的情況下,本節課討論如果資料集本身存在Noise,那VC Dimension的推導是否還成立呢?
首先,Data Sets的Noise一般有三種情況:
- 由於人為因素,正類被誤分為負類,或者負類被誤分為正類;
-
同樣特徵的樣本被模型分為不同的類;
-
樣本的特徵被錯誤記錄和使用。
之前的資料集是確定的,即沒有Noise的,我們稱之為Deterministic。現在有Noise了,也就是說在某點處不再是確定分佈,而是機率分佈了,即對每個(x,y)出現的機率是P(y|x)。
因為Noise的存在,比如在x點,有0.7的機率y=1,有0.3的機率y=0,即y是按照P(y|x)分佈的。數學上可以證明如果資料集按照P(y|x)機率分佈且是iid的,那麼以前證明機器可以學習的方法依然奏效,VC Dimension有限即可推斷E{in}和E{out}是近似的。
P(y|x)稱之為目標分佈(Target Distribution)。它實際上告訴我們最好的選擇是什麼,同時伴隨著多少noise。其實,沒有noise的資料仍然可以看成“特殊”的P(y|x)機率分佈,即機率僅是1和0.對於以前確定的資料集:
$$P(y|x)=1,for \space y=f(x) P(y|x)=0,for \space y\neq f(x)$$
在引入noise的情況下,新的學習流程圖如下所示:
二、ERROR Measure
機器學習需要考慮的問題是找出的矩g與目標函式f有多相近,我們一直使用E_{out}進行誤差的估計,那一般的錯誤測量有哪些形式呢?
我們介紹的矩g對錯誤的衡量有三個特性:
- out-of-sample:樣本外的未知資料
-
pointwise:對每個資料點x進行測試
-
classification:看prediction與target是否一致,classification error通常稱為0/1 error
PointWise error實際上就是對資料集的每個點計算錯誤並計算平均,E{in}和E{out}的pointwise error的表示式為:
pointwise error是機器學習中最常用也是最簡單的一種錯誤衡量方式,未來課程中,我們主要考慮這種方式。pointwise error一般可以分成兩類:0/1 error和squared error。0/1 error通常用在分類(classification)問題上,而squared error通常用在迴歸(regression)問題上。
Ideal Mini-Target由P(y|x)和err共同決定,0/1 error和squared error的Ideal Mini-Target計算方法不一樣。例如下面這個例子,分別用0/1 error和squared error來估計最理想的mini-target是多少。0/1 error中的mini-target是取P(y|x)最大的那個類,而squared error中的mini-target是取所有類的加權平方和。
有了錯誤衡量,就會知道當前的矩g是好還是不好,並會讓演演算法不斷修正,得到更好的矩g,從而使得g與目標函式更接近。所以,引入error measure後,學習流程圖如下所示:
三、Algorithmic Error Measure
Error有兩種:false accept和false reject。false accept意思是誤把負類當成正類,false reject是誤把正類當成負類。 根據不同的機器學習問題,false accept和false reject應該有不同的權重,這根實際情況是符合的,比如是超市優惠,那麼false reject應該設的大一些;如果是安保系統,那麼false accept應該設的大一些。
機器學習演演算法A的cost function error估計有多種方法,真實的err一般難以計算,常用的方法可以採用plausible或者friendly,根據具體情況而定。
引入algorithm error measure之後,學習流程圖如下:
四、Weighted Classification
實際上,機器學習的Cost Function即來自於這些error,也就是演算法裡面的迭代的目標函式,透過最佳化使得Error(Ein)不斷變小。
cost function中,false accept和false reject賦予不同的權重,在演演算法中體現。對不同權重的錯誤懲罰,可以選用virtual copying的方法。
五、總結
本節課主要講了在有Noise的情況下,即資料集按照P(y|x)機率分佈,那麼VC Dimension仍然成立,機器學習演算法推導仍然有效。機器學習cost function常用的Error有0/1 error和squared error兩類。實際問題中,對false accept和false reject應該選擇不同的權重。
註明:
文章中所有的圖片均來自臺灣大學林軒田《機器學習基石》課程。
更多AI資源請關注公眾號:AI有道(ID:redstonewill)