线性回归
1 线性回归的基本介绍
简单线性回归(Simple Linear Regression)
1 很多做决定过过程通常是根据两个或者多个变量之间的关系
2 回归分析(regression analysis)用来建立方程模拟两个或者多个变量之间如何关联
3 被预测的变量叫做:因变量(dependent variable), y, 输出(output)
4 被用来进行预测的变量叫做: 自变量(independent variable), x, 输入(input)
2 简单线性回归介绍
1 简单线性回归包含一个自变量(x)和一个因变量(y)
2 以上两个变量的关系用一条直线来模拟
3 如果包含两个以上的自变量,则称作多元回归分析(multiple regression)
简单线性回归方程
E(y) = β0+β1x
这个方程对应的图像是一条直线,称作回归线
其中,
β0是回归线的截距
β1是回归线的斜率
E(y)是在一个给定x值下y的期望值(均值)
正向关系、负向关系、无关系
β1 >0 β1<0 β1=0
3 多元线性回归
注意:特殊的是X0为1
4损失函数(误差大小)
损失函数:
是的损失函数是最小值:误差是最小的
(1)使用梯度下降算法
(2)正规方程(简单的线性回归)
5 正规方程
X是指特征值矩阵
y目标值矩阵缺点:特征值过于复杂的时候,求解速度太慢了
6 梯度下降算法
以单变量为例
a是指学习速率
这个过程按照某一点在W1上的偏导数下降来寻找最低点
函数的意义:沿着这个函数的下降的方向,找到山谷的最低点,不断的取更新w的值
7 均方误差(MSE)
from sklearn.metrics import mean_squared_error
def mean_squared_error(y_true, y_pred,
sample_weight=None,
multioutput='uniform_average'):
注意点:
1、真实值与预测值为标准化之前的值
2、返回值是一个浮点型数据
8 梯度下降与正规方程的对比
梯度下降 | 正规方程 |
---|---|
需要选择学习率 | 不需要 |
需要多次迭代 | 一次运算就可以了 |
当特征量很多的时候,适用情况很好 | 需要计算,如果特征数量很大的化,计算比较大,因为矩阵逆的计算时间复杂度为o(n**3) |
适用与各种模型的计算 | 只适合于线性模型,不适合逻辑回归模型 |
小规模数据集 :正规方程
大规模数据集:SGD
9过拟合与欠拟合
过拟合 | 在训练集上获得更好的拟合,但是在训练集以外的数据集上表现很差 |
---|---|
欠拟合 | 在训练集上表现不好,在训练集以外的数据集上表现也不好 |
10 解决过拟合与欠拟合的问题
解决:
欠拟合:
原因:学习到的特征过少
解决:增加特征数量
过拟合:
原因:原始输入的数据的特征过多,存在一些没有必要的嘈杂数据,模型之所以过于复杂,是因为模型想要更多的取匹配兼顾每一个数据点
解决:
1、进行特征的选择,消除一些关联数据较大的特征(最困难)
2、交叉验证
3、正则化
11. L2的正则化
解决过拟合问题
优点:
参数越小,说明模型越简单,模型越简单就越不容易出现过拟合现象
12 岭回归
具有L2正则化的线性最小二乘法
from sklearn .linear_model import Ridge
from sklearn .linear_model import Ridge,RidgeCV
13 线性回归与岭回归
岭回归