日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

李宏毅机器学习课程2~~~误差从哪里来?

發布時間:2023/12/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 李宏毅机器学习课程2~~~误差从哪里来? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Stanford機器學習—第六講. 怎樣選擇機器學習方法、系統


誤差來源


誤差主要來自于偏差和方差。

數學上定義:
通過covariate X 預測 Y ,我們假設存在如下關系:
Y = f(X) + ? 滿足正態分布均值為0 方差σ?
模型預測錯誤定義為:

期望誤差分解為三個非負項的和,即本真噪音、bias和 variance。

https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

本真噪音是任何學習算法在該學習目標上的期望誤差的下界;( 任何方法都克服不了的誤差)
bias 度量了某種學習算法的平均估計結果所能逼近學習目標的程度;(獨立于訓練樣本的誤差,刻畫了匹配的準確性和質量:一個高的偏差意味著一個壞的匹配)
variance 則度量了在面對同樣規模的不同訓練集時,學習算法的估計結果發生變動的程度。(相關于觀測樣本的誤差,刻畫了一個學習算法的精確性和特定性:一個高的方差意味著一個弱的匹配)

MSE(mean squared error)可以拆分成bias和variance兩部分:

以分類任務為例,均方誤差MSE(mean squared error)

其中Y為x對應的真實類標,f(x)為預測標號
則,


泛化誤差可分解為偏差、方差和噪聲之和。
偏差度量了學習算法的期望預測與真實結果的偏離程度,即刻畫了學習算法本身的擬合能力,強調的是準度。
方差度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動所造成的影響,強調的是穩定性。
噪聲則表達了在當前任務上任何學習算法所達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度。
偏差-方差分解說明,泛化性能是由學習算法的能力、數據的充分性以及學習任務本身的難度所共同決定的。給定學習任務,為了取得好的泛化性能,則需使偏差較小,既能夠充分擬合數據,并且使方差較小,即使得數據擾動產生的影響小。

Error = Bias + Variance
Error反映的是整個模型的準確度Bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度Variance反映的是模型每一次輸出結果與模型輸出期望之間的誤差,即模型的穩定性

如果我們能夠獲得所有可能的數據集合,并在這個數據集合上將loss最小化,這樣學習到的模型就可以稱之為“真實模型”,當然,我們是無論如何都不能獲得并訓練所有可能的數據的,所以“真實模型”肯定存在,但無法獲得,我們的最終目標就是去學習一個模型使其更加接近這個真實模型。
而bias和variance分別從兩個方面來描述了我們學習到的模型與真實模型之間的差距。
Bias是 “用所有可能的訓練數據集訓練出的所有模型的輸出的平均值” 與 “真實模型”的輸出值之間的差異;
Variance則是“不同的訓練數據集訓練出的模型”的輸出值之間的差異。

Bias與Variance往往是不能兼得的。如果要降低模型的Bias,就一定程度上會提高模型的Variance,反之亦然。
造成這種現象的根本原因是,我們總是希望試圖用有限訓練樣本去估計無限的真實數據。當我們更加相信這些數據的真實性,而忽視對模型的先驗知識,就會盡量保證模型在訓練樣本上的準確度,這樣可以減少模型的Bias。但是,這樣學習到的模型,很可能會失去一定的泛化能力,從而造成過擬合,降低模型在真實數據上的表現,增加模型的不確定性。
相反,如果更加相信我們對于模型的先驗知識,在學習模型的過程中對模型增加更多的限制,就可以降低模型的variance,提高模型的穩定性,但也會使模型的Bias增大。Bias與Variance兩者之間的trade-off是機器學習的基本主題。

采用k-fold Cross Validation進行訓練,只有1個模型會受到這個異常數據的影響,而其余k-1個模型都是正常的。在平均之后,這個異常數據的影響就大大減少了。
相比之下,模型的bias是可以直接建模的,只需要保證模型在訓練樣本上訓練誤差最小就可以保證bias比較小,而要達到這個目的,就必須是用所有數據一起訓練,才能達到模型的最優解。因此,k-fold Cross Validation的目標函數破壞了前面的情形,所以模型的Bias必然要會增大。


