机器学习初步
2.1泛化能力
泛化能力強,能夠很好的使用于unseen instance,例如,錯誤率低、精度高
我們希望模型在未見樣本上表現好,這一能力通常被稱作模型的什么能力?指的是泛化能力
在評價模型性能時,我們更希望它泛化能力強
2.2過擬合和欠擬合
泛化誤差:在未來樣本上的的誤差
經驗誤差:在訓練集上的誤差,亦稱訓練誤差
泛化誤差越小越好?經驗誤差是否越小越好?錯誤。會出現“過擬合”
拿樹葉做訓練的話
過擬合(誤以為樹葉必須有鋸齒)欠擬合(誤以為綠色的都是樹葉)
有的情況下,模型學習到了訓練數據滿足的特有性質,但這些性質不是一般規律,這種現象被稱之為過擬合
2.3三大問題
三個關鍵問題
如何獲得測試結果?----評估方法
如何評估性能優劣?----性能度量
如何判斷實質差別?----比較檢驗
說明模型在統計意義上表現好,我們最需要考慮比較檢驗
在沒有“未來數據”的情況下,我們能通過訓練集對泛化誤差進行估計。
2.4評估方法
關鍵:怎么獲得“測試集”??
測試集應該與訓練集“互斥”
常見方法:
留出法
?
注意:保持數據分布一致性(例如:分層采樣)
多次重復劃分(例如:100次隨機劃分)
測試集不能太大、不能太小(例如:1/5~1/3)
?
?若K=M,則得到“留一法”
沒有任何一個方法一定好。
自助法
基于“自助采樣”
亦稱“有放回采樣”、“可重復采樣”
”外包估計“
訓練集與原樣本集同規模
缺陷:改變數據分布有所改變
訓練集與測試集應該互斥
2.5調參與驗證集
“調參”與最終模型
算法的參數:一般由人工設定,亦稱”超參數“
模型的參數;一般由學習確定
調參過程相似:先產生若干模型,然后基于某種評估方法進行選擇參數調的好不好對性能往往對最終性能有關鍵影響
調參數就是在對模型進行選擇(算法的選擇也可以當作一種參數)
區別:訓練姐VS測試集VS驗證集
算法參數選定后,要用”訓練集+驗證集“重新訓練最終模型
注意常見錯誤:測試集一定是訓練過程沒有用過到的,而調參數的過程也是訓練的一部分,所以調參數的部分應該從訓練的部分來而不是從測試集中來。
調參是以驗證集上的性能作為評價標準
當我們使用一個多項式函數去逼近數據集時,多項式的次數是超參數。
2.6度量性能
度量性能是衡量模型泛化能力的標準,反應了任務需求
使用不同的性能度量往往會導致不同的判斷結果
什么樣的模型是“好”的,不僅取決于算法和數據,還取決于任務需求
回歸任務常用均方誤差:
?
添加系數不會影響模型好壞
錯誤率:
?
精度:
?
?
例如收購西瓜的公司希望把瓜攤的好瓜都盡量收走,請問他的評價標準是查全率
2.7比較檢驗
在某種度量下取得評估結果后,是否可以直接比較以評價優劣?
不行
因為:測試性能不能等于泛化性能,測試性能隨著測試集的變化而變化,很多機器學習算法本身有一定的隨機性
機器學習------”概率近似正確“
統計假設檢驗為學習器性能比較提供了重要依據
比較兩個學習器的時候:
?交叉驗證t檢驗(基于成對t檢驗)
k折交叉驗證;5X2交叉驗證
McNemar檢驗(基于列聯表。卡方檢驗)
統計顯著性
參數的驗證需要在驗證集上進行,參數確定后需要重新訓練模型
當西瓜收購公司去瓜攤收購西瓜時既希望把好瓜都收走又保證收到的瓜中壞瓜盡可能的少,請問他應該考慮F1度量評價指標。
總結
- 上一篇: Linux挂载新硬盘【保姆级教程】
- 下一篇: 适合学计算机学生喝的茶,学生喝什么茶能够