线性回归,回归算法评估, 多元线性回归

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

线性回归

  • 解决回归问题
  • 思想简单,实现容易
  • 许多强大的非线性模型的基础
  • 结果具由很好的可解释性
  • 蕴含机器学习中的很多重要思想

例如 房屋价格(输出标记)和面积(样本特征)之间的关系

简单线性回归

在这里插入图片描述
样本特征只有一个,称为 简单线性回归
其关系为 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 (yiy^i)2 ,
考虑所有样本:

∑ i = 1 m ( y i − y ^ i ) 2 \sum_{i=1}^m ( y^i - \hat{y}^i )^2 i=1m(yiy^i)2.
目标:
使 ∑ i = 1 m ( y i − y ^ i ) 2 \sum_{i=1}^m ( y^i - \hat{y}^i )^2 i=1m(yiy^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(yiaxib)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(yiaxib)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(yiaxib)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(xix)2i=1m(xix)(yiy)
b = y ‾ − a x ‾ b= \overline{y} - a\overline{x} b=yax

最小二乘法

目标变成: 找到 a和b, 使得 ∑ i = 1 m ( y i − a x i − b ) 2 \sum_{i=1}^m ( y^i -ax^i -b)^2 i=1m(yiaxib)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=1m(yiaxib)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(yiaxib)(1) = 0

⇓ \Downarrow

∑ i = 1 m y i − a x i − b \sum_{i=1}^m y^i -ax^i -b i=1myiaxib = 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=1myiai=1mxii=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=1myiai=1mx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值