机器学习中的线性模型

1、基本形式


给定由d个属性描述的示例x=(x1, x2, ..., xd),则线性模型(linear mdel)的预测函数f(x)是属性的线性组合,用向量形式表示为f(x) = wTx + b。git

线性模型蕴涵了机器学习中一些重要的基本思想。经过在线性模型中引入层次结构或高维映射,就能够获得更为强大的非线性模型(nonlinear model)。此外,线性模型也具备很好的可解释性(comprehensibility)。算法

针对回归任务、二分类任务、多分类任务,下文总结了几种经典的线性模型。机器学习

2、线性回归


给定数据集D = {(x1, y1), (x2, y2), ..., (xm, ym)},其中xi = (xi1; xi2; ...; xid), yi为实数。线性回归(linear regression)试图学得一个线性模型以尽量准确地预测实值输出标记(试图学得f(xi) = wTxi+b,使得f(xi) ≈ yi)。ide

对于输入的属性,若k个属性间存在序关系,则能够经过连续化转化为连续值;若不存在序关系,则一般转化为k维向量。函数

对于输入属性数目只有一个的状况,能够经过最小化均方偏差(亦称为平方损失函数,square loss)来肯定w和b,即性能

 

其中(w*, b*)表示w和b的解。学习

使用均方偏差,是由于它对应了经常使用的”欧式距离“(Euclidean distance)。基于均方偏差最小化来求解模型的方法称为“最小二乘法”(least square method)。在线性回归中,求解w和b使得E(w,b)最小的过程被称为线性回归模型的最小二乘“参数估计”(parameter estimation)。测试

求解方法:将E(w,b)分别对w和b求导,获得编码

 令两式为零,便可获得w和b最优解的闭式(closed-form)解idea

其中

更通常的情形,设样本由d个属性描述,此情形被称为“多元线性回归”(multivariate linear regression)

相似地,能够用最小二乘法对向量w和b进行估计。设

则X是一个m×(d+1)大小的矩阵。记,标记= (y1; y2; ...; ym)。则相似地,有

 令,对求导得

令上式 = 0。当XTX是满秩矩阵时,有

不然,利用最小二乘法,求解方程组

此时可能会解出多个。选择哪个解输出,将由学习算法的概括偏好决定,常见的作法是引入正则化(regularization)项。

考虑单调可微函数g,令y=g-1(wTx + b),则获得“广义线性模型”(generalized linear model),g称为“联系函数”(link function)。例如,当g(x)=lnx时,对应的模型即为对数线性回归。 顺便一提,对广义线性模型的参数估计,常经过加权最小二乘法或极大似然法进行。

3、对数概率回归


对于分类任务,能够采用广义线性模型。为此,但愿找到某个可微函数,将分类任务的真实标记y与线性回归模型的预测值联系起来。好比说,考虑二分类任务,十分理想的是“单位阶跃函数”(unit-step function, 亦称Heaviside function)

可是单位阶跃函数并不可微,不能做为联系函数。所以,但愿找到必定程度上近似单位阶跃函数的“替代函数”(surrogate function),并但愿它单调可谓。

一个选择是“对数概率函数”(logistic function),其定义以下

将对数概率函数做为g-1(x) 代入y=g-1(wTx + b),即获得

通过变换获得

将y视为样本x做为正例的可能性,则1-y是其反例的可能性,二者的比值称为“概率”(odds),反映了x做为正例的相对可能性。对概率取对数,则获得“对数概率”(log odds, 亦称logit)。所以,上式其实是在用线性回归模型的预测结果去逼近真实标记的对数概率,其对应模型称为“对数概率回归”(logistic regression,  亦称logit regression)。虽然名字是回归,实际则是一种分类学习方法。

对数概率回归的优势在于:能够直接对分类可能性建模,无需事先假设数据分布; 不只能够预测出类别,还能够预测近似几率;对率函数任意阶可导,有很好的数学性质。

在对数概率回归模型中,若将y视为类后验几率估计p(y=1|x),则有

因而,能够用“极大似然法”(maximum likelihood method)估计w和b。详细计算过程见书p.59。

4、线性判别分析


“线性判别分析”(Linear Discriminant Analysis, LDA)在二分问题上最先由[Fisher, 1936]提出,所以亦称为“Fisher判别分析”。

LDA的思想是:设法将样例投影到一条直线上,使得同类样例的投影点尽量接近、异样例投影点尽量远离;对新样本进行分类时,将其投影到直线上,再根据投影点的位置来肯定新样本的分类。

给定数据集,令Xi, μi, ∑i分别表示第i类示例的集合、均值向量、协方差矩阵。将数据投影到直线ω上。则欲使同类样例投影点尽量接近,即让尽量小;要让不一样类样例投影点尽量远离,即让尽量大。同时考虑而者,则获得欲最大化目标

 

