天天看點

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

從曲線拟合問題窺視機器學習中的相關概念

一直徘徊在機器學習的邊緣未敢輕易造次并畏懼其基本原理思想,從每一本厚厚的參考資料中都可以看出機器學習是一門跨越機率論、決策論、資訊論以及最優化的學科的綜合學科,今天終于鼓足勇氣向其挑戰,選擇該領域經典書籍PRML研讀,希望能有點收獲。後面的一系列的文章都是從一個初學者的角度來學習機器學習領域的知識。

1.   曲線拟合問題

定義:給定一系列輸入xi以及目标值ti,目标是找到一個關于x的函數f(x)能夠比較好的拟合給定的輸入,并且能夠對新給出的x值預測其輸出。

問題本身就是一個學習問題,那什麼是機器學習呢?通過有限的輸入資料以及對應的目标值(也稱訓練資料)學習到一個模型或者推斷函數,并且利用這個模型或者推斷函數對新資料進行預測。這裡的機器學習一般是指統計機器學習,即基于資料和統計方法。統計學習方法是基于資料建構統計模型進而對資料進行預測與分析,可以分為:監督學習和非監督學習。

a)監督學習:訓練資料包括給定的輸入及其相應的輸出,可以根據輸入和輸出的類型分為分類問題、标注問題和回歸問題。

1) 分類問題: 輸出變量為有限個離散變量的預測問題,可以根據離散變量k的個數分為二分類問題(k=2)和多分類問題(k>2),常用方法包括k近鄰法、感覺機、樸素貝葉斯、決策樹等

2) 回歸問題:輸入變量和輸出變量均為連續變量的預測問題,可以根據參數的系數k分為線性回歸(k=1)和非線性回歸(k>1)。

3) 标注問題:輸入變量和輸出變量均為變量序列的預測問題,常用方法包括隐馬爾科夫模型(HMM)、條件随機場(CRF)

b)非監督學習:訓練資料僅包括輸入沒有指定相應的輸出。

1)聚類:在雜亂的資料中發現相似的簇或者資料集合

2)密度估計:發現輸入資料的機率密度函數

3)可視化:通過降維實作資料可視化

2.   曲線拟合資料源

在實驗中訓練資料的來源是人工生成的,即根據某個函數按照一定的分布随機抽取N個資料以及對應的函數值作為訓練資料。然後一般真實資料由于種種原因均會産生一定的誤差,不會與一個分布完全吻合,是以目标值一般加上一個随機誤差(誤差分布滿足高斯分布)。

本例中選取f(x)=sin(2πx),按照均勻分布随機選取N個資料。

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

其中綠色曲線為sin(2πx),藍色圓圈為加上随機誤差後的結果。

3.   多項式拟合

首先選擇一個比較簡單的模型進行學習和預測,即多項式曲線,

y(x,w)=w0+w1x+w2x2+...+wmxM

其中w為自變量x的系數,M為自變量x的項數,也是整個多項式最大的項。學習的目标是找到合适的w和M,使其能夠更好的拟合訓練資料。由于不同的w和M值對應不同的曲線,即不同的模型或者推斷函數,如何去衡量生成的模型好壞呢?

誤差函數(error function):用于衡量不同模型的優劣,即度量預測錯誤的程度,也稱之為損失函數或者代價函數,一般有以下幾種:

a)0-1損失函數
  • L(y,f(x))=1,y != f(x);0,y=f(x)
b)平方損失函數
  • L(y,f(x))=(y-f(x))2
c)絕對損失函數
  • L(y,f(x))=|y-f(x)|
d)對數損失函數
  • L(y,f(x))=-log(p(y|x))

模型選擇:選擇使得誤差函數最小的參數。

在本例中選擇平方和作為誤差函數,即

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

由于本例選擇的誤差函數為w單調的函數,肯定存在最優解w*使得E(w)最小。

下圖為M為0、1、3、9時求到的最優w*,紅色曲線為求到的多項式曲線。

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

從上圖可以看出,當M為0時曲線的拟合程度最差,M為9時拟合程度最好,即完全拟合使得E(w)為0,這種情況稱之為過拟合。

由于機器學習的目的是對新給定的資料進行預測,即不僅僅是完全拟合訓練資料,也要對新資料給出一個很好的預測。學習的泛化能力(generalization ability):是指某方法學習到的模型對為知資料預測的能力,是學習方法本質上的重要性質。如果一味的追求對訓練資料的預測能力,學習到的模型往往會比真實模型複雜度高,即出現過拟合。

一般通過測試誤差來評價學習方法的泛化能力,這裡使用殘留均方差進行評價(root mean-square):

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

,下圖展示了M為0-9時,最優模型在訓練資料和測試資料上的測試誤差,可以看出當M=9時,對訓練資料的誤差為0,而對測試資料的誤差飙升到最大。分析其本質原因是當M為9時,模型為了更好的拟合資料w取值的波動性非常大。

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

4.   最優模型選擇

産生多拟合問題的主要原因是訓練資料太少導緻的,或者說模型複雜度過高導緻的。對于複雜模型而言,會随着訓練資料的增加,減小過拟合問題,下圖是增加訓練資料時M=9的拟合效果。

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

在實際應用中,一個啟發式的經驗是一個模型要到達一定得泛化能力,其訓練資料至少為參數個數的5-10倍,當然還會有其他方法避免過拟合問題。

最優模型選擇有兩種常用的方法:正則化(regularization)和交叉驗證(cross validation)

a)         正則化:一般是在誤差函數的基礎上加上一個正則化項或者罰項,一般是模型複雜度的單獨遞增函數,模型越複雜,罰值越大。

這裡正則項選擇為:

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

,||w||2為向量w的平方和。

下圖展示的是對于不同λ值對應的測試誤差

從曲線拟合問題窺視機器學習中的相關概念1.   曲線拟合問題2.   曲線拟合資料源3.   多項式拟合4.   最優模型選擇5.   總結

b)         交叉驗證:即将資料進行分割分為訓練資料和測試資料,通過訓練資料進行模型學習,測試資料進行模型的選擇。

1)         簡單交叉驗證:例如選擇80%的資料位訓練資料,20%作為測試資料。

2)         S折交叉驗證:将資料分為S份,每次選擇S-1份進行訓練,1份用于測試,可以重複S次。

3)         留一交叉驗證:留一條資料資料作為測試,比較極端的情況。

對于本例來說λ的選擇就可以采用交叉驗證的方法進行選擇。

5.   總結

通過對曲線拟合問題的定義和簡單求解,介紹了機器學習中的概念,當然還有大量概念未涉及到,後續還會繼續補充。

對于曲線拟合問題,通過多項式拟合隻是最簡單的一個方法,後續還會介紹更優美的解決方案。

這裡總結一下一個機器學習任務的基本步驟:

1)         擷取一個有限的訓練資料集合

2)         對資料進行特征抽取

3)         如果有需要,對特征進行降維

4)         确定學習模型的集合

5)         确定模型選擇的準則,确定誤差函數

6)         上線求解最優模型的算法,即模型的求解

7)         通過學習方法選擇最優模型

8)         利用學習到的最優模型對新資料進行預測或者分析

繼續閱讀