機器學習面試基礎(chǔ)知識 & 擴展-01

視頻教程的總結(jié)和一些自行補充的內(nèi)容,旨在盡可能的理解其原理。

本文持續(xù)更新地址:https://hellogod.cn: 個人博客機器學習面試基礎(chǔ)知識 & 擴展-01

訓練/開發(fā)/測試集

Tips

  • 訓練/開發(fā)/測試集經(jīng)驗比例 6:3:1
  • 當數(shù)據(jù)量超過百萬時,測試集只需約1w(也就是不需要嚴格按照比例增長)
  • 嚴格保證分層取樣

偏差(Bias)/ 方差(Variance)

在忽略噪聲的情況下,泛化誤差可分解為偏差、方差兩部分。

  • 偏差:度量學習算法的期望預測與真實結(jié)果的偏離程度,也叫擬合能力。
  • 方差:度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數(shù)據(jù)擾動造成的影響。

---摘自《機器學習》,周志華

<center>

</center>

參考:Understanding the Bias-Variance Tradeoff

分類器

Train set error 1% 15% 15% 0.5%
Dev set error 10% 16% 30% 1%
status high variance high bias high bias & high variance low bias & low variance
  • 偏差:模型的預測誤差率(訓練集中的準確率越大,偏差越大)
  • 方差:模型的泛化能力(開發(fā)集中的表現(xiàn)和訓練集的差距大小,差距越大,代表方差越大)

high Bias 意味著模型的分類效果不好,high Variance 意味著模型往往過擬合,不能很好的泛化。

我們通常這樣利用這兩個參數(shù)調(diào)整我們的神經(jīng)網(wǎng)絡,其中部分內(nèi)容會在本文的后面進一步探討。

梯度消失與梯度爆炸

欠擬合和過擬合


<center>簡單分類器示例</center>

上圖從左到右分別是欠擬合、合適的擬合和過擬合三種情況。

過擬合

過擬合是如何產(chǎn)生的?

  • 根本原因:參數(shù)太多,模型復雜度過高,同時數(shù)據(jù)相對較少,或噪聲相對較多。

整個訓練過程其實是模型復雜度和過擬合之間的一個權(quán)衡,如下圖

如何應對過擬合?我之前的一篇譯文提到過:譯文

如何應對過擬合?

結(jié)合前文中提到的偏差和方差,我們有以下經(jīng)驗:

也就是:

  • 增大訓練數(shù)據(jù)量 - 最有效的方案
  • Cross Validation - 數(shù)據(jù)量不足的情況下常用
  • Early Stopping - 提早結(jié)束訓練過程
  • 正則化(regulation)- 主要是L1和L2正則化
  • 采用 Dropout - 隨機將某些神經(jīng)元的權(quán)重初始化為零

Cross Validation

回到交叉驗證,根據(jù)切分的方法不同,交叉驗證分為下面三種:

簡單交叉驗證

所謂的簡單,是和其他交叉驗證方法相對而言的。首先,我們隨機的將樣本數(shù)據(jù)分為兩部分(比如: 70%的訓練集,30%的測試集),然后用訓練集來訓練模型,在測試集上驗證模型及參數(shù)。接著,我們再把樣本打亂,重新選擇訓練集和測試集,繼續(xù)訓練數(shù)據(jù)和檢驗模型。最后我們選擇損失函數(shù)評估最優(yōu)的模型和參數(shù)。

S折交叉驗證

又稱(S-Folder Cross Validation),和第一種方法不同,S折交叉驗證會把樣本數(shù)據(jù)隨機的分成S份,每次隨機的選擇S-1份作為訓練集,剩下的1份做測試集。當這一輪完成后,重新隨機選擇S-1份來訓練數(shù)據(jù)。若干輪(小于S)之后,選擇損失函數(shù)評估最優(yōu)的模型和參數(shù)。

留一交叉驗證

又稱(Leave-one-out Cross Validation),它是第二種情況的特例,此時S等于樣本數(shù)N,這樣對于N個樣本,每次選擇N-1個樣本來訓練數(shù)據(jù),留一個樣本來驗證模型預測的好壞。此方法主要用于樣本量非常少的情況。

早停法(Early Stopping)

