机器学习算法梳理(一):线性回归
一、基本概念
-
监督学习与无监督学习
监督学习(supervised learning):从有标记的训练数据中推导出预测函数。有标记的训练数据是指每个训练实例都包括输入和期望的输出。即给定数据,预测标签。分类和回归是监督学习的两大重要问题。
非监督学习(unsupervised learning):从无标记的训练数据中推断结论。最典型的无监督学习就是聚类分析,它可以在探索性数据分析阶段用于发现隐藏的模式或者对数据进行分组。即给定数据,寻找隐藏的结构。
-
泛化能力
监督学习的目的是找到一个输入输出映射(模型),使得这个模型不仅对训练数据有很好的拟合能力,对于未知数据,它也有很好的预测能力。这种对未知数据的预测能力就是泛化能力(generalization ability)。在实际情况中,我们通常通过测试误差来评价学习方法的泛化能力。 -
过拟合和欠拟合
在模型的拟合中,会发生过拟合(overfitting)和欠拟合(underfitting)的情况。
如果一味追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型要高,产生过拟合的现象,以致于对训练数据预测得很好,但对未知数据预测很差。过拟合的解决方法:
1、增大训练数据量
2、增加正则化项,正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大
3、dropout方法,在神经网络中较常用欠拟合则是模型没有很好地捕捉到数据特征,不能较好的拟合数据。
欠拟合的解读办法
1、添加其他特征项
2、添加多项式特征
3、减少正则化参数模型的Error = Bias(偏差) + Variance(方差 ),Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。
-
交叉验证
在进行模型选择时,一般随机将原始数据(dataset)进行分组,一般分为三部分,训练集(training set),验证集(validation set)和测试集(test set),训练集用来训练模型,验证集用于魔心的选择,而测试集用于最终对学习方法的评估。
但是,如果样本数据不充足,则可以采用交叉验证方法,基本想法是重复使用数据;把给定的数据进行切分,再组合为训练集和测试集,在此基础上反复训练,测试以及模型选择。1) 简单交叉验证(Hold-Out Method)
将原始数据分为两组,一组是训练集,一组是验证集,利用训练集来训练分类器,然后利用验证集验证模型。进行多次划分,用均值来表示效能。
优点:简单,只需要将原始数据随机的分成两组就行了。
缺点:
(1)没有达到交叉的效果。
(2)随机分组,验证集分类的准确率与原始数据分组的关系很大。
(3)有些数据可能从未做过训练或测试数据;而有些数据不止一次选为训练或测试数据。2) K折交叉验证(K-fold Cross Validation)
将原始数据均分成K组,每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终验证集的分类准确率的平均数作为此K-CV分类器下的性能指标。K的取值一般是大于等于2,只有在原始数据集合数据量小的时候才会取2
优点:有效的避免过拟合和欠拟合3)留一交叉验证(Leave-one-out Cross Validation)
K折交叉验证的特殊情况是K=N,N为给定数据集的容量,这时称为留一交叉验证,往往在数据缺乏的情况下使用。
优点:
(1)每轮中几乎所有的样本都可以用于训练模型,因此能够使训练的模型最接近样本真实分布,评估的结果很可靠。
(2)实验的过程中没有随机因素。
缺点: 如果样本量很大,那么需要建立的模型的数量也很大,计算成本高。
二、线性回归原理
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方)。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。简而言之,线性回归的目标是用预测结果尽可能地拟合目标label。
定义线性回归函数(linear regression)为:
h ( x ) = ∑ i = 0 n θ i x i = θ T x h(x)=\sum_{i=0}^n \theta_ix_i=\theta^\mathrm{T}x h(x)=i=0∑nθixi=θTx
用 h ( x ) h(x) h(x)来预测 y y y,此时 x x x为输入数据的特征矩阵, y y y为对应数据的label
三、线性回归的损失函数
线性回归模型使用的是一种称为平方损失(又称为 L2 损失)的损失函数
线性回归优化的目标——图中线段距离(平方)的平均值,也就是最小化到分割面的距离和。
损失函数一般定义为
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ)=2m