线性回归算法梳理
一.机器学习的一些概念
1.有监督学习:所有训练及测试数据都有标签
2.无监督学习:训练及测试数据都没有标签
3.泛化能力:模型在训练数据之外的其他数据集上的表现能力,即算法对新鲜样本的适应能力
4.过拟合:训练出来的模型在训练集上表现很好,但是在测试集上表现较差
产生原因:
(1)数据有噪声
(2)训练数据不足
(3)训练过度,模型复杂度高
解决办法:
(1)清洗数据
(2)获取更多数据:1.从数据源头获取更多数据;2.根据当前数据集估计数据分布参数,使用该分布产生更多数据;3.数据增强
(3)使用合适的模型:1.选用多个模型求平均;2.限制权值,即正则化,在进行目标函数或代价函数优化时,在目标函数或代价函数后面加上一个正则项;3.增加噪声
5.欠拟合:因为模型不够复杂而无法捕捉数据基本关系,导致模型错误的表示数据。
解决办法:
1)添加其他特征项
2)添加多项式特征
3)减少正则化参数
6.方差:模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。指样本上训练出的模型在测试集上的表现。
解决方法:简化模型,减少模型的参数
7.偏差:模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即算法本身的拟合能力
解决方法:复杂化模型,增加模型参数
8.交叉验证:在已有的数据集中,拿出大部分数据进行训练建模,小部分数据用以对模型进行测试,并求出这部分数据的预测误差,记录这些数据的平方加和。
二.线性回回归的原理
现在我们有一堆数据 (X, y) ,X 是训练数据集,y 是想要知道的结果,我们可以拟合一条曲线来表示这组数据,即
矩阵表示为
若训练数据集为n维,则为
三、线性回归损失函数、代价函数、目标函数
1.损失函数:一般表示为 L(y,f(x)) ,用以衡量真实值 y 和预测值 f(x) 之间不一致的程度
2.代价函数:预测值(hθ)与实际值(y)的偏离程度
3.目标函数:优化的目标。可以是“损失函数”或者“损失函数+正则项”
四.优化方法
1.梯度下降法:
2.牛顿法:
3.拟牛顿法:
转自:https://blog.csdn.net/itplus/article/details/21896619
五.线性回归的评估指标
A. MSE
B. RMSE
C. MAE
D. R方
from:https://blog.csdn.net/u012835414/article/details/85795484
六.sklearn参数详解
- LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)
- fit_intercept:是否有截据,如果没有则直线过原点。
- normalize:是否将数据归一化。
- copy_X:默认为True,当为True时,X会被copied,否则X将会被覆写。
- n_jobs:默认值为1。计算时使用的核数。
参照:https://blog.csdn.net/u012835414/article/details/85795484
参考:
https://zhuanlan.zhihu.com/p/29251609
https://www.zhihu.com/search?type=content&q=线性回归损失函数