机器学习模型 知乎_机器学习-模型选择与评价
交叉驗(yàn)證
首先選擇模型最簡(jiǎn)單的方法就是,利用每一種機(jī)器學(xué)習(xí)算法(邏輯回歸、SVM、線性回歸等)計(jì)算訓(xùn)練集的損失值,然后選擇其中損失值最小的模型,但是這樣是不合理的,因?yàn)楫?dāng)訓(xùn)練集不夠、特征過多時(shí)容易過擬合,那么訓(xùn)練集的損失值就會(huì)不斷變小,但是此時(shí)針對(duì)測(cè)試集可能損失值很高,所以訓(xùn)練集上的損失值是無法衡量模型的好壞的。
我們的辦法就是增加交叉驗(yàn)證集,即將所有數(shù)據(jù)分為三部分:訓(xùn)練集、交叉驗(yàn)證集和測(cè)試集。交叉驗(yàn)證集不僅在選擇模型時(shí)有用,在超參數(shù)選擇、正則項(xiàng)參數(shù)
和評(píng)價(jià)模型中也很有用。
簡(jiǎn)單交叉驗(yàn)證利用訓(xùn)練集訓(xùn)練模型
利用交叉驗(yàn)證集在每一種模型上測(cè)試并計(jì)算損失值
選擇損失值最小的模型
但是簡(jiǎn)單交叉驗(yàn)證存在一個(gè)問題,就是因?yàn)樵黾恿蓑?yàn)證集后,導(dǎo)致訓(xùn)練集的數(shù)據(jù)更少了,這樣模型可能無法更好地的體現(xiàn)整體數(shù)據(jù),所以提出以下交叉驗(yàn)證的方法。
k-折疊交叉驗(yàn)證假設(shè)訓(xùn)練集為
,將訓(xùn)練集等分為
份:
然后每次從集合中拿出
份進(jìn)行訓(xùn)練
利用集合中剩下的那一份來進(jìn)行測(cè)試并計(jì)算損失值
最后得到
次測(cè)試得到的損失值,并選擇平均損失值最小的模型
Bias與Variance,欠擬合與過擬合
如下圖,針對(duì)同一組數(shù)據(jù)的三種模型,可以看出來中間的模型可以更好的表現(xiàn)數(shù)據(jù),其中左邊的模型一般稱為欠擬合,右邊的模型稱為過擬合。
欠擬合一般表示模型對(duì)數(shù)據(jù)的表現(xiàn)能力不足,通常是模型的復(fù)雜度不夠,并且Bias高,訓(xùn)練集的損失值高,測(cè)試集的損失值也高。
過擬合一般表示模型對(duì)數(shù)據(jù)的表現(xiàn)能力過好,通常是模型的復(fù)雜度過高,并且Variance高,訓(xùn)練集的損失值低,測(cè)試集的損失值高。
具體如下圖所示:
針對(duì)Bias于Variance,有多種解釋方法。
第一種:
一般用下面兩張圖表示:
Bias描述的是模型與數(shù)據(jù)表現(xiàn)的真實(shí)情況的差別,Variance描述的是我們的假設(shè)與最好的假設(shè)之間的差別。
第二種:Bias是表明模型在整體數(shù)據(jù)上表現(xiàn),不在乎其中某一個(gè)樣本的正確與否
對(duì)于Variance,一個(gè)樣本的變動(dòng)會(huì)給整個(gè)模型帶來很大的影響,是模型抗樣本干擾能力有多強(qiáng)
如下圖所示:
高Bias的模型,單個(gè)樣本對(duì)模型影響不大。
高Variance的模型,一個(gè)樣本的變化可以改變整個(gè)模型。
第三種:
解決方法
針對(duì)機(jī)器學(xué)習(xí)模型,在效果不佳時(shí)可以有如下解決辦法:增加訓(xùn)練樣本----解決高Variance情況
減少特征維數(shù)----解決高Variance情況
增加特征維數(shù)----解決高Bias情況
增加模型復(fù)雜度----解決高Bias情況
減小模型復(fù)雜度----解決高Variance情況
針對(duì)過擬合的情況,我們可以采取上述中的1、2、5的方法,除此之外,我們還可以在損失函數(shù)中增加正則項(xiàng)(L0、L1、L2范數(shù))來解決過擬合的問題。
一般監(jiān)督學(xué)習(xí)可以看做最小化下面目標(biāo)函數(shù):
其中
函數(shù)為損失函數(shù),
就是規(guī)則化函數(shù),也可以叫做正則項(xiàng)。我們?cè)黾诱齽t項(xiàng)的主要原因是為了讓
更稀疏,使模型不容易過擬合(后面會(huì)詳細(xì)解釋)。
函數(shù)具體可以有很多種選擇,常見的有L0范數(shù)、L1范數(shù)、L2范數(shù)等。其中:L0范數(shù)是向量中非零元素的個(gè)數(shù)
L1范數(shù)是向量中各個(gè)元素絕對(duì)值之和,
L2范數(shù)是向量的模,
其中L0范數(shù)由于不好實(shí)現(xiàn),所以一般不采用。
針對(duì)L1范數(shù),它能實(shí)現(xiàn)特征的自動(dòng)選擇,一般來說,
的大部分元素(也就是特征)都是和最終的輸出
沒有關(guān)系或者不提供任何信息的,在最小化目標(biāo)函數(shù)的時(shí)候考慮
這些額外的特征,雖然可以獲得更小的訓(xùn)練誤差,但在預(yù)測(cè)新的樣本時(shí),會(huì)干擾了對(duì)正確
的預(yù)測(cè)。稀疏規(guī)則化算子就是為了完成特征自動(dòng)選擇,它會(huì)自己學(xué)習(xí)去掉這些沒有信息的特征,也就是把這些特征對(duì)應(yīng)的權(quán)重置為0。
針對(duì)L2范數(shù),與L1范數(shù)的區(qū)別是不會(huì)將權(quán)重置為0,而會(huì)是一個(gè)很小的數(shù),這樣可以通過
來控制模型擬合程度,如下圖所示
針對(duì)正則項(xiàng),我們還可以有如下理解(來自知乎問題機(jī)器學(xué)習(xí)中常常提到的正則化到底是什么意思? @陶輕松的回答 ):將函數(shù)
泰勒展開,
當(dāng)n很大的時(shí)候,特征就越多,模型就越復(fù)雜,越容易過擬合。
因?yàn)?/p>
是我們學(xué)習(xí)到的,所以我們要做的就是改變
的大小減少特征維數(shù),降低模型復(fù)雜度,也是讓一部分
趨近于0。
所以在目標(biāo)函數(shù)中加入正則項(xiàng),利用L0、L1、L2范數(shù)來改變
。
參考
總結(jié)
以上是生活随笔為你收集整理的机器学习模型 知乎_机器学习-模型选择与评价的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios 销毁当前页面重新开启_问:如何强
- 下一篇: jq取第一个子元素为select_【转】