机器学习(一)~模型评估与选择 之 *性能度量
机器学习(一)~模型评估与选择 之 *性能度量
1.错误率与精度
错误率和精度是分类任务中最常用的两种性能度量,既适用于二分类也适用于多分类
错误率(error rate):分类错误的样本数占样本总数的比例
准确率(accuracy):1 - 错误率
例如:当损失函数是0-1损失时,测试误差/错误率etest 和准确率rtest 为:
测试误差/错误率
精度
显然,etest + rtest = 1
2.查准率、查全率与F1
错误率和精度虽常用,并不能满足所有任务需求,例如想知道挑出的多少瓜是好瓜/推荐的信息有多少用户感兴趣?
对于二分类问题,将预测的各种可能情况列出分析:
查准率/准确率(Precision): 挑出的瓜有多少好瓜 / 推荐的信息有多少用户感兴趣?
查全率/召回率(Recall-rate): 用户感兴趣的信息有多少被检索出来 / 好瓜是否被全部挑出来?
- 查准率和查全率是一对矛盾的度量,一般查准率高时,查全率低;查全率高时,查准率低
- P-R曲线是指查准率-查全率曲线,如图:
- 在进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全包住,则后者性能优于前者,A优于C;
- A与B难度量,一种方式是”平衡点“度量法(BEP),即当查准率=查全率的值,图中BEPA=0.805 > BEPB=0.73, A优于B
- 常用F1度量(P和R的调和平均):
- 当进行多次二分类训练时会得到多个二分类混淆矩阵,为求全局P和R,则有宏查准率(计算每个混淆矩阵的P求平均)和微查准率(分别计算所有矩阵的TP、FP、TN、FN总和求平均TP、FP、TN、FN,再计算查准率)
3.ROC与AUC
真正例率(正例中有多少被预测出来了):TPR=TP/(TP+FN)
假正例率(反例中有多少被预测成了正例):FPR=FP/(FP+TN)
同P-R曲线,在进行比较时,若一个学习器的ROC曲线被另一个学习器的曲线完全包住,则后者性能优于前者;有交叉则难度量,常用AUC度量,即计算曲线下方的面积和
-
预测结果的排序损失lrank:对预测结果凡是f(x+)<f(x-)的处相应罚分,对f(x+)=f(x-)的处0.5罚分
-
lrank对应的是ROC曲线之上的面积,AUC=1-lrank
-
缺点:ROC曲线没有考虑不同错误造成的不同后果,此时应该考虑最小化”总体代价“而不是错误次数,代价敏感曲线解决了这一问题,加入了不同错误的代价系数,相当于对损失函数加权