线性回归
- 解决回归问题
- 思想简单,实现容易
- 许多强大的非线性模型的基础
- 结果具由很好的可解释性
- 蕴含机器学习中的很多重要思想
例如 房屋价格(输出标记)和面积(样本特征)之间的关系
简单线性回归

样本特征只有一个,称为 简单线性回归
其关系为 y = ax+b

假设我们找到3了最佳拟合的直线方程,y =ax+b
则对每个样本点 xi 根据我们的直线方程,预测值为 y ^ i \hat{y}^i y^i = a x i x^i xi + b
其真值 为 y i y^i yi
我们 希望 y i y^i yi 和 y ^ i \hat{y}^i y^i 的差距尽量小,表达 y i y^i yi 和 y ^ i \hat{y}^i y^i的差距:
( y i − y ^ i ) 2 ( y^i - \hat{y}^i )^2 (yi−y^i)2 ,
考虑所有样本:
∑ i = 1 m ( y i − y ^ i ) 2 \sum_{i=1}^m ( y^i - \hat{y}^i )^2 ∑i=1m(yi−y^i)2.
目标:
使 ∑ i = 1 m ( y i − y ^ i ) 2 \sum_{i=1}^m ( y^i - \hat{y}^i )^2 ∑i=1m(yi−y^i)2 尽可能的小
带入 y ^ i \hat{y}^i y^i = a x i x^i xi + b
变成: ∑ i = 1 m ( y i − a x i − b ) 2 \sum_{i=1}^m ( y^i -ax^i -b)^2 ∑i=1m(yi−axi−b)2
目标变成: 找到 a和b, 使得 ∑ i = 1 m ( y i − a x i − b ) 2 \sum_{i=1}^m ( y^i -ax^i -b)^2 ∑i=1m(yi−axi−b)2 尽可能的小
通过分析问题,确定问题的损失函数或者效用函数,通过最优化损失函数或者效用函数,获得机器学习的模型。 近乎所有函数学习算法都是这样的套路。
例如 线性回归 多项式回归 逻辑回归 svm 神经网络…
最优化,凸优化
目标变成: 找到 a和b, 使得 ∑ i = 1 m ( y i − a x i − b ) 2 \sum_{i=1}^m ( y^i -ax^i -b)^2 ∑i=1m(yi−axi−b)2 尽可能的小
是典型的最小二乘法问题: 最小化误差的平方
a = ∑ i = 1 m ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 m ( x i − x ‾ ) 2 a = \frac{\sum_{i=1}^m (x^i - \overline{x})(y^i - \overline{y})}{\sum_{i=1}^m (x^i - \overline{x})^2 } a=∑i=1m(xi−x)2∑i=1m(xi−x)(yi−y)
b = y ‾ − a x ‾ b= \overline{y} - a\overline{x} b=y−ax
最小二乘法
目标变成: 找到 a和b, 使得 ∑ i = 1 m ( y i − a x i − b ) 2 \sum_{i=1}^m ( y^i -ax^i -b)^2 ∑i=1m(yi−axi−b)2 尽可能的小
定义为 J(a,b) 损失函数
求损失函数的最小值就是求损失函数的极值,求函数的极值最基本的方法就是对函数各个位置分量求导,使他的倒数等于0
所以就变成了:
J ( a , b ) = ∑ i = 1 m ( y i − a x i − b ) 2 J(a,b) = \sum_{i=1}^m ( y^i -ax^i -b)^2 J(a,b)=i=1∑m(yi−axi−b)2
d J ( a , b ) d a = 0 \frac{dJ(a,b)}{da} = 0 dadJ(a,b)=0
d J ( a , b ) d b = 0 \frac{dJ(a,b)}{db} = 0 dbdJ(a,b)=0
对b求导
d J ( a , b ) d b = ∑ i = 1 m 2 ( y i − a x i − b ) ( − 1 ) \frac{dJ(a,b)}{db} = \sum_{i=1}^m 2( y^i -ax^i -b)(-1) dbdJ(a,b)=∑i=1m2(yi−axi−b)(−1) = 0
⇓ \Downarrow ⇓
∑ i = 1 m y i − a x i − b \sum_{i=1}^m y^i -ax^i -b ∑i=1myi−axi−b = 0
⇓ \Downarrow ⇓
∑ i = 1 m y i − a ∑ i = 1 m x i − ∑ i = 1 m b \sum_{i=1}^m y^i -a\sum_{i=1}^m x^i -\sum_{i=1}^m b ∑i=1myi−a∑i=1mxi−∑i=1mb = 0
⇓ \Downarrow ⇓ 因为 b是常数
∑ i = 1 m y i − a ∑ i = 1 m x i − m b \sum_{i=1}^m y^i -a\sum_{i=1}^m x^i - mb ∑i=1myi−a∑i=1mx

本文深入探讨线性回归,包括简单线性回归的原理和最小二乘法求解,介绍了如何通过sklearn接口进行线性回归实现,并讨论了回归算法的评估指标如MSE、RMSE和R Squared。此外,文章还涵盖了多元线性回归及其正规方程解,以及线性回归模型的可解释性和在scikit-learn中的应用。
最低0.47元/天 解锁文章
345

被折叠的 条评论
为什么被折叠?



