干貨|機器學(xué)習(xí)超全總結(jié)!

2 評論 10194 瀏覽 74 收藏 15 分鐘

本篇文章非常全面地給大家總結(jié)了有關(guān)機器學(xué)習(xí)的相關(guān)知識,滿滿的干貨,請查收!

時光飛逝,學(xué)習(xí)機器學(xué)習(xí)已四年有余,深感機器學(xué)習(xí)之博大精深,可能不斷學(xué)習(xí)數(shù)十年也無法窮盡。但從另一方面考慮,我也學(xué)了很多,也有一些自己的感悟。

本文謹代表我個人的觀點和感悟,希望對大家(尤其是初學(xué)者)有所幫助,歡迎大家一起討論與學(xué)習(xí)~

本文的目錄如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

一、綜述

1.1 機器學(xué)習(xí)是什么

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

1.2 機器學(xué)習(xí)的過程

干貨|機器學(xué)習(xí)超全總結(jié)!

1.3?監(jiān)督學(xué)習(xí)VS無監(jiān)督學(xué)習(xí)

根據(jù)訓(xùn)練數(shù)據(jù)是否有標記,機器學(xué)習(xí)任務(wù)大致分為兩大類:監(jiān)督學(xué)習(xí)非監(jiān)督學(xué)習(xí),監(jiān)督學(xué)習(xí)主要包括分類和回歸等,非監(jiān)督學(xué)習(xí)主要包括聚類和頻繁項集挖掘等。

監(jiān)督學(xué)習(xí)的過程如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

無監(jiān)督學(xué)習(xí)的過程如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

監(jiān)督學(xué)習(xí)算法VS無監(jiān)督學(xué)習(xí)算法:

干貨|機器學(xué)習(xí)超全總結(jié)!

1.4 輸入空間、特征空間、輸出空間、假設(shè)空間

  • 輸入空間:在監(jiān)督學(xué)習(xí)中,將輸入所有可能取值的集合稱為輸入空間。
  • 特征空間:每個具體輸入是一實例,通常用特征向量表示,所有特征向量存在的空間為特征空間。有時輸入空間和特征空間為相同的空間,有時為不同的空間,需要將實例從輸入空間映射到輸出空間。
  • 輸出空間:在監(jiān)督學(xué)習(xí)中,將輸出所有可能取值的集合稱為輸出空間。
  • 假設(shè)空間:監(jiān)督學(xué)習(xí)的目的在于學(xué)習(xí)一個由輸入到輸出的映射,這一映射由模型來表示。由輸入空間到輸出空間的映射的集合,稱為假設(shè)空間。舉個簡單的例子,在一元線性回歸中,假設(shè)空間即所有的直線y=ax+b組成的集合,我們的目標就是找到一條y=a’x+b’,使得損失最小。

1.5 生成模型和判別模型

  • 生成模型:生成模型由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率分布P(X,Y),然后求出條件概率分布P(Y|X)作為預(yù)測的模型。之所以被稱為生成方法,是因為模型表示了給定輸入X產(chǎn)生輸出Y的關(guān)系。典型的模型有樸素貝葉斯(NB)隱馬爾可夫模型(HMM)等。
  • 判別模型:判別模型由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)f(X),或條件概率分布P(Y|X)。判別方法關(guān)心的是對給定的輸入X,應(yīng)預(yù)測什么樣的輸出Y。

典型的判別模型包括k近鄰算法(KNN)、決策樹(DT)、邏輯回歸(LR)、支持向量機(SVM)等。

1.6 過擬合VS欠擬合

干貨|機器學(xué)習(xí)超全總結(jié)!

  • 解決過擬合:重新清洗數(shù)據(jù)、增大樣本量、減少特征的量、增強正則化作用、dropout(適用于神經(jīng)網(wǎng)絡(luò))等。
  • 解決欠擬合:使用更復(fù)雜的模型、更有效的特征選擇、減少正則化作用等。

1.7 特征選擇

特征選擇對機器學(xué)習(xí)至關(guān)重要,個人認為在大部分機器學(xué)習(xí)任務(wù)中特征就決定了效果的上限,模型的選擇與組合只是無限逼近于這個上限。

特征選擇的主要作用包括:減少特征數(shù)量會防止維度災(zāi)難,減少訓(xùn)練時間;增強模型泛化能力,減少過擬合;增強對特征和特征值的理解。

常見的特征選擇方法如下:

  • 去除取值變化小的特征:如果絕大部分實例的某個特征取值一樣,那這個特征起到的作用可能就比較有限,極端情況下如果所有實例的某特征取值都一樣,那該特征基本就不起作用。
  • 單變量特征選擇法:能夠?qū)γ恳粋€特征進行測試,衡量該特征和響應(yīng)變量之間的關(guān)系,根據(jù)得分扔掉不好的特征。常見方法包括卡法檢驗、互信息、皮爾森相關(guān)系數(shù)、距離相關(guān)系數(shù)、基于學(xué)習(xí)模型的特征排序(Model based ranking)等。

正則化:L1正則化、L2正則化。

隨機森林特征選擇:這類方法主要包括平均不純度減少(mean decrease impurity)和平均精確率減少(Mean decrease accuracy)兩種方法。

頂層特征選擇法:這類方法主要包括穩(wěn)定性選擇(Stability selection)和遞歸特征消除(Recursive feature elimination)兩種方法。

1.8?方差vs偏差

干貨|機器學(xué)習(xí)超全總結(jié)!

偏差描述的是算法預(yù)測的平均值和真實值的差距(算法的擬合能力),低偏差對應(yīng)于模型復(fù)雜化,但模型過于復(fù)雜容易過擬合。

