
從曲線擬合問題窺視機(jī)器學(xué)習(xí)中的相關(guān)概念
一直徘徊在機(jī)器學(xué)習(xí)的邊緣未敢輕易造次并畏懼其基本原理思想,從每一本厚厚的參考資料中都可以看出機(jī)器學(xué)習(xí)是一門跨越概率論、決策論、信息論以及最優(yōu)化的學(xué)科的綜合學(xué)科,今天終于鼓足勇氣向其挑戰(zhàn),選擇該領(lǐng)域經(jīng)典書籍PRML研讀,希望能有點(diǎn)收獲。后面的一系列的文章都是從一個初學(xué)者的角度來學(xué)習(xí)機(jī)器學(xué)習(xí)領(lǐng)域的知識。
1. 曲線擬合問題
定義:給定一系列輸入xi以及目標(biāo)值ti,目標(biāo)是找到一個關(guān)于x的函數(shù)f(x)能夠比較好的擬合給定的輸入,并且能夠?qū)π陆o出的x值預(yù)測其輸出。
問題本身就是一個學(xué)習(xí)問題,那什么是機(jī)器學(xué)習(xí)呢?通過有限的輸入數(shù)據(jù)以及對應(yīng)的目標(biāo)值(也稱訓(xùn)練數(shù)據(jù))學(xué)習(xí)到一個模型或者推斷函數(shù),并且利用這個模型或者推斷函數(shù)對新數(shù)據(jù)進(jìn)行預(yù)測。這里的機(jī)器學(xué)習(xí)一般是指統(tǒng)計機(jī)器學(xué)習(xí),即基于數(shù)據(jù)和統(tǒng)計方法。統(tǒng)計學(xué)習(xí)方法是基于數(shù)據(jù)構(gòu)建統(tǒng)計模型從而對數(shù)據(jù)進(jìn)行預(yù)測與分析,可以分為:監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)。
a)監(jiān)督學(xué)習(xí):訓(xùn)練數(shù)據(jù)包括給定的輸入及其相應(yīng)的輸出,可以根據(jù)輸入和輸出的類型分為分類問題、標(biāo)注問題和回歸問題。
1) 分類問題: 輸出變量為有限個離散變量的預(yù)測問題,可以根據(jù)離散變量k的個數(shù)分為二分類問題(k=2)和多分類問題(k>2),常用方法包括k近鄰法、感知機(jī)、樸素貝葉斯、決策樹等
2) 回歸問題:輸入變量和輸出變量均為連續(xù)變量的預(yù)測問題,可以根據(jù)參數(shù)的系數(shù)k分為線性回歸(k=1)和非線性回歸(k>1)。
3) 標(biāo)注問題:輸入變量和輸出變量均為變量序列的預(yù)測問題,常用方法包括隱馬爾科夫模型(HMM)、條件隨機(jī)場(CRF)
b)非監(jiān)督學(xué)習(xí):訓(xùn)練數(shù)據(jù)僅包括輸入沒有指定相應(yīng)的輸出。
1)聚類:在雜亂的數(shù)據(jù)中發(fā)現(xiàn)相似的簇或者數(shù)據(jù)集合
2)密度估計:發(fā)現(xiàn)輸入數(shù)據(jù)的概率密度函數(shù)
3)可視化:通過降維實現(xiàn)數(shù)據(jù)可視化
2. 曲線擬合數(shù)據(jù)源
在實驗中訓(xùn)練數(shù)據(jù)的來源是人工生成的,即根據(jù)某個函數(shù)按照一定的分布隨機(jī)抽取N個數(shù)據(jù)以及對應(yīng)的函數(shù)值作為訓(xùn)練數(shù)據(jù)。然后一般真實數(shù)據(jù)由于種種原因均會產(chǎn)生一定的誤差,不會與一個分布完全吻合,所以目標(biāo)值一般加上一個隨機(jī)誤差(誤差分布滿足高斯分布)。
本例中選取f(x)=sin(2πx),按照均勻分布隨機(jī)選取N個數(shù)據(jù)。
其中綠色曲線為sin(2πx),藍(lán)色圓圈為加上隨機(jī)誤差后的結(jié)果。
3. 多項式擬合
首先選擇一個比較簡單的模型進(jìn)行學(xué)習(xí)和預(yù)測,即多項式曲線,
y(x,w)=w0+w1x+w2x2+...+wmxM
其中w為自變量x的系數(shù),M為自變量x的項數(shù),也是整個多項式最大的項。學(xué)習(xí)的目標(biāo)是找到合適的w和M,使其能夠更好的擬合訓(xùn)練數(shù)據(jù)。由于不同的w和M值對應(yīng)不同的曲線,即不同的模型或者推斷函數(shù),如何去衡量生成的模型好壞呢?
誤差函數(shù)(error function):用于衡量不同模型的優(yōu)劣,即度量預(yù)測錯誤的程度,也稱之為損失函數(shù)或者代價函數(shù),一般有以下幾種:
a)0-1損失函數(shù)
L(y,f(x))=1,y != f(x);0,y=f(x)
b)平方損失函數(shù)
L(y,f(x))=(y-f(x))2
c)絕對損失函數(shù)
L(y,f(x))=|y-f(x)|
d)對數(shù)損失函數(shù)
L(y,f(x))=-log(p(y|x))
模型選擇:選擇使得誤差函數(shù)最小的參數(shù)。
在本例中選擇平方和作為誤差函數(shù),即。
由于本例選擇的誤差函數(shù)為w單調(diào)的函數(shù),肯定存在最優(yōu)解w*使得E(w)最小。
下圖為M為0、1、3、9時求到的最優(yōu)w*,紅色曲線為求到的多項式曲線。
從上圖可以看出,當(dāng)M為0時曲線的擬合程度最差,M為9時擬合程度最好,即完全擬合使得E(w)為0,這種情況稱之為過擬合。
由于機(jī)器學(xué)習(xí)的目的是對新給定的數(shù)據(jù)進(jìn)行預(yù)測,即不僅僅是完全擬合訓(xùn)練數(shù)據(jù),也要對新數(shù)據(jù)給出一個很好的預(yù)測。學(xué)習(xí)的泛化能力(generalization ability):是指某方法學(xué)習(xí)到的模型對為知數(shù)據(jù)預(yù)測的能力,是學(xué)習(xí)方法本質(zhì)上的重要性質(zhì)。如果一味的追求對訓(xùn)練數(shù)據(jù)的預(yù)測能力,學(xué)習(xí)到的模型往往會比真實模型復(fù)雜度高,即出現(xiàn)過擬合。
一般通過測試誤差來評價學(xué)習(xí)方法的泛化能力,這里使用殘留均方差進(jìn)行評價(root mean-square):,下圖展示了M為0-9時,最優(yōu)模型在訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)上的測試誤差,可以看出當(dāng)M=9時,對訓(xùn)練數(shù)據(jù)的誤差為0,而對測試數(shù)據(jù)的誤差飆升到最大。分析其本質(zhì)原因是當(dāng)M為9時,模型為了更好的擬合數(shù)據(jù)w取值的波動性非常大。
4. 最優(yōu)模型選擇
產(chǎn)生多擬合問題的主要原因是訓(xùn)練數(shù)據(jù)太少導(dǎo)致的,或者說模型復(fù)雜度過高導(dǎo)致的。對于復(fù)雜模型而言,會隨著訓(xùn)練數(shù)據(jù)的增加,減小過擬合問題,下圖是增加訓(xùn)練數(shù)據(jù)時M=9的擬合效果。
在實際應(yīng)用中,一個啟發(fā)式的經(jīng)驗是一個模型要到達(dá)一定得泛化能力,其訓(xùn)練數(shù)據(jù)至少為參數(shù)個數(shù)的5-10倍,當(dāng)然還會有其他方法避免過擬合問題。
最優(yōu)模型選擇有兩種常用的方法:正則化(regularization)和交叉驗證(cross validation)
a) 正則化:一般是在誤差函數(shù)的基礎(chǔ)上加上一個正則化項或者罰項,一般是模型復(fù)雜度的單獨(dú)遞增函數(shù),模型越復(fù)雜,罰值越大。
這里正則項選擇為:,||w||2為向量w的平方和。
下圖展示的是對于不同λ值對應(yīng)的測試誤差
b) 交叉驗證:即將數(shù)據(jù)進(jìn)行分割分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),通過訓(xùn)練數(shù)據(jù)進(jìn)行模型學(xué)習(xí),測試數(shù)據(jù)進(jìn)行模型的選擇。
1) 簡單交叉驗證:例如選擇80%的數(shù)據(jù)位訓(xùn)練數(shù)據(jù),20%作為測試數(shù)據(jù)。
2) S折交叉驗證:將數(shù)據(jù)分為S份,每次選擇S-1份進(jìn)行訓(xùn)練,1份用于測試,可以重復(fù)S次。
3) 留一交叉驗證:留一條數(shù)據(jù)數(shù)據(jù)作為測試,比較極端的情況。
對于本例來說λ的選擇就可以采用交叉驗證的方法進(jìn)行選擇。
5. 總結(jié)
通過對曲線擬合問題的定義和簡單求解,介紹了機(jī)器學(xué)習(xí)中的概念,當(dāng)然還有大量概念未涉及到,后續(xù)還會繼續(xù)補(bǔ)充。
對于曲線擬合問題,通過多項式擬合只是最簡單的一個方法,后續(xù)還會介紹更優(yōu)美的解決方案。
這里總結(jié)一下一個機(jī)器學(xué)習(xí)任務(wù)的基本步驟:
1) 獲取一個有限的訓(xùn)練數(shù)據(jù)集合
2) 對數(shù)據(jù)進(jìn)行特征抽取
4) 確定學(xué)習(xí)模型的集合
5) 確定模型選擇的準(zhǔn)則,確定誤差函數(shù)
6) 上線求解最優(yōu)模型的算法,即模型的求解
7) 通過學(xué)習(xí)方法選擇最優(yōu)模型
8) 利用學(xué)習(xí)到的最優(yōu)模型對新數(shù)據(jù)進(jìn)行預(yù)測或者分析
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10