機器學習07應用機器學習的建議


決定下一步做什么(Deciding What to Try Next)

確保在設計機器學習系統時,能夠選擇一條最合適、最正確的道路。

具體來講,將重點關注的問題是:假如你在開發一個機器學習系統,或者想試著改進一個機器學習系統的性能。

你應如何決定接下來應該選擇哪條道路?

1.?獲得更多的訓練實例——通常有效,但代價較大,下面的方法也可能有效,可
考慮先采用下面的幾種方法。?
2.?嘗試減少特征的數量?
3.?嘗試獲得更多的特征?
4.?嘗試增加多項式特征?
5.?嘗試減少歸一化程度 λ?
6.?嘗試增加歸一化程度 λ ?


不應該隨機選擇上面的某種方法來改進算法

而是運用一些機器學習診斷法來幫助我們知道上面哪些方法對算法是有效的。?


——————————————————————————————————————


評估學習器性能:

將數據分成訓練集和測試集, 通常70%作為訓練集, 30%作為測試集。



—————————————————————————————————————————————————————————


模型選擇和交叉驗證集(Model Selection and Train_Validation_Test Sets)



使用交叉驗證集來幫助選擇模型。?
即:使用 60%作為訓練集, 20%作為交叉驗證集,20%作為測試集 。

模型選擇的方法為:?

1.?使用訓練集訓練出 10 個模型?

2.?用 10 個模型分別對交叉驗證集計算得出交叉驗證誤差(代價函數的值)?

3.?選取代價函數值最小的模型?

4.?用步驟 3 中選出的模型對測試集計算得出泛化誤差(代價函數的值)——僅是為了得出泛化誤差,此步對模型選擇無用。



—————————————————————————————————————————————————————————


偏差/方差診斷(?Diagnosing Bias vs. Variance)

偏差大,欠擬合;

方差大,過擬合。

是一個很有效的指示器,指引可以改進算法的方法和途徑。

?

結論:

交叉驗證集誤差訓練集誤差近似時:偏差/欠擬合 ;

交叉驗證集誤差遠大于訓練集誤差時:方差/過擬合。


—————————————————————————————————————————————————————————


正則化和偏差/方差(Regularization and Bias_Variance)

在訓練模型的過程中, 一般會使用一些正則化方法來防止過擬合。



選擇一系列的想要測試的 λ 值,通常是 0-10 之間的呈現 2 倍關系的值。

(如:0,0.01,0.02,0.04,0.08,0.15,0.32,0.64,1.28,2.56,5.12,10 共 12 個)。?

我們同樣把數據分為訓練集、交叉驗證集和測試集。


選擇 λ 的方法為:?
1.?使用訓練集訓練出 12 個不同程度歸一化的模型;?

2.?用12個?模型分別對交叉驗證集計算的出交叉驗證誤差;?

3.?選擇得出交叉驗證誤差最小的模型;?

4.?運用步驟 3 中選出模型對測試集計算得出泛化誤差。——僅是為了得出泛化誤差,此步對模型選擇無用。



結論:

當 λ 較小時,訓練誤差較小(過擬合)而交叉驗證誤差較大 ;

隨著 λ 的增加,訓練誤差不斷增加(欠擬合),而交叉驗證誤差則是先減小后增加 。


—————————————————————————————————————————————————————————


學習曲線(Learning Curves)

經常使用學習曲線來判斷某一個學習算法是否處于偏差、方差問題。

學習曲線是學習算法的一個很好的合理檢驗(sanity check)。

學習曲線是將訓練集誤差和交叉驗證集誤差作為訓練集實例數量(m)的函數繪制的圖表。

?即,如果我們有 100 行數據,我們從 1 行數據開始,逐漸學習更多行的數據。


思想:

當訓練較少數據時, 訓練的模型將能夠非常完美地適應較少的訓練數據, 但是訓練出來的模型卻不能很好地適應交叉驗證集數據或測試集數據。


如何利用學習曲線識別高偏差/欠擬合?

作為例子,試用一條直線來適應下面的數據,可以看出,無論訓練集有多么大誤差都不會有太大改觀:

?


如何利用學習曲線識別高方差/過擬合?

?假設我們使用一個非常高次的多項式模型,并且正則化非常小.

可以看出,當交叉驗證集誤差遠大于訓練集誤差時,往訓練集增加更多數據可以提高模型的效果。?



小結:

在高偏差/欠擬合的情況下,增加數據到訓練集不一定能有幫助;

在高方差/過擬合的情況下,增加更多數據到訓練集可能可以提高算法效果。?


—————————————————————————————————————————————————————————


決定下一步做什么(Deciding What to Do Next)

六種可選方案:?

1.?獲得更多的訓練實例——解決高方差?

2.?嘗試減少特征的數量——解決高方差?

3.?嘗試獲得更多的特征——解決高偏差?

4.?嘗試增加多項式特征——解決高偏差?

5.?嘗試減少正則化程度 λ——解決高偏差?

6.?嘗試增加正則化程度 λ——解決高方差?


神經網絡的方差和偏差:


使用較小的神經網絡,類似于參數較少的情況,容易導致高偏差和欠擬合,但計算代價較小;

使用較大的神經網絡,類似于參數較多的情況,容易導致高方差和過擬合,雖然計算代價比較大,但是可以通過正則化手段來調整而更加適應數據。?

通常選擇較大的神經網絡并采用正則化處理會比采用較小的神經網絡效果要好。?


對于神經網絡中的隱藏層的層數的選擇,通常從一層開始逐漸增加層數。

為了更好地作選擇,可以把數據分為訓練集、交叉驗證集和測試集,針對不同隱藏層層數的神經網絡訓練神經網絡, 然后選擇交叉驗證集代價最小的神經網絡。


?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387259.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS3--5.顏色屬性

HTML5中添加了一些新的顏色的表示方式 1.RGBA:說得簡單一點就是在RGB的基礎上加進了一個通道Alpha。RGBA在RGB的基礎上多了控制alpha透明度的參數。以上R、G、B三個參數,正整數值的取值范圍為:0 - 255。百分數值的取值范圍為:0.0%…

邏輯回歸的通俗解釋 邏輯回歸的定位

1 邏輯回歸的定位 首先,邏輯回歸是一種分類(Classification)算法。比如說: 給定一封郵件,判斷是不是垃圾郵件給出一個交易明細數據,判斷這個交易是否是欺詐交易給出一個腫瘤檢查的結果數據,判斷…

機器學習08機器學習系統設計

首先要做什么 一個垃圾郵件分類器算法為例: 為了解決這樣一個問題,首先要做的決定是如何選擇并表達特征向量 x。 可以選擇一個由 100 個最常出現在垃圾郵件中的詞所構成的列表,根據這些詞是否有在郵件中 出現,來獲得我們的特…

數學筆記1——導數1(導數的基本概念)

什么是導數導數是高數中的重要概念,被應用于多種學科。從物理意義上講,導數就是求解變化率的問題;從幾何意義上講,導數就是求函數在某一點上的切線的斜率。我們熟知的速度公式:v s/t,這求解的是平均速度&a…

python接口自動化(四)--接口測試工具介紹(詳解)

簡介 “工欲善其事必先利其器”,通過前邊幾篇文章的介紹,大家大致對接口有了進一步的認識。那么接下來讓我們看看接口測試的工具有哪些。 目前,市場上有很多支持接口測試的工具。利用工具進行接口測試,能夠提供測試效率。例如&…

機器學習09支持向量機

支持向量機(Support Vector Machines) 在監督學習中,許多學習算法的性能都非常類似,因此,重要的不是你該選擇使用學習算法 A 還是學習算法 B,而更重要的是, 應用這些算法時,所創建的大量數據在應用這些算…

數學筆記2

數學筆記2——導數2(求導法則和高階導數)和、差、積、商求導法則設uu(x),vv(x)都可導,則:(Cu)’ Cu’, C是常數(u v)’ u’ v’(uv)’ u’ v’(u/v)’ (u’v – uv’) / v21、2不解釋,下面給出3、4的推導過程乘法法則的推導過乘法法則…