偏差和方差的估計


偏差和方差的無偏估計見上圖。

做多次重復實驗,得到不同的f*,然后求期望f_,可得到目標函數f^的無偏估計。這樣f_與f^的關系如上圖所示。f_與f^之間有偏差誤差,f*與f_之間有方差誤差。

A Few Useful Thingsto Know about Machine Learning中提到,可以將泛化誤差(gener-alization error)分解成bias和variance理解

Bias: a learner’s tendency to consistently learn the same wrong thing,即度量了某種學習算法的平均估計結果所能逼近學習目標(目標輸出)的程度。

Variance:the tendency to learn random things irrespective of the real signal,即度量了在面對同樣規模的不同訓練集時,學習算法的估計結果發生變動的程度。比如在同一現象所產生的不同訓練數據上學習的決策樹往往差異巨大,而實際上它們應當是相同的。

上圖中靶心為某個能完美預測的模型,離靶心越遠,則準確率隨之降低。靶上的點代表某次對某個數據集上學習某個模型。縱向上,高低的bias:高的Bias表示離目標較遠,低bias表示離靶心越近;橫向上,高低的variance,高的variance表示多次的“學習過程”越分散,反之越集中。


偏差,方差與模型的關系


簡單模型,偏差較大,這是因為模型簡單,可能無法表示到目標函數,導致學習到的函數與目標函數有較大的誤差。模型復雜,表示能力較強,進而有可能學習到目標函數,所以會有較小的偏差。

模型越復雜越容易得到較大的方差,簡單模型容易得到較小的方差。

模型簡單,偏差較大,容易導致欠擬合。模型復雜,方差較大,容易導致過擬合。


如何處理大的偏差和大的方差的?


對于大的偏差(可能會欠擬合),可以重新設計更加復雜的模型。

對于大的方差(可能會過擬合),可以考慮增加數據量。或者可以考慮添加正則項,這樣會使得函數變的平滑,函數抖動的不大厲害,方差就會相對變小。但是這樣會有可能增加偏差。

復雜的模型能更好的擬合訓練集合能更好的擬合訓練集合上的點,但是同時高復雜度的模型泛化能力差,造成了高方差。橫坐標的右側是過擬合overfit的情況,而左側是欠擬合underfit的情況。

更多理解見Understanding the Bias-Variance Tradeoff

過擬合表明采用的模型比真實的數據分布更復雜,而欠擬合表示采用的模型比真實的數據分布要簡單。

訓練樣本往往還有一定的噪音誤差,所以如果太追求在訓練集上的完美而采用一個很復雜的模型,會使得模型把訓練集里面的噪音誤差都當成了真實的數據分布特征,從而得到錯誤的數據分布估計。這樣的話,到了真正的測試集上就錯的一塌糊涂了(這種現象叫過擬合)。但是也不能用太簡單的模型,否則在數據分布比較復雜的時候,模型就不足以刻畫數據分布了(體現為連在訓練集上的錯誤率都很高,這種現象較欠擬合)。


模型的選擇


交叉驗證法。將訓練數據集分為不同的訓練集和驗證集。依次訓練不同的模型,然后確定不同模型的平均誤差,進而選擇合適的模型。最后依據選擇的模型,去整體學習訓練集,來確定最終的模型參數。這樣才能有可能在測試集上得到客觀的結果。

Training set is a subset of the dataset used to build predictive models.
Validation set is a subset of the dataset used to assess the performance of model built in the training phase. It provides a test platform for fine tuning model’s parameters and selecting the best-performing model. Not all modeling algorithms need a validation set.
Test set or unseen examples is a subset of the dataset to assess the likely future performance of a model. If a model fit to the training set much better than it fits the test set, overfitting is probably the cause.

訓練集(training set) 是用來訓練模型或確定模型參數的,如ANN中權值等;

校驗集(validation set) 是用來做模型選擇(model selection),即做模型的最終優化及確定的,如ANN的結構;

