评估指标的局限性
-
准确率(Accuracy)
- \(\text{Accuracy} = \dfrac{n_{correct}}{n_{total}}\)
- 样本不均衡时,不准确
- 改进:平均准确率
-
精确率(Precision)和召回率(Recall)
-
精确率:分类正确的正样本个数占分类器判定为正样本的样本个数比例
-
召回率:分类正确的正样本个数占真正的正样本个数的比例
-
\(Precision = (TP) / (TP + FP)\)
-
\(Recall = TP / (TP + FN)\)
-
\(F1 = (2 \times p \times r) / (p + r)\) 调和平均数
-
-
均方根误差(Root Mean Square Error, RMSE)
-
常用来衡量回归模型
-
易受离群点影响(基于欧式距离)
-
改进:平均绝对百分比误差(MAPE)
\[MAPE = \sum_{i=1}^n|\frac{y_i - \hat{y}_i}{y_i}|\times \frac{100}{n}
\]
-
PR曲线和ROC曲线
-
PR曲线
-
排序问题,通常没有确定阈值确定正负样本
-
认为模型Top N结果就是模型判定的正样本,然后计算前N个位置上的准确率Precision@N和Recall@N
-
-
ROC曲线(受试者工作特征曲线)
- 纵坐标:真阳率(True Positive Rate)。\(TPR = TP / P\)
- 横坐标:假阳率(False Positive Rate)。 \(FPR = FP / N\)
- 二值分类问题中,模型输出预测为正样本的概率。将样本按照概率排序,不断移动截断点生成曲线上的关键点。截断点就是区分正负样例预测结果的阈值。
-
AUC
- AUC越大,说明模型把真正的正样本排在前面,性能越好
-
PR曲线与ROC曲线比较
- ROC能尽量降低不同数据集带来的干扰,形状比较稳定
- PR曲线适用于特定数据集,更直观
余弦距离
- 用余弦相似度表示余弦距离
- 欧氏距离用来研究数值的绝对差异(相同维度差异),余弦距离用来研究相对差异(比如各维度的差异)
- 在单位圆上有:\(||A-B||_2 = \sqrt{2(1-cos(A,B))}\)
- 余弦距离满足正定性、对称性,不满足三角不等式(可通过单位圆举出反例)
- KL距离不满足对称性和三角不等式
A/B测试
- 原因:
- 离线评估可能过拟合
- 线上工程环境不同
- 某些商业指标在离线评估时无法计算
- 方法:
- 用户分桶:实验组和对照组
- 样本的独立性和采样方式的无偏性
模型评估方法
- Holdout检验:划分训练集和测试集
- 交叉检验
- 留p检验
- 自助法:当样本数很大时,大约有36.8%样本从未选择过,可用作验证集
超参数调优
- 网格搜索,局部最优解
- 随机搜索,局部最优解
- 贝叶斯优化方法:
- 首先根据先验分布,设置一个搜集函数,然后采样测试目标函数,并利用这个信息更新目标函数的先验分布。最后,算法测试由后验分布给出的最值最可能出现的位置的点
- 探索+利用的平衡
过拟合和欠拟合
- 过拟合
- 训练集效果好,泛化能力差
- 降低过拟合:
- 获取更多训练数据
- 降低模型复杂度
- 增加正则化
- 集成学习,降低单一模型过拟合风险
- 欠拟合
- 训练集和测试集效果都很差
- 降低欠拟合
- 添加更多特征
- 增加模型复杂度
- 减小正则化系数
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:机器学习模型评估方法 - Python技术站