机器学习分类与性能度量
機器學習分類與性能度量
數據集:訓練集(Training Set)、驗證集(Validation Set)和測試集(Test Set)
1、 當模型無需人為設定超參數,所用參數都通過學習得到,則不需要驗證集。驗證集適合多個不同超參數訓練多個模型,通過驗證集,選擇最好的模型及其相應的超參數。
2、監督學習(supervised learning ): 有導師學習,分類和回歸
從給定的訓練數據集中學習出一個函數(模型參數),當輸入新數據時,可以根據這個函數預測結果。
- 分類(classification): 輸出是離散型變量,是一種定性輸出,如+1、-1。
- 回歸(regression):輸出是是連續型變量,是一種定量輸出。
3 、無監督學習(unsupervised learning):無導師學習,聚類和維度約簡。
輸入數據沒有標簽,樣本數據類別未知,需要根據樣本間的相似性對樣本集進行劃分是類內差距最小化,類間差距最大化。
- 基于概率密度函數估計的直接方法
- 基于樣本間相似性度量的聚類方法
4、強化學習(reinforcement learning):再勵學習、評價學習或增強學習
用于描述和解決智能體(agent) 在與環境的交互過程中通過學習策略以達成匯報最大化或實現特定目標的問題。
- 不同于監督學習和無監督學習,強化學習不要求預先給定任何數據,而是通過接受環境對動作的獎勵( 反饋)獲得學習信息并更新模型參數。
誤差(error)
指的是模型輸出與真值的偏離程度,通常定義一個損失函數來衡量誤差大小。
- 經驗誤差/訓練誤差:在訓練集上產生的誤差,大小反應了模型在訓練數據上擬合效果的好壞。
- 泛化誤差:模型在未知樣本上的誤差,通常將測試誤差作為泛化誤差的近似值,泛化誤差用于衡量訓練好的模型對未知數據的預測能力。
過擬合和欠擬合
1、過擬合:模型在訓練樣本中表現的過于優越,導致在驗證集以及測試集上表現不佳。
2、欠擬合:指模型在訓練和預測時表現的都不好。
評估方法
1、留出法
數據集分為互斥的訓練集和測試集。數據分布保持一致。測試集比例保持在1/3 至1/5。
2、交叉驗證法
數據集平均分為互斥的k份,每次訓練從數據集中選擇出一份作為測試集,經過k次后,就k份測試集,求誤差的平均值。
3、 自助法
數據集D中包含m個樣本,對數據集D進行m次有放回采樣,采樣到的數據構成數據集S,將S作為訓練集,未出現在S中的數據作為測試集。
樣本不出現在S中的概率為:
適合小數據集,不會減小訓練集規模,但改變了數據分布,易引起估計偏差。
性能度量
分類模型性能度量方法
1、混淆矩陣(confusion matrix):誤差矩陣,主要用于分類結果和實例的真實信息。以二分類為例,如下。
真正TP:模型預測為正的正樣本
假正FP:模型預測為正的負樣本
假負FN:模型預測為負的正樣本
真負TN:模型預測為負的負樣本
-
準確率:正確預測的正反例數/總數
Accuracy=TP+TNTP+FN+FP+TN\frac{TP+TN}{TP+FN+FP+TN}TP+FN+FP+TNTP+TN? -
精確率:正確預測的正例數/預測正例總數
Precision=TPTP+FP\frac{TP}{TP+FP}TP+FPTP? -
召回率:正確預測的正例數/實際正例數總和
Recall=TPTP+FN\frac{TP}{TP+FN}TP+FNTP? -
F-score : precision和recall的調和值
a = β2β^2β2
F-score=(1+a)precision?Recalla?precision+Recall\frac{precision*Recall}{a* precision+Recall}a?precision+Recallprecision?Recall?
β=1時,稱為F1-score或F1-Measure,精確率和召回率都很重要,權重相同。
β<1時,精確率更重要。
β>1時,召回率更重要。
F1-score:precision和Recall的調和平均評估指標。
F1-score=2*precision?Recallprecision+Recall\frac{precision*Recall}{precision+Recall}precision+Recallprecision?Recall?
2、ROC曲線:根據結果計算得到ROC空間中相應的點,連接這些點形成ROC曲線。值越大代表預測準確率越高。
真正率(TPR):預測為正的正樣本/正樣本實際數。
TPR=TP/(TP+FN)
假正率(FPR):預測為正的負樣本數/負樣本實際數
FPR=FP/(FP+TN)
3、AUC:ROC曲線下的面積(ROC的積分)
- AUC=1 ,100%完美識別正負類,不管閾值怎么設定都能得出完美預測;
- 0.5<AUC<1;優于隨機猜測。
4、PR曲線:precision對recall的曲線
- 在同一測試集,上面的曲線比在下面的曲線好。
- 光滑曲線比不光滑曲線好。
5、PR曲線與ROC曲線
- 相同點:采用TPR(Recall)來衡量,用AUC來衡量分類器效果。
- 不同點:ROC曲線使用了FPR,PR曲線使用了precision。
回歸模型性能度量
1、解釋變異:給定數據中的變異能被數學模型所解釋的部分,通常方差來量化變異。
Explainedvariance(y,y_)=1- Var(y?y)Vary\frac{Var(y-y_)}{Var y}VaryVar(y?y)??
2、決定系數:回歸關系已經解釋的y值變異在其總變異中所占的比率。
3、蘭德指數(rand index)
給定實際類別信息C,假設K是聚類結果,a表示在C與K中都是同類別的元素對數,b表示在C與K都是不同類別的元素對數。
4、調整蘭德指數
ARI=RI?E(RI)max(RI)?E(RI)\frac{RI-E(RI)}{max(RI)-E(RI)}max(RI)?E(RI)RI?E(RI)?,ARI取值范圍[-1,1]
5 、 互信息:用來衡量兩個數據分布的吻合程度。
假設U與V是對N個樣本標簽的分布情況,則:
其中P(i,j)=∣Ui∩Vj∣N\frac{|U_i∩V_j |}{N}N∣Ui?∩Vj?∣?
6、 標準化互信息NMI
7、調整互信息
8、輪廓系數
對于單個樣本,設a是它與同類別中其他樣本的平均距離,b是與它距離最近不同類別中樣本的平均距離
S=b?amax?(a,b)\frac{b-a}{max?(a,b)}max?(a,b)b?a?,取值范圍[-1,1]。
適用于實際類別信息未知的情況。
總結
以上是生活随笔為你收集整理的机器学习分类与性能度量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 绘制热力图参数详解
- 下一篇: PyTorch 之 requires_g