线性回归求解

1 一道例题

有这么一道中学数学题。总成绩 XXX 和数学成绩 YYY 数据如下:

1 求数学成绩对总成绩的回归方程。

2 如果一个学生总成绩是450,求该学生的数学成绩。

能做出来吗?可以的话就不用看下去了。这个基本上算是目前机器学习的基石了,说起来也算是高中的知识范围,我不知道是不是人人都懂了,我觉得我不是很懂,所以周末抽时间专门写一篇来总结总结。。。

回归方程是Y=a+bX。所以现在要求的就是截距a和回归系数b。

首先计算平均值:

然后计算回归系数b

计算截距a

所以方程是:

Y=14.49+0.1325X

那么第二个问题也很好解了。代入总成绩 X=450X = 450X=450,Y = 14.49+0.1325×450=14.49+59.625=74.115。

上面的过程基本不算难,就是回归系数的推算,看了下是最小二乘法。
然后推断出上面的回归系数公式。

对了,再提一嘴,两个点求函数怎么求呢?这个初中知识。。。

斜率b = (y2 - y1)/(x2 - x1)

截距a = y - ax(任意一个点都行)

在现代计算机中,这部分都是改成矩阵运算了(所以最早搞游戏矩阵运算的老黄接下了这个泼天富贵。。。)

其中,XXX 是自变量矩阵,YYY 是因变量向量。

这里面具体的算法容我后面再看看。。。

2 最小二乘法

再说说最小二乘法,其实这个翻译真的很有问题,弯弯那边翻译成最小平方法,我觉得很贴切。一张图就可以看到这个的本质

本质就是使得绿线的平方和最小,那么这个蓝线就是最优。为什么用平方不用绝对值呢?据说原因有二。1是平方计算可导,更加方便。2是用平方可以放大误差,这样计算效果更好。

所以最小二乘法通过最小化以下目标函数来找到最佳拟合直线。

3 截距公式的推导

再看看截距公式的推导,我的数学不好,所以这部分也是copy并整理的。

误差平方和 S 可以表示为:

为了找到使 S 最小的 m 和 b,我们需要对 S 分别关于 m 和 b 求偏导数,并令它们等于零。

首先,对 S 关于 m 求偏导数:

展开并整理得:

由于 ,我们可以将其提取出来:

从上式,我们可以解出 m 关于 b 的表达式:

接下来,对 S 关于 b 求偏导数并令其为零,以找到 b 的值。但在这里,我们主要关注 m 的推导,因此 b 的具体值不是必需的。

然而,为了完整性,如果我们假设 ∑i=1 n xi=0(即数据点关于 xx 轴对称),那么 b 的项在 m 的表达式中就会消失,从而我们得到:

这就是使用最小二乘法计算直线斜率的公式。

4 最小二乘法和梯度下降

最后再早说说最小二乘法和梯度下降算法。

最小二乘法和梯度下降算法在目标和应用上有所区别,理解它们的关系和差异,有助于选择合适的方法解决具体问题。最小二乘法适用于简单线性回归和小数据集,而梯度下降则更灵活,适用于复杂和大规模数据集。

简而言之,就是最小二乘法只能用在简单的场景。复杂的还是只能用梯度下降。。。

参考:

最小二乘法

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值