<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給qqfly
      發送

      1

      機器學習中用來防止過擬合的方法有哪些?

      本文作者: qqfly 編輯:賈智龍 2017-05-16 15:48
      導語:給《機器視覺與應用》課程出大作業的時候,正好涉及到這方面內容,所以簡單整理了一下(參考 Hinton 的課程)。

      雷鋒網按:本文作者 qqfly,上海交通大學機器人所博士生,本科畢業于清華大學機械工程系,主要研究方向機器視覺與運動規劃,會寫一些好玩的內容在微信公眾號:Nao(ID:qRobotics)。本文整理自知乎回答:機器學習中用來防止過擬合的方法有哪些?

      給《機器視覺與應用》課程出大作業的時候,正好涉及到這方面內容,所以簡單整理了一下(參考 Hinton 的課程)。按照之前的套路寫:

      是什么

      過擬合(overfitting)是指在模型參數擬合過程中的問題,由于訓練數據包含抽樣誤差,訓練時,復雜的模型將抽樣誤差也考慮在內,將抽樣誤差也進行了很好的擬合。

      具體表現就是最終模型在訓練集上效果好;在測試集上效果差。模型泛化能力弱。

      機器學習中用來防止過擬合的方法有哪些?

      為什么

      為什么要解決過擬合現象?這是因為我們擬合的模型一般是用來預測未知的結果(不在訓練集內),過擬合雖然在訓練集上效果好,但是在實際使用時(測試集)效果差。同時,在很多問題上,我們無法窮盡所有狀態,不可能將所有情況都包含在訓練集上。所以,必須要解決過擬合問題。

      為什么在機器學習中比較常見?這是因為機器學習算法為了滿足盡可能復雜的任務,其模型的擬合能力一般遠遠高于問題復雜度,也就是說,機器學習算法有「擬合出正確規則的前提下,進一步擬合噪聲」的能力。

      而傳統的函數擬合問題(如機器人系統辨識),一般都是通過經驗、物理、數學等推導出一個含參模型,模型復雜度確定了,只需要調整個別參數即可。模型「無多余能力」擬合噪聲。

      怎么樣

      既然過擬合這么討厭,我們應該怎么防止過擬合呢?最近深度學習比較火,我就以神經網絡為例吧:

      機器學習中用來防止過擬合的方法有哪些?

      1. 獲取更多數據

      這是解決過擬合最有效的方法,只要給足夠多的數據,讓模型「看見」盡可能多的「例外情況」,它就會不斷修正自己,從而得到更好的結果:

      機器學習中用來防止過擬合的方法有哪些?

      如何獲取更多數據,可以有以下幾個方法:

      • 從數據源頭獲取更多數據:這個是容易想到的,例如物體分類,我就再多拍幾張照片好了;但是,在很多情況下,大幅增加數據本身就不容易;另外,我們不清楚獲取多少數據才算夠;

      • 根據當前數據集估計數據分布參數,使用該分布產生更多數據:這個一般不用,因為估計分布參數的過程也會代入抽樣誤差。

      • 數據增強(Data Augmentation):通過一定規則擴充數據。如在物體分類問題里,物體在圖像中的位置、姿態、尺度,整體圖片明暗度等都不會影響分類結果。我們就可以通過圖像平移、翻轉、縮放、切割等手段將數據庫成倍擴充;

      機器學習中用來防止過擬合的方法有哪些?

      2. 使用合適的模型

      前面說了,過擬合主要是有兩個原因造成的:數據太少 + 模型太復雜。所以,我們可以通過使用合適復雜度的模型來防止過擬合問題,讓其足夠擬合真正的規則,同時又不至于擬合太多抽樣誤差。

      (PS:如果能通過物理、數學建模,確定模型復雜度,這是最好的方法,這也就是為什么深度學習這么火的現在,我還堅持說初學者要學掌握傳統的建模方法。)

      對于神經網絡而言,我們可以從以下四個方面來限制網絡能力

      2.1 網絡結構 Architecture

      這個很好理解,減少網絡的層數、神經元個數等均可以限制網絡的擬合能力;

      機器學習中用來防止過擬合的方法有哪些?

      2.2 訓練時間 Early stopping

      對于每個神經元而言,其激活函數在不同區間的性能是不同的:

      機器學習中用來防止過擬合的方法有哪些?

      當網絡權值較小時,神經元的激活函數工作在線性區,此時神經元的擬合能力較弱(類似線性神經元)。

      有了上述共識之后,我們就可以解釋為什么限制訓練時間(early stopping)有用:因為我們在初始化網絡的時候一般都是初始為較小的權值。訓練時間越長,部分網絡權值可能越大。如果我們在合適時間停止訓練,就可以將網絡的能力限制在一定范圍內。

      2.3 限制權值 Weight-decay,也叫正則化(regularization)

      原理同上,但是這類方法直接將權值的大小加入到 Cost 里,在訓練的時候限制權值變大。以 L2 regularization 為例:

      機器學習中用來防止過擬合的方法有哪些?

      訓練過程需要降低整體的 Cost,這時候,一方面能降低實際輸出與樣本之間的誤差C0,也能降低權值大小。

      2.4 增加噪聲 Noise

      給網絡加噪聲也有很多方法:

      2.4.1 在輸入中加噪聲:

      噪聲會隨著網絡傳播,按照權值的平方放大,并傳播到輸出層,對誤差 Cost 產生影響。推導直接看 Hinton 的 PPT 吧:

      機器學習中用來防止過擬合的方法有哪些?

      在輸入中加高斯噪聲,會在輸出中生成機器學習中用來防止過擬合的方法有哪些?的干擾項。訓練時,減小誤差,同時也會對噪聲產生的干擾項進行懲罰,達到減小權值的平方的目的,達到與 L2 regularization 類似的效果(對比公式)。

      2.4.2 在權值上加噪聲

      在初始化網絡的時候,用 0 均值的高斯分布作為初始化。Alex Graves 的手寫識別 RNN 就是用了這個方法

      Graves, Alex, et al. "A novel connectionist system for unconstrained handwriting recognition." IEEE transactions on pattern analysis and machine intelligence 31.5 (2009): 855-868.

      - It may work better, especially in recurrent networks (Hinton)

      2.4.3 對網絡的響應加噪聲

      如在前向傳播過程中,讓默寫神經元的輸出變為 binary 或 random。顯然,這種有點亂來的做法會打亂網絡的訓練過程,讓訓練更慢,但據 Hinton 說,在測試集上效果會有顯著提升 (But it does significantly better on the test set!)。

      3. 結合多種模型

      簡而言之,訓練多個模型,以每個模型的平均輸出作為結果。

      從 N 個模型里隨機選擇一個作為輸出的期望誤差機器學習中用來防止過擬合的方法有哪些?,會比所有模型的平均輸出的誤差機器學習中用來防止過擬合的方法有哪些?(我不知道公式里的圓括號為什么顯示不了)

      機器學習中用來防止過擬合的方法有哪些?

      大概基于這個原理,就可以有很多方法了:

      3.1  Bagging

      簡單理解,就是分段函數的概念:用不同的模型擬合不同部分的訓練集。以隨機森林(Rand Forests)為例,就是訓練了一堆互不關聯的決策樹。但由于訓練神經網絡本身就需要耗費較多自由,所以一般不單獨使用神經網絡做 Bagging。

      3.2 Boosting

      既然訓練復雜神經網絡比較慢,那我們就可以只使用簡單的神經網絡(層數、神經元數限制等)。通過訓練一系列簡單的神經網絡,加權平均其輸出。

      機器學習中用來防止過擬合的方法有哪些?

      3.3 Dropout

      這是一個很高效的方法。

      機器學習中用來防止過擬合的方法有哪些?

      在訓練時,每次隨機(如 50% 概率)忽略隱層的某些節點;這樣,我們相當于隨機從 2^H 個模型中采樣選擇模型;同時,由于每個網絡只見過一個訓練數據(每次都是隨機的新網絡),所以類似 bagging 的做法,這就是我為什么將它分類到「結合多種模型」中;

      此外,而不同模型之間權值共享(共同使用這 H 個神經元的連接權值),相當于一種權值正則方法,實際效果比 L2 regularization 更好。

      4. 貝葉斯方法

      這部分我還沒有想好怎么才能講得清楚,為了不誤導初學者,我就先空著,以后如果想清楚了再更新。當然,這也是防止過擬合的一類重要方法。

      機器學習中用來防止過擬合的方法有哪些?

      綜上:

      機器學習中用來防止過擬合的方法有哪些?



      “TensorFlow & 神經網絡算法高級應用班”開課了!

      最受歡迎的谷歌TensorFlow 框架,ThoughtWorks大牛教你玩轉深度學習!

      課程鏈接:http://www.mooc.ai/course/82

      加入AI慕課學院人工智能學習交流QQ群:624413030,與AI同行一起交流成長



      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

      機器學習中用來防止過擬合的方法有哪些?

      分享:
      相關文章

      專欄作者

      上海交通大學機器人所博士生,本科畢業于清華大學機械工程系,主要研究方向機器視覺與運動規劃,個人微信公眾號:Nao(ID:qRobotics)
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 久久成人 久久鬼色| jizz国产免费观看| 日韩无码毛片| 天堂亚洲国产中文在线| 狠狠v日韩v欧美v| 久久久久成人精品免费播放动漫| 久久er99热精品一区二区| 免青青草免费观看视频在线| 亚洲中文久久久久久精品国产| 浪荡干片网在线观看| 久久无码中文字幕免费影院蜜桃| 天堂俺去俺来也www色官网| 黑人牲交| 亚洲AV无码一区二区三区高潮| 亚洲资源av无码日韩av无码| 香蕉乱码成人久久天堂爱| 欧美成人综合| 固安县| 女人被爽到呻吟gif动态图| 天天躁夜夜躁狠狠综合| 久久精品国产亚洲AⅤ无码| 日韩老无码| 美女丝袜诱惑一区二区三区| 成人国产三级在线播放| 亚洲综合久久一区二区| 午夜免费啪视频在线观看| 国产粗大| 久久亚洲色www成人网址| 在线综合亚洲欧洲综合网站| 97人妻人人揉人人躁人人| 久久丫精品系列| 91熟女视频| 蓬溪县| 国产第一页久久亚洲欧美国产| 欧美三级a做爰在线观看| 国产av一区二区三区日韩| 蜜臀98精品国产免费观看| 黑龙江省| 久久人妻少妇嫩草av| 亚洲中文字幕不卡| 青青草原亚洲|