损失函数 和 R Square

来源:5-6 最好的衡量线性回归法的指标:R Squared

uuugggd

2019-02-20

请问可以使用 R Square 作为损失函数么?

还有,MSE,MAE,RMSE这些应该都是可以作为损失函数的吧?采用最小二乘,是因为这个公式比较合理吗?

写回答

1回答

liuyubobobo

2019-02-20

赞问题!


首先,我必须强调:这两者概念上不同。(我估计你是了解的,但是以防万一,要强调一下。)


R Square是在已知预测值(y_hat)的基础上,评判预测值的好坏的一个指标。关键是已知了y_hat!MSE,MAE,RMSE均是如此!

//img.mukewang.com/szimg/5c6d07240001067219861114.jpg


而损失函数是在已知数据点和对应的真值的基础上(X和y),最优化一个目标。此时,我们还不知道y_hat是多少(以线性回归为例,因为我们还不知道theta是多少)。我们就是要通过最小化损失函数,求出theta!以下ppt截图来自下一章。

//img.mukewang.com/szimg/5c6d088b0001d13a19801110.jpg


所以,请明确一下这两者概念的不同。


==========


但如果你要问,我们可不可以通过最优化R square,来求theta。可以!


实际上,这等价于我们讲的损失函数!

因为,R square越大越好,所以,式子中后面减的那一项越小越好。而后面那一项,分母是常熟!所以,分子越小越好。而分子,就是上面ppt中的损失函数:)


用这样的思路分析,是的,所有的评价指标都可以摇身一变,成为损失函数。但是,并不是所有的损失函数都是容易求的。比如MAE,由于有绝对值,导致不是处处可导,所以,不能(或者说不宜)使用梯度下降法:)


另外们还有一些评价指标,只反映某个侧面,用来求解全局的参数,是不合适的(可以继续往后学,召回率,精准率等概念。评价指标本身也是机器学习领域的一个大话题,绝不亚于损失函数的求解:))


继续加油!:)

4
1
uuugggd
非常感谢!
2019-02-20
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5856 学习 · 2437 问题

查看课程