机器学习之最小二乘法(二)

参考:https://www.cnblogs.com/pinard/p/5976811.html
接着上一篇的知识,这一章主要讲最小二乘法。这一篇主要参考链接如上,这部分主要记载一些我的关注重点。

1、最小二乘法
最小二乘法是用来做函数拟合或者求函数极值的方法。在机器学习,尤其是回归模型中,经常可以看到最小二乘法的身影。

最小二乘法是由勒让德在19世纪发现的。

拟合函数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这部分和上一篇的梯度下降相同,都是最小化损失函数J(θ),求解最优参数θ。

2、最小二乘法的代数法解法
在这里插入图片描述
很明显计算有点复杂,如果计算量比较小,最小二乘法还是比梯度下降方便的,但是如果计算量大的话,梯度下降要比最小二乘法方便。

3.最小二乘法的矩阵法解法
假设函数:
在这里插入图片描述
损失函数:
在这里插入图片描述
在这里插入图片描述
我们可以通过这个公式计算θ。
在这里插入图片描述

如果有看不懂的,直接看参考链接。这里是总结一些需要记住的公式。

4.最小二乘法的局限性和适用场景  
最小二乘法实用简洁高效,比梯度下降这样的迭代法似乎方便很多。
但是这里我们就聊聊最小二乘法的局限性。

首先,最小二乘法需要计算XTX的逆矩阵,有可能它的逆矩阵不存在,这样就没有办法直接用最小二乘法了,此时梯度下降法仍然可以使用。
当然,我们可以通过对样本数据进行整理,去掉冗余特征。让XTXXTX的行列式不为0,然后继续使用最小二乘法。

第二,当样本特征n非常的大的时候,计算XTXXTX的逆矩阵是一个非常耗时的工作(nxn的矩阵求逆),甚至不可行。此时以梯度下降为代表的迭代法仍然可以使用。
那这个n到底多大就不适合最小二乘法呢?如果你没有很多的分布式大数据计算资源,建议超过10000个特征就用迭代法吧。或者通过主成分分析降低特征的维度后再用最小二乘法。

第三,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用,此时梯度下降仍然可以用。

第四,讲一些特殊情况。当样本量m很少,小于特征数n的时候,这时拟合方程是欠定的,常用的优化方法都无法去拟合数据。当样本量m等于特征数n的时候,用方程组求解就可以了。当m大于n时,拟合方程是超定的,也就是我们常用与最小二乘法的场景了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值