评估指标
有二分类的混淆矩阵如下
- TP、TN、FP、FN 中的第二个字母(列标首字母)是机器学习算法或模型预测的结果(正例:P、反例:N)
- TP、TN、FP、FN 中的第一个字母(行标首字母)是根据真实情况判断预测结果是否正确(正确:T、错误:F)
即:
正确地预测为正例:TP
正确地预测为反例:TN
错误地预测为正例:FP
错误地预测为反例:FN
准确率
准确率是指分类正确的样本占总样本个数的比例,即
A c c u r a c y = n c o r r e c t n t o t a l Accuracy=\frac{n_{correct}}{n_{total}} Accuracy=ntotalncorrect
准确率是分类问题中最简单也是最直观的评价指标,但存在明显的缺陷,当不同类别的样本比例非常不均衡时,占比大的类别旺旺成为准确率的最主要因素。
精确率&召回率(查全率)
精确率是指分类正确的正样本个数占分类器判定为正样本的个数的样本个数的比例。
P r e c i s i o n = T P T P + F P Precision =\frac{TP}{TP+FP} Precision=TP+FPTP
召回率是指分类正确的正样本个数占真正的正样本个数的比例。
R e c a l l = T P T P + F N Recall =\frac{TP}{TP+FN} Recall=TP+FNTP
精确率&召回率是矛盾统一的两个指标,为了提高Precision值,分类器需要尽量在“更有把握”时才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多“没有把握”的正样本,而导致Recall偏低。
使用F1 score来调和精确率和召回率:
F 1 = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n ∗ r e c a l l F1 =\frac{2*precision*recall}{precision*recall} F1=precision∗recall2∗precision∗recall
RMSE的失效(MAPE的改进)
R M S E = ( ∑ i = 1 n ( y i − y i h a t ) 2 / n ) 0.5 RMSE=(\sum_{i=1}^{n}(y_i-y_{i{hat}})^2/n)^{0.5} RMSE=(∑i=1n(yi−yihat)2/n)0.5
一般情况下,RMSE能够很好地反应回归模型预测值与真实值的偏离程度。但在实际问题中,如果存在个别偏离程度非常大的离群点(Outlier)时,即使离群点数量非常少,也会让RMSE指标变得很差。
针对这种情况,使用比RMSE更鲁棒的指标——平均绝对百分比误差(MAPE):
M A P E = ∑ i = 1 n ∣ y i − y i h a t y i ∣ ∗ 100 n MAPE=\sum_{i=1}^{n}|\frac{y_i-y_{ihat}}{y_i}|*\frac{100}{n} MAPE=∑i=1n∣yiyi−yihat∣∗n100
相比RMSE,MAPE相当于吧每个点的误差进行了归一化,降低了个别离群点带来的绝对误差的影响。
ROC曲线
ROC曲线,即“受试者工作特征曲线”。
ROC曲线的横坐标为假阳性率(False Positive Rate,FPR);纵坐标为真阳性率(True Positive Rate,TPR)。FPR和TPR的计算方法为:
F
P
R
=
F
P
/
N
FPR=FP/N
FPR=FP/N
T
P
R
=
T
P
/
P
TPR=TP/P
TPR=TP/P
N
=
T
P
+
F
N
,
P
=
F
P
+
T
N
N=TP+FN,P=FP+TN
N=TP+FN,P=FP+TN
TP是P个正样本中被分类器预测为正样本的个数
FP是N个负样本中被分类器预测为夫样本的个数
AUC指的是ROC曲线下的面积大小,该值能够量化地反应基于ROC曲线衡量出的模型性能。AUC的取值一般0.5~1之间,AUC越大,说明分类效果越好。
ROC曲线特点:当正负样本发生变化时,ROC曲线的形状能够保持基本不变,而P-R曲线(横轴Recall,纵轴Precision)会发生剧烈变化。这个特点让ROC曲线能够尽量降低不同测试集带来的干扰,更加客观的衡量模型本身的性能,若是希望更多地看到模型在特定数据集上的表现,P-R曲线能够更直观地反应其性能。
余弦距离
在将特征表示为向量的形式时,分析两个特征向量(高维时也成立)之间的相似性时,常用余弦相似度来表示。余弦相似度的取值范围是[-1,1],相同的两个向量的相似度为1。将1减去余弦相似度即为余弦距离。余弦距离的取值范围是[0,2],相同的两个向量余弦距离为0。
余弦相似度 c o s ( a , b ) = A ⋅ B ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 cos(a,b)=\frac{A\cdot B}{||A||_2||B||_2} cos(a,b)=∣∣A∣∣2∣∣B∣∣2A⋅B
余弦距离不是一个严格定义的距离(满足正定性和对称性,不满足三角不等式)
A/B测试
模型评估的方法
主要的验证方法
- holdout检验:将原始样本集随机分为训练集+验证集
- 交叉检验:k-fold交叉验证、留一验证(时间开销极大)
- 自助法:基于自助采样法的检验方法。对于总数为n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集。n次采样过程中,有的样本会被重复采样,有的样本没有被抽到过,将这些没有被抽出的样本作为验证集,进行模型验证。
在自助法的采样郭曾中,对n个样本进行n次自助采样,n趋于无穷大时,最终有1/e的数据从未被选择过
超参数调优
- 网格搜索
- 随机搜索
- 贝叶斯优化
过拟合与欠拟合
见我的另一篇博客