機器學習10聚類

無監督學習 在非監督學習中,我們需要將一系列無標簽的訓練數據,輸入到一個算法中, 然后讓它找這個數據的內在結構。 我們可能需要某種算法幫助我們尋找一種結構。圖上的數據看起來可以分成兩個分開的點集(稱為簇)&am…

python 的筆記

語言:Python IDE:Python.IDE 需求 做出彩虹效果 顏色空間 RGB模型:光的三原色,共同決定色相 HSB/HSV模型:H色彩,S深淺,B飽和度,H決定色相 需要將HSB模型轉換為RGB模型 代碼示例&am…

關聯分析(Association analysis)

關聯分析(Association analysis) 簡介 大量數據中隱藏的關系可以以‘關聯規則’和‘頻繁項集’的形式表示。rules:{Diapers}–>{Beer}說明兩者之間有很強的關系,購買Diapers的消費者通常會購買Beer。 除…

機器學習11主成分分析

降維(Dimensionality Reduction) : 一、 降維目的: 目的一:數據壓縮(Data Compression) 目的二:數據可視化(Visualization) 二、 主成分分析(PCA) 主成分…

使用Apriori進行關聯分析(一)

使用Apriori進行關聯分析(一)大型超市有海量交易數據,我們可以通過聚類算法尋找購買相似物品的人群,從而為特定人群提供更具個性化的服務。但是對于超市來講,更有價值的是如何找出商品的隱藏關聯,從而打包促…

主成分分析法 (PCA) 用于數據可視化實驗 -- Matlab版

第一步:下載數據集。 https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#pendigits 第二步:改變數據格式。 注:此數據集的各特征值均為像素,即屬于同一量綱,故無需歸一化步驟。 原格式為&a…

后端視角下的前端框架之Vue.js初探

背景 作為常年搞后端的自己來說,除了多年前學習的一點關于HTML的皮毛,對現在的前端技術棧可謂是一竅不通。但是因為最近在做的內部業務全鏈路監控系統,負責前端的同事做到一半去搞別的項目了,為了把項目落地不得不硬著頭皮學一下前…

機器學習12推薦系統

推薦系統(Recommender Systems) 推薦系統根據瀏覽用戶過去買過什么書,或過去評價過什么電影來判斷并推薦新產品給用戶。 這些系統會為像亞馬遜和網飛這樣的公司帶來很大一部分收入。 因此,對推薦系統性能的改善,將對這些企業的有實質性和…

使用Apriori進行關聯分析(二)

使用Apriori進行關聯分析(二)書接上文(使用Apriori進行關聯分析(一)),介紹如何挖掘關聯規則。發現關聯規則我們的目標是通過頻繁項集挖掘到隱藏的關聯規則。所謂關聯規則,指通過某個…

Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool

Apache Tomcat 7 Configuration Reference (7.0.93) - The Executor (thread pool)https://tomcat.apache.org/tomcat-7.0-doc/config/executor.html Tomat組件研究之ThreadPool - 老碼農的專欄 - CSDN博客https://blog.csdn.net/chen77716/article/details/344764 Tomcat中的線…

數學筆記3——導數3(隱函數的導數)

數學筆記3——導數3(隱函數的導數)冪函數的擴展形式f(x) xn的導數:f’(x) nxn-1,n是整數,該公式對f(x) xm/n, m,n 是整數同樣適用。推導過程:什么是隱函數引自知乎:“如果方程F(x,y)0能確定y…

機器學習13大規模數據集

大型數據集的學習(Learning With Large Datasets) 如果我們有一個低方差的模型, 增加數據集的規模可以幫助你獲得更好的結果。 我們應該怎樣應對一個有 100 萬條記錄的訓練集? 以線性回歸模型為例,每一次梯度下降…

svn認證失敗,解決方案

在svnserve.conf:文件中去掉authz-db authz前面的#號,會出現的認證失敗。 造成此原因的主要問題就是authz文件中權限沒有配置好。 例如: 創建prj1庫 svnadmin create prj1 修改配置文件 svnserve.conf: [general] anon-access read auth-access write…