認識相關定義
模型(Model):學習算法(Learning Algorithm)嗅蔬,從數(shù)據(jù)中學習得到的結果饿自。
假設(Hypothesis):從數(shù)據(jù)學習得到某種潛在的規(guī)律习勤;這種潛在規(guī)律自身稱為真相(Ground-truth)信峻, 學習過程就是通過模型哑姚,也叫學習器(Learner)找出或逼近真相祭饭。
數(shù)據(jù)集(Data set):關于一個事件或對象的記錄的集合。
樣本(Sample):反映了事件或對象在某方面的表現(xiàn)或性質叙量,樣本的集合叫樣本空間(Sample space)或輸入空間倡蝙。
樣例(Example):擁有了標記(Label)的示例。所有樣例的集合稱標記空間(Label space)或輸出空間绞佩。
分類(Classification):預測的結果是離散值寺鸥。包括二分類(Binary classification)和多分類(Multi-class classification)。
回歸(Regression):預測的結果是連續(xù)值品山。
聚類(Clustering)
測試(Testing)
預測(Prediction):通過對訓練集進行學習得到模型胆建,建立一個從輸入空間到輸出空間的映射。
監(jiān)督學習(Supervised learning):分類和回歸肘交。
無監(jiān)督學習(Unsupervised learning):聚類笆载。
泛化(Generalization):反映在訓練集學得的模型對新樣本的適應能力。具有強泛化能力的模型可以很好地適用于整個樣本空間涯呻。我們假設樣本空間中的每個樣本都是從一個未知分布(Distribution)上采樣獲得的凉驻,即獨立同分布(Independent and identically distribution,iid)复罐。一般來說沿侈,訓練樣本越多,越能通過學習找到這個未知分布更多的信息市栗,獲得具有強泛化能力的模型缀拭。
歸納學習(Inductive learning):從樣例中學習
歸納偏好(Inductive bias):可以看做學習算法自身在一個可能很龐大的假設空間中對假設進行選擇的啟發(fā)式咳短。選擇正確的歸納偏好可以增強模型的泛化能力。
模型評估與選擇
將數(shù)據(jù)集分為訓練集和測試集的方法:
留出法(hold-out)
直接將數(shù)據(jù)集D劃分為兩個互斥的集合(8/2或者7/3)蛛淋,一個訓練集S咙好,一個測試集T滿足D=S∪T,S∩T=空集褐荷。在S上訓練出模型后勾效,用T來評估其測試誤差,作為對泛化誤差的估計叛甫。
需要注意的是层宫,訓練和測試集的劃分要盡可能保持數(shù)據(jù)分布的一致性,例如在分類任務中要保持樣本的類別比例相似其监,這種保留類別比例的采樣方式通常稱為“分層采樣”(stratified sampling)萌腿。如果S、T中樣本類別比例差別很大抖苦,則誤差估計將由于訓練和測試集的數(shù)據(jù)分布的差異而產(chǎn)生偏差毁菱。
還有一個要注意的問題是訓練集和測試集中的樣本排序,不同的排序會導致模型評估有所差別锌历,所以單次使用留出法得到的估計結果往往不夠穩(wěn)定可靠贮庞,一般需要采用若干次隨機排序、重復進行實驗評估后取平均值作為留出法的評估結果究西。
交叉驗證法(cross validation)
先將數(shù)據(jù)集D通過分層采樣劃分為k個大小相似的互斥子集窗慎。然后,每次用k-1個子集的并集作為訓練集卤材,余下的那個子集作為測試集捉邢。這樣就可以獲得k組訓練/測試集,進行k次訓練和測試商膊,最終返回k個測試結果的均值伏伐。
由于將數(shù)據(jù)集D劃分為k個子集存在多種劃分方式,為減少因樣本劃分不同而引入的差別晕拆,k折交叉驗證通常要隨機使用不同的劃分重復p次藐翎,最終的評估結果是這p次k折交叉驗證結果的均值。
有一種特殊情況实幕,假定數(shù)據(jù)集D中包含m個樣本吝镣,若令k=m,那么每個子集都只包含一個樣本昆庇,這是唯一的劃分方法劃分m個子集末贾,所以不受隨機樣本劃分方式的影響,這種方法稱為“留一法(Leave-One-Out整吆,簡稱LOO)”拱撵,在絕大多數(shù)情況下辉川,留一法中被實際評估的模型與期望評估的用D訓練出的模型很相似。在訓練集不是很大的時候可以采用拴测。
自助法(bootstrapping)
給定包含m個樣本的數(shù)據(jù)集D乓旗,對它進行采樣產(chǎn)生數(shù)據(jù)集D':每次隨機從D中挑選一個樣本,將其拷貝放入D'集索,然后再將該樣本放回初始數(shù)據(jù)集中屿愚,執(zhí)行m次之后我們就得到與數(shù)據(jù)集D同樣有m個樣本的數(shù)據(jù)集D'。通過自助采樣务荆,初始數(shù)據(jù)集D中約有36.8%的樣本未出現(xiàn)在采樣數(shù)據(jù)集D'中妆距。于是我們拿D'作為數(shù)據(jù)集,將D\D'函匕,即36.8%未出現(xiàn)在D'中的樣本作為測試集娱据,這種方法也稱為“包外估計(out-of-bag estimate)”。自助法產(chǎn)生的數(shù)據(jù)集會改變初始數(shù)據(jù)集的分布浦箱,從而引入估計偏差吸耿。所以一般只適用于數(shù)據(jù)集較小祠锣、難以有效劃分訓練/測試集的時候有用酷窥,當數(shù)據(jù)集量足夠時,留出法和交叉驗證法更常用一些伴网。
調參和最終模型
由于大多數(shù)學習算法都有些參數(shù)需要設定蓬推,參數(shù)配置不同,學習得到模型的性能往往有差別澡腾,所以除了要對適用學習算法進行選擇沸伏,還需對算法參數(shù)進行設定,也就是“調參(parameter tuning)”
需要注意的是我們的最終模型动分,給定包含m個樣本的數(shù)據(jù)集D毅糟,在模型評估與選擇過程中由于需要留出一部分數(shù)據(jù)進行評估測試,實際上我們只使用了一部分數(shù)據(jù)訓練模型澜公。因此姆另,在模型選擇完成后,學習算法和參數(shù)配置已選定坟乾,此時還需用數(shù)據(jù)集D重新訓練模型迹辐,得到與數(shù)據(jù)集同樣的分布。(可以理解為留出測試集只是為了對模型進行評估甚侣,讓我們選出最適合的學習模型)
性能度量
錯誤率與精度
錯誤率和精度是分類任務中最常用的兩種性能度量明吩,即適用于二分裂任務,也適用于多分類任務殷费。錯誤率是分類錯誤的樣本數(shù)占樣本總數(shù)的比例印荔,精度則是分類正確的樣本數(shù)占樣本總數(shù)的比例低葫。
查準率、查全率與F1
對于二分類問題躏鱼,可將樣例根據(jù)其真實類別與學習器預測類別的組合劃分為真正例(true positive)氮采、假正例(false positive)、真反例(true negative)染苛、假反例(false negative)四種情形鹊漠,令TP、FP茶行、TN躯概、FN分別表示其對應例數(shù),分類結果的“混淆矩陣(confusion matrix)”如:
查準率P與查全率R分別定義為:
查準率和查全率是一對矛盾的度量畔师。一般來說查準率高時娶靡,查全率往往偏低;而查全率高時看锉,查準率往往偏低姿锭。以查準率為縱軸、查全率為橫軸作圖就可以得到查準率-查全率曲線伯铣,簡稱“P-R曲線”呻此。
如圖,A曲線和B曲線的性能明顯由于C曲線腔寡,而A曲線和B曲線發(fā)生了交叉焚鲜,可以用“平衡點(Break-Event Point,BEP)”來做度量放前,如圖所示忿磅,可以認為學習器A由于B。
但是有時候用BEP來度量還是過于簡單凭语。更加常用的時F1度量:
不同的應用對查準率和查全率重視程度有所不同葱她。例如在商品推薦系統(tǒng)中,為了盡可能少打擾用戶嗎似扔,更希望推薦內(nèi)容是用戶感興趣的吨些,此時查準率就更重要;而在逃犯信息檢索系統(tǒng)中虫几,更希望盡可能少漏掉逃犯锤灿,此時查全率更重要。所以加入了一個β參數(shù)辆脸,定義為:
β=1則為標準的的F1度量但校;β>1時注重查全率;β<1注重查準率啡氢。
ROC與AUC
ROC曲線是根據(jù)不同的應用任務需求來采取不同的截斷點状囱,來研究學習器的泛化性能术裸。與P-R曲線不同,ROC曲線的縱軸時“真正例率(True Positive Rate亭枷, TPR)”袭艺,橫軸是“假正例率(False Positive Rate, FPR)”叨粘,兩者定義為:
而AUC(Area Under ROC Curve)指的是通過ROC曲線下各部分的面積求和而得猾编。可以用來判斷不同ROC曲線的性能好壞升敲。
代價敏感錯誤率與代價曲線
對于假正例和假反例對實際任務造成的影響不同答倡,我們可以對其定義一個代價矩陣:
而代價敏感錯誤率則是平均代價:
代價曲線則體現(xiàn)了期望總體代價。
未完待續(xù)驴党!