线性回归算法梳理

线性回归算法梳理

1.机器学习的基本概念


 监督学习:训练含有很多特征的数据集,并且数据集中每一个样本都有一个标签。

无监督学习:训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。

泛化能力:已训练好的模型在新样本上预测正确的能力。

过拟合:在训练过程中,将个别样本的特点当作所有样本的都具有的一般特点,导致模型的泛化能力下降。

欠拟合:在训练过程中,未完全学好训练样本的一般性质。

偏差:度量学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。

方差:度量同样大小的训练集的变动导致的学习性能的变化,即刻画了数据扰动所造成的影响。

噪声:表达了在当前任务上任何学习算法所能表达的期望泛化误差的下界,即刻画了学习问题本身的难度。

交叉验证:在训练前,将数据集分成k个不重合的子集,每次训练取一个子集为验证集,其他为训练集,训练并计算误差,所有误差取平均即为泛化误差。

 

2.线性回归原理


 

对于给定的数据集D={(x1,y1),(x2,y2)····(xn,yn)},其中xi=(xi1,xi2;xi3;··· xin),yi属于R。线性回归根据数据集D学的一个线性模型以尽可能准确地预测实值输出标记。

f(xi) = wxi+b,使得f(xi) ≈ yi

 

3.线性回归损失函数、代价函数、目标函数


 

损失函数:\left| y_i-f(x_i) \right| ,一般是针对单个样本 i

代价函数:1/N.\sum_{i=1}^{N}{\left| y_i-f(x_i) \right|} , 一般是针对总体

目标函数:带有正则项的代价函数

4.优化方法(梯度下降法、牛顿法、拟牛顿法等)


 

梯度下降法:假设目标函数y=f(x),该函数的导数记为f'(x)。导数f'(x)代表f(x)在x处的斜率。在优化过程中,将x往导数的反方向移动一小步来减小f(x),这种技术称为梯度下降法。

牛顿法:基于一个二阶泰勒展开来近似 x0 附近的f(x),接着计算该函数的临界点。

拟牛顿法:在k次迭代后,将目标函数f(x)在xk附近做泰勒展开,并取二阶近似,对两边同时对一个梯度算子,得

 

5.线性回归的评估标准


 均方误差:每一样本的预测值与真实值偏差的平方和。

 

6.sklearn参数详解


函数 class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)

输入参数:

fit_interceptTrue or False 是否计算此模型的截距。如果设置为False,则不会在计算中使用截距(例如,预计数据已经居中)。

normalize: boolean, optional, default Falsefit_intercept设置为False时,将忽略此参数。如果为True,则回归量X将在回归之前通过减去平均值并除以l2范数来归一化。

copy_X: boolean, optional, default True如果为True,则将复制X;否则,它可能会被覆盖

n_jobs: int or None, optional (default=None),多线程计算,-1表示使用所有核心进行计算,默认为1.

 

posted @ 2019-02-28 18:28  burton_shi  阅读(670)  评论(0编辑  收藏  举报