线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
线性回归利用线性回归方程的最小平方函数对一个或多个自变量与因变量之间的关系进行建模,这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量的情况叫做多元回归。
开发流程:
1.提出假设函数(假设存在某种线性关系)y^ = a * x + b
2.提出损失函数(一个样本的误差)
3.提出代价函数(整个样本集的误差)
4.计算代价函数的最小值。得到对应的a,b
5.将a,b带入到假设函数做预测
技术路线:sklearn.linear_model.LinearRegression
步骤:
1.建立工程导入sklearn包
import matplotlib.pyplot as plt
from sklearn import linear_model
2.加载训练数据,建立回归方程
3.可视化处理
多元回归:
多项式回归是研究一个因变量与一个或多个自变量间多项式的回归分析方法。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。
在一元回归分析中,如果以变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归。
多项式回归的最大优点就是可以通过增加x的高次项对实测点进行逼近,直到满意为止。
事实上,多项式回归可以处理相当一类非线性问题,他在回归分析中占有重要的地位,因为任一函数都可以分段使用多项式来逼近。
在简单的线性回归的实例中,是运用直线来拟合数据输入与输出之间的线性关系。不同于线性回归,多项式回归是使用曲线拟合数据的输入与输出之间的映射关系。
对于线性回归中的拟合问题:
过拟合:拟合太过,假设函数过于复杂
解决方法:
1.使用较简单的假设函数
2.提取部分特征
3.正则化:在优化损失函数的时候,添加一个正则项
欠拟合:拟合不够,假设函数过于简单
解决方法:
1.增大数据集
2.增加特征个数
3.假设函数改为复杂一些的假设函数
梯度下降的三种方式:
1.批量梯度下降:计算导数的时候,每次更新参数W,需要整个样本集的参与。算的慢,准。
2.随机梯度下降:计算导数的时候,每次更新参数W,需要随机一个样本参与。算的快,不准
3.小批量梯度下降:计算导数的时候,每次更新参数w,需要一部分样本参与。算的相对快,相对准。
对线性回归的改进:
整个样本集全都是线性关系的时候,比较少
局部加权线性回归:在做预测的时候,只考虑距离新数据较近的样本点,对这些样本点进行线性回归。