线性回归算法梳理
线性回归算法梳理
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.线性回归损失函数、代价函数、目标函数
损失函数: ,一般是针对单个样本 i
代价函数: , 一般是针对总体
目标函数:带有正则项的代价函数
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_intercept:True or False 是否计算此模型的截距。如果设置为False,则不会在计算中使用截距(例如,预计数据已经居中)。
normalize: boolean, optional, default False,当fit_intercept设置为False时,将忽略此参数。如果为True,则回归量X将在回归之前通过减去平均值并除以l2范数来归一化。
copy_X: boolean, optional, default True,如果为True,则将复制X;否则,它可能会被覆盖
n_jobs: int or None, optional (default=None),多线程计算,-1表示使用所有核心进行计算,默认为1.