1. 机器学习的一些概念
2. 线性回归的原理
3. 线性回归损失函数、代价函数、目标函数
4. 优化方法(梯度下降法、牛顿法、拟牛顿法等)
5. 线性回归的评估指标
6. sklearn参数详解
附:代码
(如有错误,感谢指出!)
1.机器学习的一些概念
有监督:对已知结果集的数据集进行学习,结果集对训练有指导意义。如:线性回归、决策树等 。
无监督:对未知结果集的数据集进行学习。如:kmeans、dbscan等。
泛化能力:已学得的模型适应新样本的能力,评判一个学习算法的好坏。
过拟合:把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质。
欠拟合:对训练样本的一般性质尚未学好。
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即数据扰动所造成的影响。
偏差:度量了学习算法的期望预测与真实结果的偏离程度,即学习算法本身的拟合能力。
注意: 一般来说,偏差与方差是有冲突的,称为偏差-方差窘境。假定我们能控制学习算法的训练程度:
在训练不足时,拟合能力不强(欠拟合)数据扰动性小,方差小、偏差大,即此时偏差主导了泛化错误率;
当训练加深,拟和能力逐渐增强,扰动性渐渐被学到,方差变大、偏差变小,即方差逐渐主导了泛化错误率;
在训练充足后,训练数据轻微的扰动都会导致学习器显著变化,方差主导了泛化错误率。若训练数据特有的特性被学习到了,则将发生过拟合。
很多学习算法都可以控制训练程度(恰当拟合),如决策树可控制层数,神经网络可控制训练轮数,集成学习方法可控制基学习器个数。
交叉验证:将数据集划分为k个大小相似且互斥的子集,每个子集都尽可能保持数据分布的一致性。每次用k - 1个子集的并集作为训练集,余下的那个子集作为测试集,即可获得k组训练/测试集。又称“k折交叉验证”。
2. 线性回归的原理
线性模型(linear model):学得一个通过属性的线性组合来进行预测的函数。给定由d个属性描述的示例x = (x1;x2;x3;…;xd),其中xi是x在第i个属性上的取值,有
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b , f(x) = w_1x_1 + w_2x_2+...+w_dx_d+b, f(x)=w1x1+w2x2+...+wdxd+b,一般用向量形式写成
f ( x ) = w T x + b f(x) = w^Tx+b f(x)=wTx+b 其中w = (w1;w2;w3;…;w4)。w和b学得之后,模型就得以确定。
线性回归(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记,即 f ( x i ) = w T x i + b , 使 得 f ( x i ) ≈ y i . f(x_i) = w^Tx_i+b,使得f(x_i)\approx y_i. f(xi)=wTxi+b,使得f(xi)≈yi.
3. 线性回归损失函数、代价函数、目标函数
-
损失函数:指单个样本的预测值与真实值之间的误差。
-
代价函数:指训练集上所有样本误差的均值,即“均方误差”, E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^m(f(x_i)-y_i)^2 E(f;D)=m1i=1∑m(f(xi)−yi)2均方误差有非常好的几何意义,它对应了欧几里得距离或简称“欧氏距离”(Euclidean distance)。
-
目标函数:让经验风险最小化和结构风险最小化,代价函数 + 正则化项( λ J ( f ) \lambda J(f) λJ(f),学习算法的归纳偏好)。
求解过程:使均方误差最小化,即
( w ∗ , b ∗ ) = a r g min ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 (w^*,b^*)=arg\smash{\displaystyle\min_{(w,b)}}\sum_{i=1}^m(y_i-wx_i-b)^2 (w∗,b∗)=arg(w,b)mini=1∑m(yi−wx