您的位置:首页 > 其它

周志华《机器学习》笔记:第3章 线性模型

2017-08-17 09:20 267 查看
1.基本形式

  线性模型试图学得一个通过属性的线性组合来进行预测的函数,即向量形式写成:

f(x)=ωT+b.  其中,ω=(ω1;ω2;⋯;ωd). ω 和 b 学得之后,模型就得以确定。由于ω 直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性。

2.线性回归

  对离散属性,若属性值间存在“序”(order)关系,可通过连续化将其转化为连续值。例如:三值属性“高度”的取值 高中低 可转化为{1.0,0.5,0.0},假定有k个属性值,则通常转化为k维向量。

  确定w和b关键在于f(x)与y之间的差别。均方误差是回归任务中最常用的性能度量,因此我们可试图让均方误差最小化。

  均方误差对应常用的欧几里得距离或简称欧氏距离。基于均方误差最小化进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。

  求解w和b使E(w,b)=∑mi=1(yi−wxi−b)2 最小化的过程,称为线性回归模型的最小二乘“参数估计”。引入正则化项,解决不是满秩矩阵问题。

  假设我们认为示例所对应的输出标记是在指数尺度上变化,那就可将输出标记的对数作为线性模型逼近的目标,即lny=ωTx+b.   这就是“对数线性回归”。实质上是在求取输入空间到输出空间的非线性函数映射。这里的对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。

  更一般地,考虑单调可微函数g(.) ,令y=g−1(ωTx+b).   这样得到的模型称为“广义线性模型”,其中函数g(.) 称为“联系函数”。显然,对数线性回归是广义线性模型在g(.)=ln(.) 时的特例。

3、对数几率回归

  对于分类任务,只需找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。

  考虑二分类任务,其输出标记yϵ{0,1},而线性回归模型产生的预测值z=ωTx+b 是实值,于是,我们需将实值z 转换为0/1值。最理想的是“单位阶跃函数”y=⎧⎩⎨⎪⎪0,0.5,1z<0;z=0;z>0;.

  即若预测值z大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别。我们希望找到一定程度上近似单位阶跃函数的“替代函数”,并希望它单调可微。对数几率函数正是这样一个常用的替代函数:y=11+e−z.   对数几率函数是一种“Sigmoid函数”,它将z 值转化为一个接近0或1的y 值。

lny1−y=ωTx+b.   若将y 视为样本x 作为正例的可能性,则1-y 是其反例可能性,两者的比例y1−y   称为“几率”,反映了x 作为正例的相对可能性。对几率取对数则得到“对数几率”lny1−y.  由此可看出,实际上是在用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为“对数几率回归”。实际是一种分类学习方法。

  可通过“极大似然法”来估计ω 和 b 。对率回归模型最大化“对数似然”,即令每个样本属于其真实标记的概率越大越好。最大化式等价于最小化某个高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法、牛顿法等都可求得其最优解。

4、线性判别分析

  线性判别分析(LDA)是一种经典的线性学习方法,在二分类问题上因为最早由Fisher提出,亦称“Fisher判别分析”。LDA的思想非常朴素:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。

5、多分类学习

  多分类学习的基本思路是“拆解法”,即将多分类任务拆成若干个二分类任务求解。现对问题进行拆分,然后为拆分的每个二分类任务训练一个分类器;在测试时,对这些分类器的预测结果进行集成以及获得最终的多分类结果。

  最经典的拆分策略有三种:一对一(OvO)、一对其余(OvR)、多对多(MvM)。OvO将N个类别两两配对,从而产生N(N-1)/2个二分类任务。OvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。

MvM是每次将若干个类作为正类,若干个其他类作为反类。常用的MvM技术:“纠错输出码”(ECOC)。

ECOC工作过程主要分为两步:

  编码:对N类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可以训练出M个分类器。

  解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

6、类别不平衡问题

  类别不平衡就是值分类任务中不同类别的训练样例数目差别很大的情况。对新样本进行分类时,事实上是在用预测出的y值与一个阈值进行比较,例如在y>0.5 时判别为正例,否则为反例。y 实际上表达了正例的可能性,几率y1−y 则反映了正例可能性与反例可能性之比值,则分类器决策规则为

  若y1−y>1 则 预测为正例 (1).

  然而,当训练集中正、反例的数目不同时,令 m+ 表示正例数目,m− 表示反例数目,则观测几率是m+m− ,由于我们通常假设训练集是真实样本总体的无偏采样,因此观测几率就代表了真实几率。于是,只要分类器的预测几率高于观测几率就应判定为正例,即

  若y1−y>m+m− 则 预测为正例 (2)。

  但是,我们的分类器是基于(1)进行决策,因此,需对预测值进行调整,使其在基于式(1)决策时,实际是在执行式(2),令

y′1−y′=y1−y×m−m+.  这就是类别不平衡学习的一个基本策略——“再缩放”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习