R方

R方公式

在机器学习中,首先定义一个样本\((x_i,y_i)\),预测的y为\(\hat{y_i}\)
则有:

\[\bar{y} = \frac{1}{n} \sum_i^n y_{i} \]

\[SS_{tot} = \sum_i(y_i - \hat{y_i})^2 \]

\[SS_{reg} = \sum_i(\hat{y_i} - \bar{y}) \]

\[SS_{res} = \sum_i(y_i - \hat{y_i}) \]

\[R^2 = 1 - \frac{SS_{res}}{SS_{tot}} \]

  • 名词解释
    \(SS_{tot}\) 其中tot表示 total sum of squares ,总的平方和,总的平方和表示真实值的一个离散程度。
    \(SS_{reg}\) 其中reg表示 regression sum of squares, also called the explained sum of squares,回归平方和,又称 显示平方和;表示预测值与真实平均值之间的一个离散程度。
    \(SS_{res}\) 其中res表示The sum of squares of residuals, also called the residual sum of squares,残差平方和;表示真实值与预测值之间的一个离散程度。

R方解释

R方是Coefficient of Determination,也叫R Squared,一般地,在机器学习中我们用R Squared评价我们训练模型的合理性,大白话讲就是模型 模型参数啥的都搞出来了,但是这个模型到底好不好呢?
我们先选择一个简单的模型,然后让我们的训练的模型和这个简单的模型比较,如果,我们费了好大力训练的模型比这简单模型效果都差,那这个我们这个模型本选择就不好,否则,这模型可能还不错吧。举例来说,我们根据一些特征去预测房价,我们不妨直接把这些房子的平均值作为预测值(这个平均值称为 均值模型,容易得到),然后我们利用一个复杂机器学习的算法
去预测房价(训练的模型)。根据R方的公式,\(SS_{res}\)表示我们的训练的模型的一个偏离真实值得情况,\(SS_{tot}\)表示均值模型(我们随便选的一个简单模型)偏离真实值得情况,如果\(SS_{res}\) 比上\(SS_{tot}\)比1还要大很多,说明我们训练的模型垃圾,比随便搞的一个均值模型效果都差,那还费力气图个啥,这个训练的模型本身就不合适当前的问题,若\(SS_{res}\) 比上\(SS_{tot}\) 在(0,1)之间,恩,说明我们模型至少比随便选的模型效果好,还不错。

R方含义

经过以上R方的解释,不难得到以下结论:

  1. 等于1。理想状况,该模型对所有的真值预测准确,没有偏差。泼个冷水,如果某篇文章里出现了R方=1,要么是问题过于简单没有研究价值,要么是模型过于复杂,对数据进行了过度拟合。
  2. 小于1大于0。这是常见状况,表明该模型的拟合水平比均值模型好。
  3. 等于0。该模型的拟合水平接近于均值模型。该模型没有价值。
  4. 小于0。该模型的拟合水平不如均值模型。同样,该模型更没有价值。

参考文献

[1] https://en.wikipedia.org/wiki/Coefficient_of_determination
[2] https://zhuanlan.zhihu.com/p/159000427
[3]https://www.zhihu.com/question/32021302/answer/739464752 (参考 当我沉默的时候 用户的回答)

posted @ 2020-08-19 17:02  ahpuched  阅读(1540)  评论(0编辑  收藏  举报