1. 程式人生 > >機器學習1---模型基礎知識

機器學習1---模型基礎知識

1. 誤差:在機器學習中演算法的預測輸出與實際輸出之間的差異,包含經驗誤差和泛化誤差。

2. 經驗誤差:學習演算法在訓練集上的誤差,也稱為訓練誤差。

3. 泛化誤差:學習演算法在新樣本集上的誤差,優秀的學習演算法都具有泛化誤差較小的特點。泛化誤差一定程度上可以被拆解為偏差、方差、噪聲之和。偏差表示演算法本身的擬合能力。方差表示資料擾動的影響。噪聲表示誤差的下限,即問題本身的難度。

4. 過擬合:學習演算法的能力過於強大,不但學會了樣本的“普遍特徵”,也學會了樣本的自身特性。過擬合無法避免,只能緩解。

5. 欠擬合:含義與過擬合相反,易通過增強演算法來克服。

6. 訓練集、測試集、驗證集之間的關係:訓練集和驗證集可以統稱為訓練資料,驗證集是在訓練階段完成模型選擇和調參任務的。測試集主要模仿模型在實際中的資料,用於測試模型的泛化能力。

7. 劃分訓練集與測試集的主流方法

(1)留出法:直接將資料集隨機劃分為兩個互斥的集合,同時保證資料分佈的一致性,避免由於資料分佈而產生的偏差。

(2)交叉驗證法:又稱k-折交叉驗證,將資料集隨機劃分為k個集合(例如劃分p次),每次選取其中一個集合作為測試集,其餘集合作為訓練集合,則一共了進行p\times k次實驗,再取平均值。特別的,當k等於資料中包含的樣本數時,稱為留1法,評估結果較為準確但是計算開銷隨資料量變化明顯。

(3)自助法:以自助取樣為基礎,從原資料集中每次隨機挑選一個樣本放入新資料集中,同時保留原資料集不變,進行m次動作後,新資料集中可能出現多次被採到的同一樣本,也可能有部分樣本始終不被採到,概率為0.368,計算公式如下:

                                                                    m\rightarrow 00 ,(1-\frac{1}m{})^{m}\rightarrow \frac{1}{e}\approx 0.368

自助法中以新資料集為訓練集,原資料集中未採集到的樣本集合為測試集,同時由於概率保證,測試集大小可以維持在原資料集的1/3左右(包外估計)。由於其隨機性,適用於資料集較小、難以劃分測試集的時候。

效能度量(performance measure)

8. 錯誤率與精度

9. 查準率或準確率(precision):檢索出來的資訊中使用者感興趣的比例,查的有用的佔多少。

10. 查全率或召回率(recall):使用者感興趣的有多少被查出來了,有用的中多少被捕獲了。

11. 混淆矩陣:以二分類問題為例,

真實 \ 預測
TP FN
FP TN

Precision=TP/(TP+FP),     

Recall=TP/(TP+FN).

一般來說,查準率和召回率為一對矛盾的變數,通常以P-R曲線(P為Y軸,R為X軸)評估模型效能,如果某一演算法的PR曲線能夠“全包住”或“線下面積”大於另一條曲線,則認為效能更優,交叉難分辨時,以“平衡點”(P=R的點,稱BEP)作為區分,矩形面積更大的演算法效能更優。

對於多個二分類的問題,可以兩兩計算混淆矩陣的PR,再平均,稱為“巨集(macro-)查準,巨集召回”。也可以直接將兩兩矩陣的TP,FP,FN,TN等平均,再求PR,稱為“微(micro-)查準,微召回”。

12. F1:

PR的綜合體現,F1(a)=(1+a^2)xPxR   /   [(a^2xP)+R],其中a表示R對於P的重要程度。

13. ROC曲線(受試者工作特徵):真正例率TPR為Y軸,假正例率FPR為X軸。

TPR=TP/(TP+FN)

FPR=FP(TN+FP)

AUC全稱為Area Under ROC Curve。