機(jī)器學(xué)習(xí)筆記:分類(classification)

-前言:

分類是機(jī)器學(xué)習(xí)非常重要的模塊,也是很基礎(chǔ)的一塊。正是因?yàn)榛A(chǔ)也很重要,反而不知道如何去概括和全面理清,后續(xù)會繼續(xù)來填補(bǔ)這個(gè)坑,之后如果有需到相關(guān)的東西,也會盡量分析。這里只是記錄了一些很基礎(chǔ)的內(nèi)容。歡迎指出不足,一起學(xué)習(xí)。

一、分類問題

常見的分類問題有二分類,多分類問題。同時(shí)多分類問題有分為互斥多分類問題,非互斥多分類問題。

如“房子漲還是跌?”這就是二分類問題;績效評定(S、A、B、C),新聞分類(娛樂類、體育類、財(cái)經(jīng)類)這些都是多分類問題,其中績效評定因?yàn)橹荒苓x擇一個(gè)等級,所以我們稱為互斥類多分類問題。新聞分類中一篇新聞可以有多個(gè)分類,所以我們稱為非互斥類多分類問題,分類問題關(guān)系如圖2-1所示


圖1-1 分類問題關(guān)系

分類問題的不同,我們選取的算法也就不同,所以我們先明確問題的所屬。

二、分類流程

分類過程,如圖2-1所示

圖2-1 分類過程
2.1 提取特征與特征選取

特征提取和特征選擇是DimensionalityReduction(降維)的兩種方法,針對于the curse of dimensionality(維災(zāi)難),都可以達(dá)到降維的目的。但是這兩個(gè)有所不同。如圖2-2

圖 2-2 特征提取與特征選擇

a) 特征提?。‵eature Extraction):特征抽取后的新特征是原來特征的一個(gè)映射。

b) 特征選擇(Feature Selection):特征選擇后的特征是原來特征的一個(gè)子集。

c) 特征提取是站在一個(gè)更高的角度去看問題,從中找到問題的本質(zhì),用更通俗的方式來表達(dá)這個(gè)問題和理論,這個(gè)就是特征提取要做的事情。

d) 如果只是想對現(xiàn)有的問題的觀點(diǎn)和描述“取其精華,去其糟粕”,這個(gè)是所謂特征選擇。只是對現(xiàn)有進(jìn)行篩選。

e) 特征提取和特征選擇統(tǒng)稱為降維。

2.2 模型訓(xùn)練過程
2.2.1 劃分?jǐn)?shù)據(jù)

模型訓(xùn)練之前通常將數(shù)據(jù)分為三部分,訓(xùn)練集(training set)、測試集(test set)、驗(yàn)證集(validation set)
training set用來訓(xùn)練模型, validation set用來統(tǒng)計(jì)單一評估指標(biāo),調(diào)節(jié)參數(shù), 選擇算法。 test set 則用來在最后整體評估模型的性能。

2.2.2 數(shù)據(jù)劃分

(1)留出法

  • 把數(shù)據(jù)集分成互不相交的兩部分,一部分是訓(xùn)練集,一部分是測試集。

  • 保持?jǐn)?shù)據(jù)分布大致一致,類似分層抽樣

  • 訓(xùn)練集數(shù)據(jù)的數(shù)量應(yīng)占2/3到4/5

  • 為了保證隨機(jī)性,將數(shù)據(jù)集多次隨機(jī)劃分為訓(xùn)練集和測試集,然后在對多次劃分結(jié)果取平均。

(2)交叉驗(yàn)證法

  • 將數(shù)據(jù)集隨機(jī)分為互斥的k個(gè)子集,為保證隨機(jī)性,P次隨機(jī)劃分取平均。

  • 將k個(gè)子集隨機(jī)分為k-1個(gè)一組剩下一個(gè)為另一組,有k種分法。

  • 將每一種分組結(jié)果中,k-1個(gè)子集的組當(dāng)做訓(xùn)練集,另外一個(gè)當(dāng)做測試集,這樣就產(chǎn)生了k次預(yù)測,對其取平均

  • 稱為p次k折交叉驗(yàn)證,一般取k=10