定义“类内散度矩阵”(within-class scatter matrix)

以及“类间散度矩阵”(between-class scatter matrix)

因而

此即LDA欲最大化的目标,即SωSb的“广义瑞利商”(generalized Rayleigh quotient)。

能够用拉格朗日乘子法来肯定ω,解得。具体过程详见书pp.61-63。

5、多分类学习


现实中常遇到多分类学习任务。基于一些基本策略,能够利用二分类学习器来解决多分类问题。不失通常性,考虑N个类别C1, C2, ..., CN,一个基本思路是“拆解法”,即将多分类任务拆解为多个二分类任务。

最经典的拆分策略有三种:“一对一”(One vs. One, OvO)“一对其他”(One vs. Rest, OvR),以及“多对多”(Many vs. Many, MvM)

OvO:将N个类别两两匹配,在训练阶段为每一组配对训练一个分类器,测试阶段则将新样本同时提交给全部分类器。最终经过投票产生被预测得最多的类别做为最终分类结果。

OvR:将每一个样例做为正例,其他样例做为反例来训练N个分类器。测试阶段,若仅有一个分类器预测为正类,则对应类别标记做为最终结果;如有多个分类器预测为正类,则考虑各分类器的预测置信度,选择置信度大的标记做为分类结果。

比较:OvO的存储开销及测试时间开销高于OvR;但当类别不少时,OvO的训练时间开销比OvR小。预测性能则取决于数据分布,多数情形下二者差很少。

MvM:每次将若干个类做为正类,若干个其它类做为反类。值得注意的是,正反例的构造须要特殊的设计,不可随意选取。

一种经常使用的MvM技术是“纠错输出码”(Error Correcting Output Code, ECOC)。ECOC工做步骤分为两步:

  • 编码:对N个类别作M次划分,每次划分将一部分归为正类,另外一部分归为反类,获得M个训练集。
  • 解码:M个分类器对分类样本进行预测,预测标记组成一个编码。将此编码与每一个类别各自的编码比较,返回其中距离最小的类别做为最终预测结果。

类别划分经过“编码矩阵”(coding matrix)指定。常见的编码矩阵的形式主要有:

  • 二元码:将每一个类别分别指定为正类和反类
  • 三元码:在正反类以外,还能够指定“停用类”

概念比较抽象,有点难以理解。看一下书中给出的示例图,能够由更直观的感觉。

从图中能够看出,在测试阶段,ECOOC编码对分类器的错误有必定的容忍能力,这也是其名“纠错输出码”的来由。

通常来讲,对同一个学习任务,ECOOC编码越长,纠错能力越强,代价是分类器增多带来的计算、存储开销;以及对于有限类别,组合数有限,编码太长也会失去意义。另外一方面,对于长度相同的编码,距离越远,纠错能力越强。编码较小时能够此原则肯定理论最优编码;而当编码过长时,肯定最优编码则成为NP-难问题。不过,并不是编码的理论性质越好,分类器性能就越好。好比:一个理论性质很好、但致使的二分类问题较难的编码,与另外一个理论性质稍差、但致使的而分类问题比较简单的编码相比,最终产生的模型孰强孰弱很难说。

6、类别不平衡问题


 

类别不平衡(class-imbalance)是指分类任务中不一样类别的训练样例数差异很大的状况。例如,在拆分法解决多分类学习任务时,即使原始问题的不一样类别的训练数据至关,在产生的而分类任务中仍然可能出现类别不平衡现象。所以有必要了解对类别不平衡的处理办法。

在线性分类器中,一个基本策略是“再缩放”(rescaling),也称“再平衡”(rebalance)。其思想是:当训练集中正、反例不一样时,令m+表示正例数,m-表示反例数,则观测概率为m/ m-。假设训练集是真实样本整体的无偏采样,则观测概率就表明了真实概率。所以,当y / (1 - y) > m/ m-时,预测为正例。即令,再将阈值设为1,当预测值大于1时预测为正例,便可。顺便一提,再缩放也是“代价敏感学习”(cost-sensitive learning)的基础。

然而在现实中,“训练集是真实样本整体的无偏采样”的假设每每并不成立,所以未必能有效地基于训练集的观测概率推断真实概率。现有技术有三类解决办法:

  • 欠采样(undersampling):去除一些反例使得正、反例数目相近,再进行学习。
  • 过采样(oversampling):增长一些正例使得正、反例数目相近,再进行学习。须要考虑过拟合问题。表明性算法是SMOTE,经过对训练集里的正例进行插值来产生额外的正例。
  • “阈值移动”(threshold-moving):基于原始训练集学习,但在预测时将再缩放策略嵌入到决策过程当中。
相关文章
相关标签/搜索