寫在前面:
這個系列是清華大學周志華《機器學習》的學習筆記,向周教授致敬,希望大家去買書。
電腦科學如果是研究「演算法」,機器學習就是研究「學習演算法」的學問。
對於資料**,離散值**的學習任務稱為「分類」(classification),連續值的學習任務稱為「回歸」(regression)。
學習的得到模型適用於新樣本的能力,稱為「泛化」(generalization)能力。如果沒有泛化能力(只有歸納能力沒有演繹能力),就是所謂的「機械學習」。
歸納偏好
任何乙個有效的機器學習演算法必有其歸納偏好,否則可能得到幾個不同的但都符合訓練集的假設,而沒有確定的學習結果。
「奧卡姆剃刀」(occam's razor)是一種常用的、自然科學研究中最基本的原則,即「若有多個假設與觀測一致,則選那個最簡單的那個。」
脫離具體問題,空談「什麼學習演算法更好」毫無意義,因為「天下沒有免費午餐」nfl定律,任何兩個演算法在訓練集以外的誤差期望是相同的。(這個點證明過於理論)
「過擬合」(overfitting):當學習器把訓練樣本學的「太好」了時候,很可能把訓練樣本自身的一些特點當做了所有潛在樣本都會具有的一般性質,導致泛化能力下降。是機器學習的重要障礙。機器學習面臨的問題的通常是np難甚至更難,而有效的學習演算法必然是在多項式時間內執行完成,如果可以徹底避免過擬合,意味著我們構造性的證明了「p=np」。因此過擬合無法避免。
「欠擬合」(underfitting):訓練樣本的一般性質尚未學習好。容易克服,如神經網路中增加訓練輪數。
泛化誤差無法直接過去,訓練誤差又存在過擬合,如何評估乙個學習模型呢?
答案是採用「測試集」(testing set)。盡可能與訓練集互斥。
如何從乙個資料集中產生訓練集和測試集?方法如下:
直接劃分為兩個互斥的集合,盡可能保持資料的一致性,保留類別比例的取樣方法成為「分層取樣」,如保持正反例比例相同。
此外,即使比例相同,劃分方式也多種多樣,影響訓練結果。因此留出法一般採用若干次隨機劃分、重複進行試驗評估後取平均值作為評估結果。
一般將2/3~4/5的樣本用於訓練。
將資料集劃分為k個大小相似的互斥子集,每個子集盡可能保持資料分布一致性。然後每次用k-1個子集作為訓練集,剩下的那個做測試集,就可以得到k組資料,最後去k組測試結果的均值。k常取10,稱為10折交叉驗證。
與留出法類似,也可以採用多種方式劃分。如採用10中劃分方式,稱為10次10折交叉驗證。
給定大小為m的資料集d,進行取樣得到資料集d'。過程為m次有放回的抽樣。那麼一部分樣本在d'中多次出現,而一些樣本不出現。樣本在m次取樣中市容不被採到的概率是
然後將d'作為訓練集,d\d'作為測試集。
自助法在資料集較小、難以有效劃分是很有用。但改變了初始資料集的分布,所以當資料足夠時,採用留出法和交叉驗證更好。
注:模型實際應用中碰到的資料集成為測試資料,為加以區分,將模型評估與選擇中用於評估測試的資料集成為「驗證集」(validation set)。
有了評價方法,還要有評價指標。如回歸任務最常用的效能度量是「均方誤差」。
p跟r一般矛盾,可繪製p-r曲線。p=r的點稱為平衡點(break-even point ,bep),可用平衡點來衡量優劣。
bep還是過於簡化,常用f1進行度量。是乙個調和平均相關的值。
檢驗方法的部分,等日後有了自己的演算法,需要檢驗的時候再進行補充,暫缺。
機器學習 模型評估與選擇
1.擬合 接近目標的遠近程度。過擬合 學習能力過強導致過於擬合。過於學習學到認為女生必須是長頭髮。欠擬合 學習能力低下導致欠擬合。學習能力低下,擁有長髮的都是女生。2.評估方法 目標 所選模型的泛化誤差最小 一 留出法 step 1 將資料集d 互斥 的分成訓練集s和測試集t,d sut。step ...
機器學習 模型評估與選擇
1 經驗誤差和過擬合 錯誤率 分類錯誤的樣本數佔樣本總數的比例 精度 1 錯誤率 誤差分為訓練誤差 或稱經驗誤差 和泛化誤差 訓練誤差 在訓練集上的誤差 泛化誤差 在新樣本上的誤差 機器學習的目標是得到泛化誤差最小的學習器。學習器把訓練樣本學得 太好 了的時候,很可能已經把訓練樣本自身的一些特點當做...
機器學習 模型評估與選擇
第二章 模型評估與選擇 一 概覽 對於同一資料集而言,給定不同的演算法,會提取不同的模型,甚至對於同一演算法給定不同的引數,也會得到不同的模型,選擇最佳的模型的過程稱為模型選擇。模型選擇會遵循一定的標準,首先需要將資料集分成若干部分,一部分用於訓練模型,一部分用於測試模型的泛化能力,對於測試的結果給...