(3)自助法

  • 適用于樣本量較小,難以劃分時(shí)。換句話說,樣本量足夠時(shí),用自助法并不如留出法和交叉驗(yàn)證法,因其無法滿足數(shù)據(jù)分布一致。

  • 每次隨機(jī)從數(shù)據(jù)集(有m個(gè)樣本)抽取一個(gè)樣本,然后再放回(也就是說可能被重復(fù)抽出),m次后得到有m個(gè)樣本的數(shù)據(jù)集,將其作為訓(xùn)練集

  • 始終不被抽取到的樣本的比例:

  • 也就是說這保證了訓(xùn)練集樣本數(shù)(不重復(fù))在2/3左右

注意:

將數(shù)據(jù)集劃分訓(xùn)練集和測試集是為了選定一個(gè)相對好的模型,當(dāng)模型選定以后,訓(xùn)練數(shù)據(jù)仍是整個(gè)數(shù)據(jù)集。

實(shí)際應(yīng)用中,一般只將數(shù)據(jù)集分成兩類,即訓(xùn)練集Training set 和測試集Test set

2.2.3 模型訓(xùn)練

訓(xùn)練集很好理解是用來訓(xùn)練模型,驗(yàn)證集的作用是為了當(dāng)作評估算法的單一的評估指標(biāo),訓(xùn)練后的模型使用驗(yàn)證集,通過評估(AUC)得到訓(xùn)練效果。我們通過training set 與validation set 結(jié)果對比,來調(diào)節(jié)算法參數(shù)。比如訓(xùn)練集AUC結(jié)果遠(yuǎn)大于驗(yàn)證集AUC,那么發(fā)生了過擬合的問題,我們可能需要減少訓(xùn)練迭代次數(shù)或通過設(shè)置L2正則這種方式來解決。如果訓(xùn)練集與驗(yàn)證集得到AUC都很低,我們可能需要增加迭代次數(shù)或者調(diào)節(jié)算法參數(shù)來解決。

當(dāng)測試集訓(xùn)練后,驗(yàn)證集評估得到不錯的效果后,測試集將進(jìn)一步驗(yàn)證效果,

雖然驗(yàn)證集與測試集都是用來評估,但是兩者的區(qū)別是:1、training set和validation set一邊訓(xùn)練模型一邊驗(yàn)證,相比測試集節(jié)省了大量時(shí)間; 2、validation set評估是單一的評估指標(biāo),而test set評估會更多,有ROC,召回,精準(zhǔn),F(xiàn)1 Scroe等,可以幫助我們從多個(gè)維度去評估模型。模型訓(xùn)練過程如圖2-3所示


2-3 模型訓(xùn)練過程
小結(jié):

我們用training set做訓(xùn)練, validation set來初步評估結(jié)果,這么做的優(yōu)點(diǎn)是validation set跟隨training set一起被輸入到模型算法中,但又不參與模型訓(xùn)練,只是用來快速評估AUC的。在調(diào)參階段我們會不停的改變參數(shù)值來調(diào)整模型,而validation set就能幫助我們快速的查看結(jié)果。test set的作用并不是快速查看結(jié)果的,它提供一個(gè)模型的完整評估報(bào)告,但操作相較單一的validation set而言,更多更費(fèi)時(shí)。所以我們一般在validation set上把參數(shù)調(diào)整的差不多后,才會使用到test set。

2.3 分類算法

常見的幾種分類算法:K近鄰、樸素貝葉斯、決策樹、Logistic回歸、支持向量機(jī),介紹如圖2-4所示


圖2-4 常見的分類算法

結(jié)語:

后面我會更詳細(xì)的來介紹這些算法的特點(diǎn),都是自己平時(shí)遇到記錄的內(nèi)容,難免會出錯,歡迎一起學(xué)習(xí)討論機(jī)器學(xué)習(xí)算法。如果發(fā)現(xiàn)這一章還有哪些問題,或沒有講清楚的,歡迎留言。我會繼續(xù)跟進(jìn)填坑。感謝^ ^!

如果您喜歡我的文章,請關(guān)注或點(diǎn)擊喜歡,您的支持是我最大的動力 ^ ^~!
歡迎指出問題,一起討論,共同進(jìn)步
轉(zhuǎn)載請注明作者及其出處

黑羊的皇冠 簡書主頁

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容