關(guān)于預(yù)測(cè)的兩類核心算法
- 函數(shù)逼近/預(yù)測(cè)分析問(wèn)題(分類問(wèn)題、回歸問(wèn)題)
解決方法:懲罰線性回歸、集成方法
當(dāng)數(shù)據(jù)含有大量的特征,但是沒(méi)有足夠多的數(shù)據(jù)或時(shí)間來(lái)訓(xùn)練更復(fù)雜的集成方法模型時(shí),懲罰回歸方法將優(yōu)于其他算法。
而且這些算法使用十分簡(jiǎn)單,可調(diào)參數(shù)不多,都有定義良好、結(jié)構(gòu)良好的輸入數(shù)據(jù)類 型。當(dāng)面臨一個(gè)新問(wèn)題的時(shí)候,在 1 ~ 2 小時(shí)內(nèi)完成輸 入數(shù)據(jù)的處理、訓(xùn)練模型、輸出預(yù)測(cè)結(jié)果是司空見(jiàn)慣的。
這些算法的一個(gè)最重要特性就是可以明確地指出哪個(gè)輸入變量(特征)對(duì)預(yù)測(cè)結(jié)果最重要。這已經(jīng)成為機(jī)器學(xué)習(xí)算法一個(gè)無(wú)比重要的特性。在預(yù)測(cè)模型構(gòu)建過(guò)程中,最消耗時(shí)間的一步就是特征提?。╢eature selection)或者叫作特征工程(feature engineering)。就是 數(shù)據(jù)科學(xué)家選擇哪些變量用于預(yù)測(cè)結(jié)果的過(guò)程。根據(jù)對(duì)預(yù)測(cè)結(jié)果的貢獻(xiàn)程度對(duì)特征打分。
懲罰線性回歸
產(chǎn)生原因
*最小二乘法:過(guò)擬合問(wèn)題
自由度
確定一條直線需要2個(gè)獨(dú)立的參數(shù)(如x軸交點(diǎn)坐標(biāo),斜率)
數(shù)據(jù)條數(shù)》自由度
懲罰線性回歸可以減少自由度使之與數(shù)據(jù)規(guī)模、問(wèn)題的復(fù)雜度相匹配。對(duì)于具有大量自由度的問(wèn)題,懲罰線性回歸方法獲得了廣泛的應(yīng)用。在下列問(wèn)題中更是得到了偏愛(ài),基因問(wèn)題,通常其自由度(也就是基因的數(shù)目)是數(shù)以萬(wàn)計(jì)的;文本分類問(wèn)題,其自由度可 以超過(guò)百萬(wàn)。
集成方法(ensemble methods)
集成方法的基本思想是構(gòu) 建多個(gè)不同的預(yù)測(cè)模型,然后將其輸出做某種組合作為最終的輸出,如取平均值或采用多 數(shù)人的意見(jiàn)(投票)。單個(gè)預(yù)測(cè)模型叫作基學(xué)習(xí)器(base learners)。計(jì)算學(xué)習(xí)理論(computation learning theory)的研究結(jié)果證明只要基學(xué)習(xí)器比隨機(jī)猜測(cè)稍微好些(如果獨(dú)立預(yù)測(cè)模型 的數(shù)目足夠多),那么集成方法就可以達(dá)到相當(dāng)好的效果。
產(chǎn)生原因:
某些機(jī)器學(xué)習(xí)算法輸出結(jié)果不穩(wěn)定,這一問(wèn)題導(dǎo)致了集成方法的提出。例如,在現(xiàn)有數(shù)據(jù)集基礎(chǔ)上增加新的數(shù)據(jù)會(huì)導(dǎo)致最終的預(yù)測(cè)模型或性能突變。二元決策樹 和傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)就有這種不穩(wěn)定性。這種不穩(wěn) 定性會(huì)導(dǎo)致預(yù)測(cè)模型性能的高方差,取多個(gè)模型 的平均值可以看作是一種減少方差的方法。技巧 在于如何產(chǎn)生大量的獨(dú)立預(yù)測(cè)模型,特別是當(dāng)它們都采用同樣的基學(xué)習(xí)器時(shí)
一個(gè)有用的技巧就是在開發(fā)的早期階段,如特征工程階段,利用懲罰線性模型進(jìn)行訓(xùn)練。這給數(shù)據(jù)科學(xué)家提供一個(gè)基本的判斷:哪些變量(特征)是有用的、重要的,同時(shí)提供了一個(gè)后續(xù)與其他算法性能比較上的基線。
數(shù)據(jù)科學(xué)家的任務(wù)就是如何平衡問(wèn)題的復(fù)雜度、預(yù)測(cè)模型的復(fù)雜度和數(shù)據(jù)集規(guī)模,以獲得一個(gè)最佳的可部署模型。基本思想是如果問(wèn)題不是很復(fù)雜,而且不能獲得足夠多的數(shù)據(jù),則線性方法比更加復(fù)雜的集成方法可能會(huì)獲得全面更優(yōu)的性能?;蚪M數(shù)據(jù)就是此類問(wèn)題的典型代表
數(shù)據(jù)集規(guī)模通常需要是自由度的倍數(shù)關(guān)系。因?yàn)閿?shù)據(jù)集的規(guī)模是固定的,所以需要調(diào)整模型的自由度。懲罰線性回歸的相關(guān)章節(jié)將介紹懲罰線性回歸如何支持這種調(diào)整以及依此如何達(dá)到最優(yōu)的性能
疑點(diǎn)
第 3 章將更詳細(xì)地討論為什么一個(gè)算法或者另一個(gè)算法是一個(gè)問(wèn)題的更好選擇。這與問(wèn)題的復(fù)雜度、算法內(nèi)在固有的自由度有關(guān)。線性模型傾向于訓(xùn)練速度快,并且經(jīng)常能夠提供與非線性集成方法相當(dāng)?shù)男阅?,特別是當(dāng)能獲取的數(shù)據(jù)受限時(shí)。因?yàn)樗鼈冇?xùn)練時(shí)間短,
在早期特征選取階段訓(xùn)練線性模型是很方便的,然后可以據(jù)此大致估計(jì)針對(duì)特定問(wèn)題可以達(dá)到的性能。線性模型可以提供關(guān)于特征對(duì)預(yù)測(cè)的相關(guān)信息,可以輔助特征選取階段的工作。在有充足數(shù)據(jù)的情況下,集成方法通常能提供更好的性能,也可以提供相對(duì)間接的關(guān)
于結(jié)果的貢獻(xiàn)的評(píng)估。
使用機(jī)器學(xué)習(xí)需要幾項(xiàng)不同的技能。
1 一項(xiàng)就是編程技能,
2 獲得合適的模型進(jìn)行訓(xùn)練和部署
步驟:
對(duì)問(wèn)題用數(shù)學(xué)語(yǔ)言進(jìn)行重?cái)ⅲ?br> 需要瀏覽可獲得的數(shù)據(jù),確定哪類數(shù)據(jù)可能用于預(yù)測(cè)?!盀g覽”的意思是對(duì)數(shù)據(jù)進(jìn)行各種統(tǒng)計(jì)意義上的檢測(cè)分析
假設(shè)通過(guò)某種方法,選擇了一組特征,開始訓(xùn)練機(jī)器學(xué)習(xí)算法。這將產(chǎn)生一個(gè)訓(xùn)練好的模型,然后是估計(jì)它的性能。下一步,可能會(huì)考慮對(duì)特征集進(jìn)行調(diào)整,包括增加新的特征,刪除已證明沒(méi)什么幫助的特征,或者選擇另外一種類型的訓(xùn)練目標(biāo)(也叫作目標(biāo)函數(shù)),通過(guò)上述調(diào)整看看能否提高性能??梢苑磸?fù)調(diào)整設(shè)計(jì)決策來(lái)提高性能??赡軙?huì)把導(dǎo)致性能比較差的數(shù)據(jù)單獨(dú)提出來(lái),然后嘗試是否可以從中發(fā)現(xiàn)背后的規(guī)律。這可以導(dǎo)致添加新的特征到預(yù)測(cè)模型中,也可以把數(shù)據(jù)集分成不同的部分分別考慮,分別建立不同的預(yù)測(cè)模型。
當(dāng)重述問(wèn)題、提取特征、訓(xùn)練算法、評(píng)估算法時(shí),需要熟悉不同算法所要求的輸入數(shù)據(jù)結(jié)構(gòu)。
此過(guò)程通常包括如下步驟。
(1)提取或組合預(yù)測(cè)所需的特征。
(2)設(shè)定訓(xùn)練目標(biāo)。
(3)訓(xùn)練模型。
(4)評(píng)估模型在測(cè)試數(shù)據(jù)上的性能表現(xiàn)

