在上一节中我们主要讲到机器学习的评估方法,其中重点是讲解了三种对数据集的划分方式,包括留出法(hold-out)、交叉验证法(k-fold cross validation)、自助法(bootstrap)。
本节来看看机器学习的评估度量标准,其中我们将从回归(Regression)与分类(Classification)两个大类来讨论其中的评估度量标准。
==================分割线=====================
1.性能度量(Performance Measure)
性能度量即评估指标(Evaluation Metrics)可以说明模型的性能,辨别模型的结果。
我们建立一个模型后,计算指标,从指标获取反馈,再继续改进模型,直到达到理想的准确度。在预测之前检查模型的准确度至关重要,而不应该建立一个模型后,就直接将模型应用到看不见的数据上。
性能度量特点:
- 性能度量是衡量模型泛化能力的数值评价标准,反映了当前问题(任务需求);
- 使用不同的性能度量可能会导致不同的评判结果;
- 关于模型“好坏”的判断,不仅取决于算法和数据,还取决于当前任务需求;
========================分割线==================
2.回归(Regression)问题的评估指标
以下为一元变量和二元变量的线性回归示意图:
怎样来衡量回归模型的好坏呢?
我们第一眼自然而然会想到采用残差(实际值与预测值差值)的均值来衡量,即:
问题 1:用残差的均值合理吗?
当实际值分布在拟合曲线两侧时,对于不同样本而言有正有负,相互抵消,因此我们想到采用预测值和真实值之间的距离来衡量。
==================分割线======================
2.1 平均绝对误差 MAE(Mean Absolute Error)


问题 2:MAE有哪些不足?
MAE虽能较好衡量回归模型的好坏,但是绝对值的存在导致函数不光滑,在某些点上不能求导,可以考虑将绝对值改为残差的平方,这就是均方误差 。
===================分割线======================
2.2 均方误差 MSE(Mean Square Error)
均方误差MSE(Mean Squared Error)又被称为范数损失
:
问题 3: 还有没有比MSE更合理一些的指标?
由于MSE与我们的目标变量的量纲不一致,为了保证量纲一致性,我们需要对MSE进行开方。
问题 4:什么是量纲不一致呢?
这就好比如说,测量体重,它的单位是KG,但是呢,由MSE计算后的单位却发生了变化,变成了,这就发生了量纲不一致。
===================分割线======================
2.3 均方根误差 RMSE (Root Mean Square Error)
问题 5: RMSE有没有不足的地方?有没有规范化(无量纲化的指标)?
上面的几种衡量标准的取值大小与具体的应用场景有关系,很难定义统一的规则来衡量模型的好坏。比如说利用机器学习算法预测上海的房价RMSE在2000元,我们是可以接受的,但是当四五线城市的房价RMSE为2000元,我们还可以接受吗?下面介绍的决定系数就是一个无量纲化的指标。
===================分割线======================
2.4 决定系数
变量之所以有价值,就是因为变量是变化的。什么意思呢?比如说一组因变量为[0, 0, 0, 0, 0],显然该因变量的结果是一个常数0,我们也没有必要建模对该因变量进行预测。假如一组的因变量为[1, 3, 7, 10, 12],该因变量是变化的,也就是有变异,因此需要通过建立回归模型进行预测。这里的变异可以理解为一组数据的方差不为0。决定系数又称为,反应因变量的全部变异能通过回归关系被自变量解释的比例。