測試集(test set) 則純粹是為了測試已經訓練好的模型的推廣能力。當然,test set這并不能保證模型的正確性,他只是說相似的數據用此模型會得出相似的結果。


針對經驗風險最小化算法的過擬合的問題,給出交叉驗證的方法。
交叉驗證(Cross Validation),有的時候也稱作循環估計(Rotation Estimation),是一種統計學上將數據樣本切割成較小子集的實用方法,該理論是由Seymour Geisser提出的。

HoldOut檢驗(Hold-Out Method)或者稱為簡單交叉驗證
步驟:

1、 從全部的訓練數據 S中隨機選擇 中隨機選擇 sm的樣例作為訓練集 train,剩余的 作為測試集 作為測試集 test。 2、 通過對訓練集訓練 ,得到假設函數或者模型 。 3、 在測試集對每一個樣本根據假設函數或者模型,得到訓練集的類標,求出分類正確率。 4,選擇具有最大分類率的模型或者假設。

從嚴格意義上來說,Hold-Out檢驗并不算是交叉檢驗(Cross Validation),因為該方法沒有達到交叉檢驗的思想,而且最后驗證準確性的高低和原始數組的分類有很大的關系,所以該方法得到的結果在某些場景中并不具備特別大的說服力。在Hold-Out檢驗不夠有說服力的情形下,有人提出了交叉驗證這一個重要思想。

k-折交叉驗證(k-fold crossValidation):
在機器學習中,將數據集A分為訓練集(training set)B和測試集(test set)C,在樣本量不充足的情況下,為了充分利用數據集對算法效果進行測試,將數據集A隨機分為k個包,每次將其中一個包作為測試集,剩下k-1個包作為訓練集進行訓練。

1、 將全部訓練集 S分成 k個不相交的子集,假設 S中的訓練樣例個數為 m,那么每一個子 集有 m/k 個訓練樣例,,相應的子集稱作 {s1,s2,…,sk}2、每次從分好的子集中里面,拿出一個作為測試集,其它k-1個作為訓練集 3、根據訓練集訓練出模型或者假設函數。 4、 把這個模型放到測試集上,得到分類率。 5、計算k次求得的分類率的平均值,作為該模型或者假設函數的真實分類率。

這個方法充分利用了所有樣本。但計算比較繁瑣,需要訓練k次,測試k次。

留一法 leave-one-out cross validation
留一法就是每次只留下一個樣本做測試集,其它樣本做訓練集,如果有k個樣本,則需要訓練k次,測試k次。

留一發計算最繁瑣,但樣本利用率最高。適合于小樣本的情況。
留P驗證(Leave-p-out Cross Validation)

留p驗證(LpO CV)指的是使用全集X中的p個元素作為測試集,然后剩下的n-p個元素作為訓練集。根據數學上的定理可以得到,p個元素的選擇方法有n!/((n-p)!p!)個,其中n!表示n的階乘。在這個意義下,留p驗證的時間復雜度也是非常高的。當p=1的時候,留1驗證(Leave-one-out Cross Validation)的復雜度恰好是n。

交叉驗證(Cross Validation)的好處是可以從有限的數據中獲得盡可能多的有效信息,從而可以從多個角度去學習樣本,避免陷入局部的極值。在這個過程中,無論是訓練樣本還是測試樣本都得到了盡可能多的學習。

更多理解見 準確測量機器學習模型的誤差
英文見 Accurately Measuring Model Prediction Error

更多評價指標見
分類算法中的ROC與PR指標
Recall(召回率) Precision(準確率) F-Measure E值 sensitivity(靈敏性) specificity(特異性)漏診率 誤診率 ROC AUC


參考文獻


http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html
bias and variance在機器學習中的應用
Bias-Variance Tradeoff
http://blog.csdn.net/l281865263/article/details/45974589
http://blog.csdn.net/ywl22/article/details/8606166
https://www.zhihu.com/question/27068705

bias和variance

Stanford機器學習—第六講. 怎樣選擇機器學習方法、系統

https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

總結

以上是生活随笔為你收集整理的李宏毅机器学习课程2~~~误差从哪里来?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。