特征工程就是對(duì)特征進(jìn)行整理組合,以達(dá)到更富有信息量的過(guò)程。建立一個(gè)證劵交易系統(tǒng)包括特征提取和特征工程。特征提取將決定哪些特征可以用來(lái)預(yù)測(cè)價(jià)格。過(guò)往的價(jià)格、相關(guān)證劵的價(jià)格、利率、從最近發(fā)布的新聞提取的特征都是現(xiàn)有公開討論的各種交
易系統(tǒng)的輸入數(shù)據(jù)。而且證劵的價(jià)格還有一系列的工程化特征,包括:指數(shù)平滑異同移動(dòng)平均線(moving average convergence and divergence, MACD)、相對(duì)強(qiáng)弱指數(shù)(relative strength index, RSI)等。這些特征都是過(guò)往價(jià)格的函數(shù),它們的發(fā)明者都認(rèn)為這些特征對(duì)于證劵交易是非常有用的。
模型的訓(xùn)練也是一個(gè)過(guò)程,每次開始都是先選擇作為基線的特征集合。作為一個(gè)現(xiàn)代機(jī)器學(xué)習(xí)算法(如本書描述的算法),通常訓(xùn)練 100 ~ 5000 個(gè)不同的模型,然后從中精選出一個(gè)模型進(jìn)行部署。產(chǎn)生如此之多的模型的原因是提供不同復(fù)雜度的模型,這樣可以挑選出一個(gè)與問(wèn)題、數(shù)據(jù)集最匹配的模型。如果不想模型太簡(jiǎn)單又不想放棄性能,不想模型太復(fù)雜又不想出現(xiàn)過(guò)擬合問(wèn)題,那么需要從不同復(fù)雜度的模型中選擇一個(gè)最合適的。
通過(guò)理解數(shù)據(jù)來(lái)了解問(wèn)題
構(gòu)建預(yù)測(cè)模型的過(guò)程叫作訓(xùn)練。具體的方法依賴于算法,基本上采用迭代的方式。算法假定屬性和標(biāo)簽之間存在可預(yù)測(cè)的關(guān)系,觀察出錯(cuò)的情況,做出修正,然后重復(fù)此過(guò)程直到獲得一個(gè)相對(duì)滿意的模型
屬性和標(biāo)簽的不同類型決定模型的選擇
很多機(jī)器學(xué)習(xí)算法只能處理數(shù)值變量,不能處理類別變量或因素變
量(factor variable)。例如,懲罰回歸算法只能處理數(shù)值變量, SVM、核方法、 K 最近鄰也是同樣。第 4 章將介紹將類別變量轉(zhuǎn)換為數(shù)值變量的方法。這些變量的特性將會(huì)影響算法的選擇以及開發(fā)一個(gè)預(yù)測(cè)模型的努力的方向,因此這也是當(dāng)面臨一個(gè)新問(wèn)題時(shí),需要考
慮的因素之一。
當(dāng)標(biāo)簽是數(shù)值的,就叫作回歸問(wèn)題。當(dāng)標(biāo)簽是類別的,就叫作分類問(wèn)題。如果分類結(jié)果只取 2 個(gè)值,就叫作二元分類問(wèn)題。如果取多個(gè)值,就是多類別分類問(wèn)題
很多情況下,問(wèn)題的類型是由設(shè)計(jì)者選擇的。剛剛的例子就是如何把一個(gè)回歸問(wèn)題轉(zhuǎn)換為二元分類問(wèn)題,只需要對(duì)標(biāo)簽做簡(jiǎn)單的變換。這實(shí)際上是面臨一個(gè)問(wèn)題時(shí)所做的一種權(quán)衡。例如,分類目標(biāo)可以更好地支持 2 種行為選擇的決策問(wèn)題。
分類問(wèn)題也可能比回歸問(wèn)題簡(jiǎn)單。例如考慮 2 個(gè)地形圖的復(fù)雜度差異,一個(gè)地形圖只有一個(gè)等高線(如 30.5 米的等高線),而另一個(gè)地形圖每隔 3.05 米就有一個(gè)等高線。只有一個(gè)等高線的地形圖將地圖分成高于 30.5 米的區(qū)域和低于 30.5 米的區(qū)域,因此相比另一個(gè)地形圖含有更少的信息。一個(gè)分類器就相當(dāng)于只算出一個(gè)等高線,而不再考慮與這條分界線的遠(yuǎn)近距離之類的問(wèn)題,而回歸的方法就相當(dāng)于要繪制一個(gè)完整的地形圖
新數(shù)據(jù)集的注意事項(xiàng)
- 數(shù)據(jù)規(guī)模(行數(shù)、列數(shù))
- 類別變量的數(shù)目、類別的取值范圍
- 缺失的值(缺失的行數(shù)+具體缺失的項(xiàng)數(shù))
- 屬性和標(biāo)簽的統(tǒng)計(jì)特性以及關(guān)系 (模糊:平行坐標(biāo)圖 具體:相關(guān)性)
數(shù)據(jù)集屬性的可視化
平行坐標(biāo)圖
基于標(biāo)簽對(duì)折線標(biāo)示不同的顏色,更有利于觀測(cè)到屬性值與標(biāo)簽之間的關(guān)系。這些觀察將有助于解釋和確認(rèn)某些預(yù)測(cè)的結(jié)果。
屬性和標(biāo)簽的關(guān)系可視化
屬性與標(biāo)簽的交會(huì)圖(cross-plots)
兩個(gè)屬性(或一個(gè)屬性、一個(gè)標(biāo)簽)的相關(guān)程度可以由皮爾遜相關(guān)系數(shù)
用熱圖(heat map)展示屬性和標(biāo)簽的相關(guān)性
多個(gè)屬性間的相關(guān)性很高(相關(guān)系數(shù) >0.7),即多重共線性(multicollinearity),往往會(huì)導(dǎo)致預(yù)測(cè)結(jié)果不穩(wěn)定。
如果屬性和標(biāo)簽相關(guān),則通常意味著兩者之間具有可預(yù)測(cè)的關(guān)系
*分類問(wèn)題*
import pandas as pd
from pandas import DataFrame
import matplotlib.pyplot as plot
target_url = ("https://archive.ics.uci.edu/ml/machine-learning-"
"databases/undocumented/connectionist-bench/sonar/sonar.all-data")
#read rocks versus mines data into pandas data frame
rocksVMines = pd.read_csv(target_url,header=None, prefix="V")
for i in range(208):
#assign color based on color based on "M" or "R" labels
if rocksVMines.iat[i,60] == "M":
pcolor = "red"
else:
pcolor = "blue"
#plot rows of data as if they were series data
dataRow = rocksVMines.iloc[i,0:60]
dataRow.plot(color=pcolor, alpha=0.5)
plot.xlabel("Attribute Index")
plot.ylabel(("Attribute Values"))
plot.show()
*回歸問(wèn)題的平行坐標(biāo)圖*
#數(shù)值標(biāo)簽映射
回歸問(wèn)題,應(yīng)該用不同的顏色來(lái)對(duì)應(yīng)標(biāo)簽值的高低。也就是實(shí)現(xiàn)由標(biāo)簽的實(shí)數(shù)值到顏
色值的映射,需要將標(biāo)簽的實(shí)數(shù)值壓縮到 [0.0,1.0] 區(qū)間
from math import exp
target_url = ("http://archive.ics.uci.edu/ml/machine-"
"learning-databases/abalone/abalone.data")
#read abalone data
abalone = pd.read_csv(target_url,header=None, prefix="V")
abalone.columns = ['Sex', 'Length', 'Diameter', 'Height',
'Whole Wt', 'Shucked Wt',
'Viscera Wt', 'Shell Wt', 'Rings']
summary = abalone.describe()
minRings = summary.iloc[3,7]
maxRings = summary.iloc[7,7]
nrows = len(abalone.index)
for i in range(nrows):
#plot rows of data as if they were series data
dataRow = abalone.iloc[i,1:8]
labelColor = (abalone.iloc[i,8] - minRings) / (maxRings - minRings)
dataRow.plot(color=plot.cm.RdYlBu(labelColor), alpha=0.5)
plot.xlabel("Attribute Index")
plot.ylabel(("Attribute Values"))
plot.show()
改變顏色映射關(guān)系可以從不同的層面來(lái)可視化屬性與目標(biāo)之間的關(guān)系
1 歸一化
2 對(duì)數(shù)轉(zhuǎn)換
針對(duì)巖石 vs. 水雷問(wèn)題,平行坐標(biāo)圖的線用 2 種顏色代表了 2 種目標(biāo)類別。在回歸問(wèn)題(紅酒口感評(píng)分、鮑魚預(yù)測(cè)年齡),標(biāo)簽(目標(biāo)類別)取實(shí)數(shù)值,平行坐標(biāo)圖的線取一系列不同的顏色。在多類別分類問(wèn)題中,每種顏色代表一種類別,共有 6 種類別, 6 種顏色。標(biāo)簽是 1 ~ 7,沒(méi)有 4。顏色的選擇與回歸問(wèn)題中的方式類似:將目標(biāo)類別(標(biāo)簽)除以其最大值,然后再基于此數(shù)值選擇顏色。
第一部分是R標(biāo)簽的(巖石),第二部分是M標(biāo)簽的(水雷)。在分析數(shù)據(jù)時(shí)首先要注意到此類信息。在后續(xù)章節(jié)中會(huì)看到,確定模型的優(yōu)劣有時(shí)需要對(duì)數(shù)據(jù)進(jìn)行取樣。那么取樣就需要考慮到數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
邊緣點(diǎn)很可能就是分析模型預(yù)測(cè)錯(cuò)誤的一個(gè)重要來(lái)源
小結(jié)
本章介紹了用于探究新數(shù)據(jù)集的一些工具,這些工具從簡(jiǎn)單地獲取數(shù)據(jù)集的規(guī)模開始,包括確定數(shù)據(jù)集屬性和目標(biāo)的類型等。這些關(guān)于數(shù)據(jù)集的基本情況會(huì)對(duì)數(shù)據(jù)集的預(yù)處理、預(yù)測(cè)模型的訓(xùn)練提供幫助。
這些概念包括:簡(jiǎn)單的統(tǒng)計(jì)信息(均值、標(biāo)準(zhǔn)差、分位數(shù))、二
階統(tǒng)計(jì)信息,如屬性間的相關(guān)性、屬性與目標(biāo)間的相關(guān)性。當(dāng)目標(biāo)是二值時(shí),計(jì)算屬性與目標(biāo)相關(guān)性的方法與目標(biāo)是實(shí)數(shù)(回歸問(wèn)題)時(shí)有所不同。本章也介紹了可視化技巧:利用分位數(shù)圖來(lái)顯示異常點(diǎn);利用平行坐標(biāo)圖來(lái)顯示屬性和目標(biāo)之間的相關(guān)性。上述方法和技巧都可以應(yīng)用到本書后續(xù)的內(nèi)容,用來(lái)驗(yàn)證算法以及算法之間的對(duì)比。
預(yù)測(cè)模型的構(gòu)建:平衡性能、復(fù)雜性以及大數(shù)據(jù)
- 使用訓(xùn)練數(shù)據(jù)
- 評(píng)估模型性能
好的性能意味著使用屬性 x i 來(lái)生成一個(gè)接近真實(shí) y i 的預(yù)測(cè),這種“接近”對(duì)不同問(wèn)
題含義不同。
對(duì)于回歸問(wèn)題,y i 是一個(gè)實(shí)數(shù),性能使用均方誤差(MSE)或者平均絕對(duì)誤差(MAE)來(lái)度量。
如果問(wèn)題是一個(gè)分類問(wèn)題,那么需要使用不同的性能指標(biāo)。最常用的性能指標(biāo)是誤分類率,即計(jì)算 pred() 函數(shù)預(yù)測(cè)錯(cuò)誤的樣本比例
影響算法選擇及性能的因素——復(fù)雜度以及數(shù)據(jù)
有幾個(gè)因素影響預(yù)測(cè)算法的整體性能。這些因素包括問(wèn)題的復(fù)雜度、模型復(fù)雜度以及
可用的訓(xùn)練數(shù)據(jù)量。下面將介紹這些因素是如何一起來(lái)影響預(yù)測(cè)性能的。
應(yīng)用數(shù)據(jù)科學(xué)家需要對(duì)算法性能進(jìn)行評(píng)估,從而為客戶提供合理的期望并且對(duì)算法進(jìn)行比較。對(duì)模型進(jìn)行評(píng)估的最佳經(jīng)驗(yàn)是從訓(xùn)練數(shù)據(jù)集中預(yù)留部分?jǐn)?shù)據(jù)。樣本外誤差
只有在新樣本上計(jì)算得到的性能才能算是模型的性能。
- 簡(jiǎn)單問(wèn)題 復(fù)雜問(wèn)題(邊界)
數(shù)據(jù)有限的復(fù)雜問(wèn)題選簡(jiǎn)單模型 - 簡(jiǎn)單模型 復(fù)雜模型
現(xiàn)代機(jī)器學(xué)習(xí)算法往往生成模型族,不只是單個(gè)模型
最好的辦法是用復(fù)雜模型解決復(fù)雜問(wèn)題,用簡(jiǎn)單模型解決簡(jiǎn)單問(wèn)題,但是必須考慮問(wèn)題的另一維度;即,必須考慮數(shù)據(jù)規(guī)模。
- 數(shù)據(jù)的分布形狀也很重要
數(shù)據(jù)集長(zhǎng)寬比
對(duì)于列比行多的數(shù)據(jù)集或者相對(duì)簡(jiǎn)單的問(wèn)題,傾向于使用線性模型。對(duì)于行比列多很多的復(fù)雜問(wèn)題,傾向于使用非線性模型。另一個(gè)考慮因素是訓(xùn)練時(shí)間。線性方法要比非線性方法訓(xùn)練時(shí)間短
度量預(yù)測(cè)模型性能
- 回歸問(wèn)題
MSE MAE RMSE
代碼清單最后是方差的計(jì)算(與均值的均方誤差)以及標(biāo)準(zhǔn)差計(jì)算(方差的開方)。這些量與預(yù)測(cè)錯(cuò)誤指標(biāo) MSE 以及 RMSE 進(jìn)行比較非常有意義。例如,如果預(yù)測(cè)錯(cuò)誤的 MSE 同目標(biāo)方差幾乎相等(或者 RMSE 與目標(biāo)標(biāo)準(zhǔn)差幾乎相等),這說(shuō)明預(yù)測(cè)算法效果并不好,通過(guò)簡(jiǎn)單對(duì)目標(biāo)值求平均來(lái)替換預(yù)測(cè)算法就能達(dá)到幾乎相同的效果。
除了計(jì)算錯(cuò)誤的摘要統(tǒng)計(jì)量以外,查看錯(cuò)誤的分布直方圖、長(zhǎng)尾分布(使用分位數(shù)或
者等分邊界)以及正態(tài)分布程度等對(duì)于分析錯(cuò)誤原因以及錯(cuò)誤程度也非常有用。有時(shí)這些探索會(huì)對(duì)定位錯(cuò)誤原因以及提升潛在性能帶來(lái)啟發(fā)。
*分類問(wèn)題
概率 閾值
混淆矩陣
最佳決策閾值應(yīng)該是能夠最小化誤分類率的值。然而,不同類錯(cuò)誤對(duì)應(yīng)的代價(jià)可能是
不同的。
一些用于估算2分類問(wèn)題性能的方法同樣適用于多分類問(wèn)題。誤分類錯(cuò)誤仍然有意義,混淆矩陣也同樣適用。有許多將 ROC 曲線以及 AUC 指標(biāo)推廣到多分類應(yīng)用的工作 - 30%測(cè)試集(均勻采樣)
- n折交叉驗(yàn)證
- 分層抽樣(分別從欺詐樣本以及合法樣本)
樣本外測(cè)試已經(jīng)可以給出預(yù)測(cè)錯(cuò)誤的期望結(jié)果。如果能在更多數(shù)據(jù)上進(jìn)行訓(xùn)練,模型效果會(huì)更好,泛化能力也更好。真正要部署的模型應(yīng)該在所有數(shù)據(jù)上進(jìn)行訓(xùn)練。
最小二乘法OLS
過(guò)擬合,列太多 最佳子集回歸
使用前向逐步回歸來(lái)控制過(guò)擬合
最佳子集選擇以及前向逐步回歸過(guò)程基本類似。它們訓(xùn)練一系列的模型(列數(shù)為 1 訓(xùn)
練幾個(gè),列數(shù)為 2 訓(xùn)練幾個(gè),等等)。這種方法產(chǎn)生了參數(shù)化的模型族(所有線性回歸以列數(shù)作為參數(shù))。這些模型在復(fù)雜度上存在差異,最后的模型通過(guò)在預(yù)留樣本上計(jì)算錯(cuò)誤進(jìn)行選擇。
屬性已經(jīng)根據(jù)其對(duì)預(yù)測(cè)的重要性進(jìn)行了排序
第一個(gè)元素是第一個(gè)選擇的屬性,第二個(gè)元素是第二個(gè)選擇的屬性,
以此類推。用到的屬性按順序排列。這是機(jī)器學(xué)習(xí)任務(wù)中一個(gè)很重要并且必需的特征。早期機(jī)器學(xué)習(xí)任務(wù)大部分都包括尋找(或者構(gòu)建)用于構(gòu)建預(yù)測(cè)的最佳屬性集。而能夠?qū)傩赃M(jìn)行排序的算法對(duì)于上述任務(wù)非常有幫助。
通過(guò)懲罰回歸系數(shù)來(lái)控制過(guò)擬合——嶺回歸
最佳子集回歸以及前向逐步回歸通過(guò)限制使用的屬性個(gè)數(shù)來(lái)控制回歸的復(fù)雜度。另外一種方法稱作懲罰系數(shù)回歸。懲罰系數(shù)回歸是使系數(shù)變小,而不是將其中一些系數(shù)設(shè)為 0。一種懲罰線性回歸的方法被稱作嶺回歸。
前向逐步回歸算法生成了一系列不同的模型,第一個(gè)模型只包含一個(gè)屬性,第
二個(gè)模型包含兩個(gè)屬性,等等,直到最后的模型包含所有屬性。嶺回歸代碼也包含一系列的模型。嶺回歸通過(guò)不同的 α 值來(lái)控制模型數(shù)量,而不是通過(guò)屬性個(gè)數(shù)來(lái)控制。α 參數(shù)決定了對(duì)β的懲罰力度。
小結(jié)
本章首先給出了圍繞問(wèn)題復(fù)雜性以及模型復(fù)雜性的可視化示例,討論了這些因素以及數(shù)據(jù)集大小如何影響給定問(wèn)題的分類性能。接著討論了針對(duì)不同問(wèn)題(回歸、分類以及多分類)度量預(yù)測(cè)性能的多個(gè)評(píng)價(jià)指標(biāo),這些指標(biāo)也是函數(shù)逼近問(wèn)題的一部分。介紹了用于在新數(shù)據(jù)上評(píng)估性能的 2 種方法(在測(cè)試集上評(píng)估以及 n 折交叉驗(yàn)證)、機(jī)器學(xué)習(xí)生成一族參數(shù)化模型的框架,以及如何基于測(cè)試集的性能來(lái)選擇實(shí)際應(yīng)用的模型