熱線電話:13121318867

登錄
首頁精彩閱讀機器學習入門之多項式曲線擬合
機器學習入門之多項式曲線擬合
2018-06-22
收藏

機器學習入門之多項式曲線擬合

機器學習和人工智能是最近幾年特別火的領域,比如微軟小冰、微軟cortana、蘋果siri、谷歌Now和alphaGo都使用了機器學習,使得他們的產品變得更加智能。
當然除了這些科技巨頭,其實我們日常中也可能會使用到人工智能的產品,比如最常見的就是app上的個性化推薦,通過多維度分析用戶的個性,給用推薦合適的內容,當然我個人是很討厭推薦的,基本不點開看。下面我將分為兩個部分來闡述多項式曲線擬合。

什么是多項式曲線擬合

如何評估擬合結果


1、什么是多項式曲線擬合

首選我們以一個回歸的例子展開闡述,現在假設給定一個訓練集。這個訓練集由x的N次觀測組成,寫作 ≡ (x1,…,xN)T,伴隨這 對應的t的觀測值,記作 ≡ (t1, …, tN )T,圖1展示了由N = 10個數據點組成的圖像。圖1.2中 的輸入數據集合 通過選擇xn(n = 1, … , N)的值來生成。這些xn均勻分布在區間[0, 1],目標數 據集 的獲得方式是:首先計算函數sin(2πx)的對應的值,然后給每個點增加一個小的符合高斯分布的隨機噪聲。

現在我們輸入一個新值x來預測相應的t值。首選我們需要通過訓練得出的多項式為y(x,w),y(x,w)是一個多項式:


y(x,w)是曲線多項式,它是一個逼近我們真實曲線的多項式。

2、如何評估擬合結果

在上式y(x,w)中M是多項式的階數(order),xj表示x的j次冪。多項式系數w0,…,wM整體記作向量w。 注意,雖然多項式函數y(x, w)是x的一個非線性函數,它是系數w的一個線性函數。通過最小化誤差函數 (error function)來衡量了對于任意給定的w值,函數y(x, w)與訓練集數據的差別。如圖所示:

那么我可以知道誤差函數為:

其中1/2是為了方便計算引入的。
我們可以通過選擇使得E(w)盡量小的w來解決曲線擬合問題。由于誤差函數是系數w的二次函數,因此它關于系數的導數是w的線性函數,所以誤差函數的最小值有一個唯一解,記 作w?,可以用解析的方式求出。最終的多項式函數由函數y(x, w?)給出。

從圖中我們可以看出M=0和M=1擬合效果很差,我們稱之為欠擬合,M=3擬合看起來和真實 的曲線差不多,但是當M=9的時候,擬合曲線激烈震蕩,我們稱之為過擬合。如此看來,曲線擬合的泛化性和M的取值有直接的關系,而M得值我們稱之為模型特征個數,比如說房子的價格和房子面積有關系,和房子方向(南北向)有關系,那么面積是房子價格數學模型中的一個特征,房子方向也是一個特征。
為了定量考察泛化性和M之間的關系,我們額外考慮一個測試集,這個測試集由100個數據 點組成,這100個數據點的生成方式與訓練集的生成方式完全相同,但是在目標值中包含的隨機 噪聲的值不同。對于每個不同的M值,我用用根均方(RMS)來表示測試誤差:

其中,除以N讓我們能夠以相同的基礎對比不同大小的數據集,平方根確保了E_RMS與目標 變量t使用相同的規模和單位進行度量。下圖展示了不同M值和E_RMS的關系:

從中我們可以看到,M=3-8測試誤差和訓練誤差都比較低。能夠取得較好的效果。
對已一個給定的模型復雜度,當數據集的規模增加時,過擬合問題變得不那么嚴重。另一種表 述方式是,數據集規模越大,我們能夠用來擬合數據的模型就越復雜(即越靈活)。一個粗略的啟發是,數據點的數量不應該小于模型的可調節參數的數量的若干倍(比如5或10)。下圖是使用M = 9的多項式對M = 15個數據點(左圖)和N = 100個數據點(右圖)通過最小化平方和 誤差函數的方法得到的解。我們看到增大數據集的規模會減小過擬合問題。

因此,我們了解到增加數據可以減小過擬合問題。但是我們又引來新的問題,那就是不得不根據可得到的訓練集的規模限制參數的數量。也可以說是根據待解決的問題的復雜性來選擇模型的復雜性。我們可能期望建立相對復雜和靈活的模型,所以我們經常用來控制過擬合現象的一種技術是正則化(regularization)。這種技術涉及到給誤差函數增加一個懲罰項,使得系數不會達到很大的值。這種懲罰項最簡單的形式采用所有系數的平方和的形式。

其中∥w∥^2 ≡ wT w = w0^2 + w1^2 + … + wM^2 ,系數λ控制了正則化項相對于平方和誤差項的重要性,被稱之為正則化系數。通過引入正則化項可以減少過擬合的問題。下圖是正則化系數對過擬合影響圖:

使用正則化的誤差函數,用M = 9的多項式擬合圖中的數據集。其中正則化參數λ選擇 了兩個值,分別對應于ln λ = ?18和ln λ = 0。因此引入正則化項也可以減少過擬合問題。

總結

在多項式虛線擬合過程中,我們遇到了兩個問題,一個是欠擬合,一個是過擬合,對于欠擬合我們只需要增加參數(或者說特征)是擬合更加好,對于過擬合,我們提到了兩種方式來解決,一個是增加數據,通過增加數據的方式增加引入更多的特征從而減少過擬合,另一種是增加正則化項。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