14天机器学习DAY1-2|最小二乘法小结

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

目录

1.最小二乘法的原理与要解决的问题

使用最小二乘法的目的是什么?

2.最小二乘法的代数法求解

3.最小二乘法的矩阵法求解

4.最小二乘法的局限性和适用场景


1.最小二乘法的原理与要解决的问题

        最小二乘法是由勒让德在19世纪发现的,原理的一般形式很简单,当然发现的过程是十分艰难的。形式如下:

目标函数=∑(观测值−理论值)2

        观测值是我们的多组样本,理论值就是我们的假设拟合函数。目标函数也就是在机器学习中常说的损失函数,我们的目标是得到使目标函数最小化时候的拟合函数的模型。举一个最简单的线性回归的例子,比如我们有m个只有一个特征的样本:

(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...(x^{(m)},y^{(m)})

        样本采用的下面的拟合函数:

h_{\theta }(x)=\theta _{0}+\theta _{1}x 

        这样我们的样本有一个特征x,对应的拟合函数有两个参数\theta _{0}\theta _{1}需要求出。

        我们的目标函数为:

使用最小二乘法的目的是什么?

        🛋️使  J(\theta _{0},\theta _{1}) 最小化,求出损失函数最小时的参数 \theta _{0} 和 \theta _{1},这样拟合函数就得出了。

2.最小二乘法的代数法求解

        上面提到要使 J(\theta _{0},\theta _{1}) 最小,方法就是对\theta _{0} 和 \theta _{1} 分别来求偏导数,另偏导数为0,得到一个关于\theta _{0} 和 \theta _{1}的二元方程组。求解这个二元方程组,就可以得到\theta _{0} 和 \theta _{1} 的值。具体过程如下:

        这个方法很容易推广到多个样本特征的非线性拟合。原理和上面的一样,都是用损失函数对各个参数求导取0,然后求解方程组得到参数值。

3.最小二乘法的矩阵法求解

        矩阵法比代数法还要简洁,且矩阵运算可以取代循环,所以现在很多书和机器学习库都使用矩阵法求解最小二乘。

  

        这样我们就一下子求出了θ向量表达式的公式,免去了代数法一个个去求导的麻烦。只要给了数据,我们就可以用\theta =(X^{T}X)^{-1}X^{T}Y 算出θ

4.最小二乘法的局限性和适用场景

        从上面可以看出,最小二乘法的使用简洁高效,比梯度下降迭代法似乎方便很多,但是最小二乘法有其局限性:

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

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

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

        (4)当样本量m很少,小于特征数n时,这是拟合方程是欠定的,常用的优化方法都无法拟合数据。当样本量m等于特征数n时,可以用方程组直接求解,当m大于n时,拟合方程是超定的,也就是我们常用的最小二乘法的场景了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值