當看過一些簡單的機器學習演算法或者模型後,對於具體問題該如何評估不同模型對具體問題的效果選擇最優模型呢。假如m個樣本中有a個樣本分類錯誤
錯誤率:e = a / m;
精度: 1 - e
訓練誤差:又叫經驗誤差,是指演算法/模型在訓練樣本上的誤差
泛化誤差:演算法/模型在新樣本上的誤差
顯然我們希望得到泛化誤差小的機器學習演算法。
欠擬合:欠擬合是指訊息能力低下,本來一些有的特徵沒有學習到。
解決方法:欠擬合一般比較容易克服,例如在決策樹學習中擴充套件分支在神經網路學習中增加學習輪數就可以。
過擬合:模型把訓練樣本學的「太好」,很可能把訓練樣本自身的一些特點當做了所有潛在樣本都會具有的一般性質,這樣就會導致泛化能力下降。
解決方法: 很難克服或者徹底避免。
下面這張圖對欠擬合/過擬合解析的十分到位:
直接將資料集d劃分成兩個互斥的集合,其中乙個作為訓練集s,另乙個作為測試集t 即: d = s ∪ t , s ∩ t = ∅ . 在s上訓練出模型後用t來評估其測試誤差,作為泛化誤差的評估。
需要注意的訓練/測試集的劃分要盡可能的保持資料分布的一致性,避免因資料劃分過程引入額外的偏差而對最終結果產生影響。 如果從取樣的角度看資料集劃分過程,則保留類別比例的取樣方式通常稱為分層取樣。
單層留出法得到的評估結果往往不夠穩定可靠,在使用留出法時,一般採用若干次隨機劃分、重複進行試驗評估後取平均值為留出法結果。
缺點:若訓練集s包含絕大多數樣本則訓練出的模型可能更接近與用d訓練處的模型,但由於t比較小,評估結果可能不夠穩定準確。 若令測試機包含多一些樣本,則訓練集s與d差別更大,被評估的模型與用d訓練出的模型相比可能有較大差別,從而降低了評估結果的保真性。 常見的做法是將 2/3 ~ 4/5 的樣本用於訓練,剩餘樣本用於測試。
留出法和交叉驗證法都有乙個缺點: 需要保留一部分樣本用於測試,因此實際評估的模型所使用的訓練集比d小,這必然會引入一些因訓練樣本規模不同而導致的估計偏差。自助法: 給定包含m個樣的資料集d,我們對它進行取樣產生資料集d_:每次隨機從d中挑選乙個樣本,將其拷貝到d_中,然後將該樣本放回到d中,下次取樣時同樣可以被採到。
明顯d中有一部分樣本會多次出現,而另一部分樣本不出現。於是估計樣本在m次取樣中始終不被採到的概率:
即通過自助取樣,初始資料集d中約有0.368的樣本沒有出現在d_中。 我們可以將d\d_用作測試集,這樣實際評估的模型與期望評估的模型都是用m個訓練樣本。
對於二分類問題進行如下統計:
查準率:
p = tp / (tp + fp)
查全率:
r = tp / (tp + fn)
以**癌症為例,正例為癌症,反例不是癌症。 查準率表示**為癌症實際發生癌症的概率,而查全率是指**為癌症的覆蓋率(部分**為反例但實際情況確實正例)。
其它機器學習演算法:
監督學習——隨機梯度下降演算法(sgd)和批梯度下降演算法(bgd)
監督學習——決策樹理論與實踐(上):分類決策樹
監督學習——決策樹理論與實踐(下):回歸決策樹(cart)
監督學習——k鄰近演算法及數字識別實踐
監督學習——樸素貝葉斯分類理論與實踐
監督學習——logistic進行二分類(python)
監督學習——adaboost元演算法提高分類效能
無監督學習——k-均值聚類演算法對未標註資料分組
參考:周志華 《機器學習》
《推薦系統實戰》
機器學習 模型評估與選擇
1.擬合 接近目標的遠近程度。過擬合 學習能力過強導致過於擬合。過於學習學到認為女生必須是長頭髮。欠擬合 學習能力低下導致欠擬合。學習能力低下,擁有長髮的都是女生。2.評估方法 目標 所選模型的泛化誤差最小 一 留出法 step 1 將資料集d 互斥 的分成訓練集s和測試集t,d sut。step ...
機器學習 模型評估與選擇
1 經驗誤差和過擬合 錯誤率 分類錯誤的樣本數佔樣本總數的比例 精度 1 錯誤率 誤差分為訓練誤差 或稱經驗誤差 和泛化誤差 訓練誤差 在訓練集上的誤差 泛化誤差 在新樣本上的誤差 機器學習的目標是得到泛化誤差最小的學習器。學習器把訓練樣本學得 太好 了的時候,很可能已經把訓練樣本自身的一些特點當做...
機器學習 模型評估與選擇
第二章 模型評估與選擇 一 概覽 對於同一資料集而言,給定不同的演算法,會提取不同的模型,甚至對於同一演算法給定不同的引數,也會得到不同的模型,選擇最佳的模型的過程稱為模型選擇。模型選擇會遵循一定的標準,首先需要將資料集分成若干部分,一部分用於訓練模型,一部分用於測試模型的泛化能力,對於測試的結果給...