评价指标
-
错误率与精度(一个是错误分类占比,一个是正确分类占比)
-
准确率 $P$ 与召回率 $R$ 占比(涉及混淆矩阵)
-
$F1-score=2\times\frac{P\times R}{P+R}$,$F1-score$用于平衡$P$和$R$
-
$ROC$曲线
-
$AUC$
-
对数损失:
$logloss=-\frac{1}{N}\sum_{i=1}(y_i log\pmb{p_i}+(1-y_i)log(1-\pmb{p_i}))$
-
$MAE$:平均绝对误差,不常用,因为导数不连续
-
$MSE$:均方误差,对应均方根误差(多了个平方根)
ROC(Receiver Operating Characteristic,受试者工作特征)曲线是机器学习和统计学中用来评估二分类模型性能的重要工具。它主要用于衡量模型在不同阈值下的分类能力。
通俗解释
假设你在开发一个识别垃圾邮件的模型:
- 你的模型会给每封邮件一个垃圾邮件评分(0到1之间的概率值)。
- 你需要设定一个阈值,比如0.5,如果评分大于0.5,就认为是垃圾邮件,否则是正常邮件。
**问题来了:**不同的阈值会导致不同的错误:
- 阈值低(比如0.3) → 可能会把一些正常邮件误判为垃圾邮件(假阳性增多)。
- 阈值高(比如0.7) → 可能会漏掉一些真正的垃圾邮件(假阴性增多)。
ROC曲线的作用就是:
- 考察所有可能的阈值,衡量模型的整体分类能力。
- 展示真正例率(召回率)与假正例率的权衡,帮助选择合适的阈值。
ROC曲线的轴
- 横轴(FPR,假正例率):正常邮件被错判为垃圾邮件的概率。
- 纵轴(TPR,真正例率/召回率):垃圾邮件被正确识别出来的概率。
曲线越靠近左上角,模型的分类能力越强! 一个完全随机的模型,其ROC曲线接近对角线(AUC=0.5),而一个完美模型的曲线会贴近左上角(AUC=1.0)。
显然$TP$越高越好,$FP$越高越好,所以贴近左上角时是最好的,而贴近$y=x$这条直线,接近随机猜测,最差
(如果比$y=x$还差,预测取个反就好了,就变成比原模型好的预测了,所以说$y=x$是最差的)
作用
- 评估模型的整体性能:通过AUC(曲线下的面积)来衡量模型的好坏。
- 选择最佳阈值:通过观察ROC曲线,可以找到合适的决策阈值,使误判和漏判达到最佳平衡。
- 比较不同模型:ROC曲线可以用来直观地比较多个模型的优劣。
总结: ROC曲线是用来衡量二分类模型在不同阈值下的表现,帮助找到最优的分类决策,同时也用于比较不同模型的性能。
AUC的好处
$ROC$相当于需要排序后,决定阈值来输出分类结果,但是$AUC$不需要选手输入一个设定的分数,比较方便的衡量模型的好坏
这也可以说是对数损失的好处