文章目录
回归算法-线性回归分析
线性模型
w为权重,b称为偏置项
线性回归
通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。
- 一元线性回归:涉及到的变量只有一个
- 多元线性回归:涉及到的变量两个或两个以上
通用公式:
其中𝑤,𝑥为矩阵:
损失函数
总损失定义:
又称最小二乘法
- yi为第i个样本的真实值
- hw(xi)为第i个训练样本特征值组合预测函数
损失函数直观图(单变量)
最小二乘法梯度下降
以单变量中w1,w2为例
𝛼为学习速率,需要手动指定
沿着这个函数下降的方向找,最后就能找到山谷的最低点,然后更新W值
sklearn线性回归梯度下降API
sklearn.linear_model.SGDRegressor()
回归性能评估
均方误差(Mean Squared Error)MSE 评价机制:
性能评估API
sklearn.metrics.mean_squared_error
mean_squared_error(y_true, y_pred)
- 均方误差回归损失
- y_true:真实值
- y_pred:预测值
- return:浮点数结果
注:真实值、预测值为标准化之前的值
欠拟合与过拟合
- 过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)
- 欠拟合:一个假设在训练数据上不能获得更好的拟合, 但是在训练数据外的数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)
过拟合解决办法
原因:
- 原始特征过多,存在一些嘈杂特征, 模型过于复杂是因为模型尝试去兼顾各个测试数据点
解决办法:
- 进行特征选择,消除关联性大的特征(很难做)
- 交叉验证(让所有数据都有过训练)
- 正则化
L2正则化
可以使W的每个元素都很小,接近于0
带有正则化的线性回归-Ridge(岭回归)
sklearn.linear_model.Ridge(alpha=1.0)
- 具有L2正则化的线性最小二乘法
- alpha:正则化力度
- coef_:回归系数
岭回归优点
回归得到的回归系数更符合实际,更可靠,能让估计参数的波动范围变小,变的更稳定。在存在病态数据偏多的研究中有较大的实用价值。