而方差描述的是同一個算法在不同數(shù)據(jù)集上的預(yù)測值和所有數(shù)據(jù)集上的平均預(yù)測值之間的關(guān)系(算法的穩(wěn)定性),低方差對應(yīng)于模型簡單化,但模型過于簡單容易欠擬合。

高偏差(一般是欠擬合,注意跟上面低偏差時模型復(fù)雜化做區(qū)別)是模型在訓(xùn)練集和驗證集上的誤差都比較大,隨著數(shù)據(jù)集的增加,模型在訓(xùn)練集和驗證集上的誤差表現(xiàn)如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

解決高偏差的方法:使用更多特征,增加多項式特征,減少正則化程度λ。

高方差是針對不同的訓(xùn)練集,其擬合得到的參數(shù)相差很大(一般是過擬合,注意跟上面低方差時模型簡單化做區(qū)別)。隨著數(shù)據(jù)集的增加,模型在訓(xùn)練集和驗證集上的誤差表現(xiàn)如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

解決高偏差的方法:增加訓(xùn)練樣本,減少特征數(shù)量,增加正則化程度λ

二、機器學(xué)習(xí)任務(wù)分類

2.1 按學(xué)習(xí)方式分類

干貨|機器學(xué)習(xí)超全總結(jié)!

2.2 按算法思想分類

干貨|機器學(xué)習(xí)超全總結(jié)!

三、損失函數(shù)

損失函數(shù)用來評價模型的預(yù)測值和真實值不一樣的程度,損失函數(shù)越好,通常模型的性能越好。不同的模型用的損失函數(shù)一般也不一樣。

損失函數(shù)分為經(jīng)驗風(fēng)險損失函數(shù)和結(jié)構(gòu)風(fēng)險損失函數(shù)。經(jīng)驗風(fēng)險損失函數(shù)指預(yù)測結(jié)果和實際結(jié)果的差別,結(jié)構(gòu)風(fēng)險損失函數(shù)是指經(jīng)驗風(fēng)險損失函數(shù)加上正則項。

通常表示為如下:

3.1 0-1損失函數(shù)

0-1損失是指預(yù)測值和目標值不相等為1,否則為0:

干貨|機器學(xué)習(xí)超全總結(jié)!

3.2 絕對值損失函數(shù)

絕對值損失函數(shù)是計算預(yù)測值與目標值的差的絕對值:

干貨|機器學(xué)習(xí)超全總結(jié)!

3.3 log對數(shù)損失函數(shù)

log損失函數(shù)的標準形式如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

3.4 平方損失函數(shù)

平方損失函數(shù)經(jīng)常應(yīng)用于回歸問題,它的標準形式如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

3.5 指數(shù)損失函數(shù)

指數(shù)損失函數(shù)的標準形式如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

3.6 Hinge損失函數(shù)

Hinge損失函數(shù)標準形式如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

損失函數(shù)的選擇,對一般機器學(xué)習(xí)任務(wù)非常重要。很多任務(wù)就是難在不太容易確定一個比較好的損失函數(shù)。

干貨|機器學(xué)習(xí)超全總結(jié)!

四、監(jiān)督學(xué)習(xí)

4.1 監(jiān)督學(xué)習(xí)的任務(wù)分類

常見監(jiān)督學(xué)習(xí)任務(wù)的分類以及他們之間的對比如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

4.2 監(jiān)督學(xué)習(xí)算法

監(jiān)督學(xué)習(xí)的算法非常多,后續(xù)也會有選擇的分享我對一些常見算法的感悟。常見的監(jiān)督學(xué)習(xí)算法具體如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

4.3 監(jiān)督學(xué)習(xí)的評估

監(jiān)督學(xué)習(xí)的效果評估如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

五、無監(jiān)督學(xué)習(xí)

5.1 無監(jiān)督學(xué)習(xí)的任務(wù)分類

常見的無監(jiān)督學(xué)習(xí)的任務(wù)分類如下:

干貨|機器學(xué)習(xí)超全總結(jié)!

5.2 聚類

無監(jiān)督學(xué)習(xí)——聚類:

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

5.3 推薦

無監(jiān)督學(xué)習(xí)——推薦:

干貨|機器學(xué)習(xí)超全總結(jié)!

5.4 頻繁項集挖掘

無監(jiān)督學(xué)習(xí)——頻繁項集挖掘:

干貨|機器學(xué)習(xí)超全總結(jié)!

六、總結(jié)與思考

6.1總結(jié)

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

干貨|機器學(xué)習(xí)超全總結(jié)!

6.2 思考

干貨|機器學(xué)習(xí)超全總結(jié)!

后續(xù)我會專注于NLP(自然語言處理)、ML(機器學(xué)習(xí))、DL(深度學(xué)習(xí))、RL(強化學(xué)習(xí))、TL(遷移學(xué)習(xí))、GAN(生成對抗網(wǎng)絡(luò))等領(lǐng)域?qū)懸粚憘€人的感悟,志在為大家提供實用的干貨。

期待您的關(guān)注,您的鼓勵就是我不斷寫下去的動力,更期待有志同道合的朋友能加入一起寫一寫。予人玫瑰,手留余香!

 

作者:滄笙踏歌,公眾號:AI部落聯(lián)盟(ID:AI_Tribe)

來源:https://mp.weixin.qq.com/s/NN3lHVs2O0Uj8Yd0s4UPGw

本文由 @AI部落聯(lián)盟 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 很好

    來自四川 回復(fù)
  2. 閣下是AI攻城獅么?如果能有python的教程更好了

    來自浙江 回復(fù)