經驗誤差與過擬合
錯誤率: 錯分樣本的佔比:E = a/m
誤差:樣本真實輸出與預測輸出之間的差異
訓練(經驗)誤差:訓練集上
測試誤差:測試集
泛化誤差:除訓練集外所有樣本
由於事先並不知道新樣本的特徵,我們只能努力使經驗誤差最小化;
很多時候雖然能在訓練集上做到分類錯誤率爲零,但多數情況下這樣的學習器並不好。
過擬合:
學習器把訓練樣本學習的“太好”,將訓練樣本本身的特點 當做所有樣本的一般性質,導致泛化性能下降。從而導致在測試集上的預測效果比訓練集差很多。
過擬合的解決辦法:
1、優化目標加正則項https://blog.csdn.net/qq_42871249/article/details/104659074
2、early stop
欠擬合:
訓練樣本的一般性質尚未被學習器學好
決策樹:拓展分支
神經網絡:增加訓練輪數
評估方法
評估原則:
現實任務中往往會對學習器的泛化性能、時間開銷、存儲開銷、可解釋性等方面的因素進行評估並做出選擇
我們假設測試集是從樣本真實分佈中獨立採樣獲得,將測試集上的**“測試誤差”作爲泛化誤差的近似**,所以測試集要和訓練集中的樣本儘量互斥。
通常將包含個m樣本的數據集D拆分成訓練集S和測試集T:
留出法
交叉驗證法
將數據集分層採樣劃分爲k個大小相似的互斥子集,每次用k-1個子集的並集作爲訓練集,餘下的子集作爲測試集,最終返回k個測試結果的均值,k最常用的取值是10.
與留出法類似,將數據集D劃分爲k個子集同樣存在多種劃分方式,爲了減小因樣本劃分不同而引入的差別,k折交叉驗證通常隨機使用不同的劃分重複p次,最終的評估結果是這p次k折交叉驗證結果的均值,例如常見的“10次10折交叉驗證”
自助法
性能度量
性能度量是衡量模型泛化能力的評價標準,反映了任務需求;使用不同的性能度量往往會導致不同的評判結果
在預測任務中,給定樣例集
評估學習器的性能f也即把預測結果f(x)和真實標記比較.
迴歸任務最常用的性能度量是“均方誤差”:
分類問題
對於分類任務,錯誤率和精度是最常用的兩種性能度量:
錯誤率:分錯樣本佔樣本總數的比例
精度:分對樣本佔樣本總數的比率
混淆矩陣
查準率: 抓住的是小偷的佔抓的所有人中的比例
**查全率:**抓住的是小偷的人數佔所有小偷人數的比例
P-R曲線
根據學習器的預測結果按正例可能性大小對樣例進行排序,並逐個把樣本作爲正例進行預測,則可以得到查準率-查全率曲線,簡稱“P-R曲線”
計算方法:
算法對樣本進行分類時,都會有置信度,即表示該樣本是正樣本的概率,比如99%的概率認爲樣本A是正例,1%的概率認爲樣本B是正例。通過選擇合適的閾值,比如50%,對樣本進行劃分,概率大於50%的就認爲是正例,小於50%的就是負例。
通過置信度就可以對所有樣本進行排序,再逐個樣本的選擇閾值,在該樣本之前的都屬於正例,該樣本之後的都屬於負例。每一個樣本作爲劃分閾值時,都可以計算對應的precision和recall,那麼就可以以此繪製曲線。
例如,n爲100的樣本,50個爲正例,50個爲負例。
對置信度進行排序後,對置信度最高的一例預測爲正,其餘99個樣本預測爲負:
再對置信度最低的一例預測爲負,其餘99預測爲正:
在這個過程中,查準率就在下降,查全率在上升。
平衡點是曲線上“查準率=查全率”時的取值,可用來用於度量P-R曲線有交叉的分類器性能高低。
F1度量
比P-R曲線平衡點更用常用的是F1度量:
ROC曲線
類似P-R曲線,根據學習器的預測結果即置信度對樣例排序,並逐個作爲正例進行預測,以“假正例率”爲橫軸,“真正例率”爲縱軸可得到ROC曲線,全稱“受試者工作特徵”.
如果某樣本是是真正樣本,那真正例率會上升,即曲線向上移。繁殖,假正例率會上升,曲線會往右移。
代價曲線
代價敏感錯誤率
代價曲線圖的繪製:ROC曲線上每個點對應了代價曲線上的一條線段,設ROC曲線上點的座標爲(TPR,FPR),則可相應計算出FNR,然後在代價平面上繪製一條從(0,FPR)到(1,FNR)的線段,線段下的面積即表示了該條件下的期望總體代價;如此將ROC曲線上的每個點轉化爲代價平面上的一條線段,然後取所有線段的下界,圍成的面積即爲所有條件下學習器的期望總體代價。
性能評估
關於性能比較
1、測試性能並不等於泛化性能
2、測試性能隨着測試集的變化而變化
3、很多機器學習算法本身有一定的隨機性
直接選取相應評估方法在相應度量下比大小的方法不可取!
比較檢驗
假設檢驗爲學習器性能比較提供了重要依據,基於其結果我們可以推斷出若在測試集上觀察到學習器A比B好,則A的泛化性能是否在統計意義上優於B,以及這個結論的把握有多大。