為了獲得性能良好的神經(jīng)網(wǎng)絡,網(wǎng)絡定型過程中需要進行許多關(guān)于所用設(shè)置(超參數(shù))的決策。超參數(shù)之一是定型周期(epoch)的數(shù)量:亦即應當完整遍歷數(shù)據(jù)集多少次(一次為一個epoch)如果epoch數(shù)量太少,網(wǎng)絡有可能發(fā)生欠擬合(即對于定型數(shù)據(jù)的學習不夠充分);如果epoch數(shù)量太多,則有可能發(fā)生過擬合(即網(wǎng)絡對定型數(shù)據(jù)中的“噪聲”而非信號擬合)。

早停法背后的原理其實不難理解:

  • 將數(shù)據(jù)分為定型集和測試集

  • 每個epoch結(jié)束后(或每N個epoch后):

    • 用測試集評估網(wǎng)絡性能
    • 如果網(wǎng)絡性能表現(xiàn)優(yōu)于此前最好的模型:保存當前這一epoch的網(wǎng)絡副本
  • 將測試性能最優(yōu)的模型作為最終網(wǎng)絡模型

最優(yōu)模型是在垂直虛線的時間點保存下來的模型,即處理測試集時準確率最高的模型。

其中,停止條件可以是下面這三條

  • 權(quán)重的更新低于某個閾值的時候
  • 預測的錯誤率低于某個閾值
  • 達到預設(shè)一定的迭代次數(shù)

正則化

正則化 是結(jié)構(gòu)風險最小化策略的實現(xiàn),是在經(jīng)驗風險上加一個正則化項(regularizer)或懲罰項(penalty term)
一般來說,監(jiān)督學習可以看做最小化下面的目標函數(shù):


  • 作用: 英文是regulation,字面意思是調(diào)整修正,也就是調(diào)整上圖中出現(xiàn)應對過擬合
  • 常見種類: L0、L1、L2

L0范數(shù)

L0范數(shù)表示向量中所有非零元素的個數(shù)

定義:


L1范數(shù)

L2范數(shù)

定義:L2范數(shù)是指向量各元素的平方和然后求平方根。我們讓L2范數(shù)的規(guī)則項||W||2最小,可以使得W的每個元素都很小,都接近于0,但與L1范數(shù)不同,它不會讓它等于0,而是接近于0。

  • L2范數(shù)如何減少過擬合?

使部分神經(jīng)節(jié)點w的權(quán)重降低為零,從而簡化網(wǎng)絡,將上圖中圖3中轉(zhuǎn)換為圖1,結(jié)果是variance降低,bias增加。

L1 / L2范式的區(qū)別

下降速度

模型空間的限制

視頻講解: 2:30

優(yōu)化問題:把 w 的解限制在黃色區(qū)域內(nèi),同時使得經(jīng)驗損失盡可能小。

這也導致L2相對較為穩(wěn)定,L1可以產(chǎn)生更多稀疏解。

Dropout

Dropout是指在模型訓練時隨機讓網(wǎng)絡某些隱含層節(jié)點的權(quán)重不工作,不工作的那些節(jié)點可以暫時認為不是網(wǎng)絡結(jié)構(gòu)的一部分,但是它的權(quán)重得保留下來(只是暫時不更新而已),因為下次樣本輸入時它可能又得工作了。

Experiment in Keras

基于 CIFAR-10 dataset 的實驗
結(jié)果演示:


分析:dropout等于0.2的時候效果最佳
代碼:Github

示例演示

代碼演示

100代碼的簡單神經(jīng)網(wǎng)絡代碼:pycharm
關(guān)于激活函數(shù)作用的直觀解釋:知乎回答:異或

可視化演示

鏈接:TensorFlow

參考資料

  1. https://www.zhihu.com/question/20924039
  2. http://blog.csdn.net/zouxy09/article/details/24971995
  3. https://liam0205.me/2017/03/25/bias-variance-tradeoff/
  4. http://scott.fortmann-roe.com/docs/BiasVariance.html
  5. 正則化方法:L1和L2 regularization、數(shù)據(jù)集擴增、dropout
  6. https://www.zhihu.com/question/26898675
  7. http://www.cnblogs.com/pinard/p/5992719.html
  8. 梯度消失和梯度爆炸

本文持續(xù)更新地址:個人博客機器學習面試基礎(chǔ)知識 & 擴展-01

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

相關(guān)閱讀更多精彩內(nèi)容

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