线性模型

本章参照周志华《机器学习》第三章编写
从线性模型的基本形式开始,介绍了线性回归,然后讲了使用 logistic function 作为连接函数的对数几率回归;之后讲了线性判别分析(LDA)的基本思想及其数学推导;最后讲了如何用二分类学习器来解决多分类问题(三种经典的划分策略)。

3.1 基本形式

这里我们先看一下线性模型的基本形式。给出一个含有d个属性的样本对象x=(x1;x2;...;xd),其中xi表示每个属性上的取值情况。线性模型(linear model)要做的,就是通过一个属性的组合函数来进行预测。

线性模型简单来说就是我们说的对每个属性寻找合适的权值,最终得出样本估计的模型!

具体公式如下
f(x)=w_1x_1+w_2x_2+...+w_dx_d+b  
向量形式为
f(x)=w^Tx+b
其中w=(w1;w2;...;wd)wb学得之后,模型就可以确定。
可以看出线性模型虽然形式简单、易于建模,但这是机器学习的重要基础,很多其他功能更为强大的非线性模型(nonlinear model)课在线性模型的基础上通过引入层级结构或者高维映射而得到。另外,每个w代表着每个属性的权重,这使得线性模型有更好的解释性(comprehensibility)。
下面我们看一下几种经典的线性模型。先从回归问题开始,然后看一下分类问题。

3.2 线性回归

正如之前所讲,线性回归就是说通过学习到的线性模型来与猜测新的样本的输出值。一个很直观的例子就是说,我们通过历年的人口数量预测下一年的人口数量。在这类问题中,我们会先得到一系列有标记的数据,例如 2000->13亿...2018->16亿,可以看到这个时候的输入属性只有一个,就是年份;当然也有输入属性有多个的情况,例如预测一个人的收入情况,那输入属性可能有学历,年龄等等。
很多时候这些属性值并不能直接被我们的学习器所用,需要我们进行一下相应的处理。对于连续的属性值,一般都可以被学习器所用,但是有时候需要归一化等处理;而对于离散的属性值,一般要做这样的处理:

  • 如果属性值之间存在“序”关系(理解成为大小关系),则可以将其转化成为连续值,举一个栗子,身高属性为“高”、“中等”、“矮”,可以转化为数值{1, 0.5 ,0}
  • 如果属性值之间不存在“序关系”,转化为向量。性别属性为“男”、“女”,可以转化为二维向量:{(1,0),(0,1)}
3.2.1 输入属性只有一个

这就是我们上面说到的只用年份来预测人口数量的那种问题。
这是最简单的情况,也是我们高中所熟知的“最小二乘法(Euclidean Distance)”。做法是:先计算出每个预测值和真实值之间的误差并且求和,通过最小化MSE,使用求偏导为零的方法计算出拟合直线 y=wx+b,具体的计算过程如下:


最小二乘法
3.2.1 输入属性有多个

这时候,就是上面提到过的工资收入的那种问题。
对于一个样本含有d个属性{(x1,x2,...,xd) , y},此时的 y=wx+b变成了y_i=w_1x_{i1}+w_2x_{i2}+...+w_dx_{id}+b
通常对于多元问题,常常使用矩阵的形式表示数据。在本问题中,将具有m个样本的数据集表示成矩阵X,将系数w和b合并成一个列向量,这样每个样本的预测值以及所有样本的MSE最小化就可以写成下面的形式:

向量化表示1

下面这个可以看到如果要求w矩阵的对于最小MSE的解,跟前面单变量的最小二乘法里面第一个公式是一样的。只不过写成了矩阵的形式。
向量化表示2

到这里我们写出了多输入的矩阵表示,同样,我们用最小二乘法对w和b进行估计,令MSE的求导为0。
由于求解过程中需要对矩阵求逆,所以要考虑矩阵行列式非0/满秩(即可逆)。如果不满足这个条件,需要用其他方法来处理,例如正则化。这里对于这种情况暂时不予讨论。
多输入线性模型向量化的求解

至此,我们求得了w阵,完成了整个线性模型的计算。

需要注意的是,有时候像我们采用的原始的线性回归可能并不能满足需求。如果y值不是线性变化,而是在指数尺度上变化,显然我们的线性模型表现就很差。这个时候我们可以用线性模型来逼近y的衍生物,如lny,实际上就相当于将指数曲线投影在一条直线上面,如下图所示:


lny的广义线性模型/对数线性回归

更一般地,考虑所有y的衍生物的情形,就得到了“广义的线性模型”(generalized linear model),其中,g(*)称为联系函数(link function)。

3.3 对数几率回归

回归是通过输入的属性值预测得到一个预测值,利用上面说过的广义线性回归模型,通过一个联系函数,将预测问题转化为分类问题,对数几率回归就是解决这样的问题。对数几率引入一个对数几率函数(logistic funciton),将预测值投影到0-1之间,从而将回归问题转化为一个二分类问题。


对数几率函数

联系函数

这里具体的推导可以看一下书上写的。
若将y看做样本为正例的概率,(1-y)看做样本为反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。因此这个模型称为“对数几率回归”(logistic regression),也有一些书籍称之为“逻辑回归”。下面使用最大似然估计的方法来计算出w和b两个参数的取值,下面只列出求解的思路,不列出具体的计算过程。


最大化似然函数

3.4 线性判别分析

线性判别分析(Linear Discriminant Analysis,LDA)的基本思想是:

  • 样本投影在一条直线上

  • 同类样本尽可能投影距离近

  • 不同类样本尽可能投影距离远

  • 新来的样本看投影来确定属于哪个类别。

    LDA示意图


    下面看一下上面思想的数学表达:
    同类样本点的投影尽可能接近,即同类样例投影点的协方差之和尽可能小,体现在下面两者之和尽可能小

    异类样本投影尽可能远 ,体现在类中心点距离尽可能大。
    ||w^T\mu_0-w^T\mu_1||_2^2尽可能大
    经过化简,定义了两个散度矩阵

  • 类内散度矩阵(within-class scatter matrix)


  • 类间散度矩阵(between-class scatter matrix)


    同时得到了LDA的最大化目标:“广义瑞利商(Generalized Rayleigh Quotient)”

    广义瑞利商中分子表示类间,分母表示类内,所以整个这个商是越大越好。
    到这里,分类问题转化为最优化求解 w 的问题,当求解出 w 后,对新的样本分类时候,只需要将该样本投影到这条直线上,然后与各个类的中心点去比较,从而确定类别。
    下面看怎么解出来 w

    若将w看做一个投影矩阵,类似PCA的思想,则LDA可将样本投影到N-1维空间(N为类簇数),投影的过程使用了类别信息(标记信息),因此LDA也常被视为一种经典的监督降维技术。

上面求解这一部分不懂。暂时先这样。

3.5 多分类学习

实际问题中,分类任务是多类别的。
除了少数能够直接从二分类推广到多分类的方法(如LDA法),其余大多数方法只能应用于二分类问题。所以通常情况下,我们是用 二分类学习器 + solution 来解决多分类问题的,即把多分类问题拆分成为多种二分类问题的组合。
最为经典的拆分方式有三种:“一对一(OvO)”、“一对其余(OvR)”、“多对多(MvM)”:

  • OvO:给定数据集D,假定其中有N个真实类别,将这N个类别进行两两配对(一个正类/一个反类),从而产生N(N-1)/2个二分类学习器,在测试阶段,将新样本放入所有的二分类学习器中测试,得出N(N-1)个结果,最终通过投票产生最终的分类结果。
  • OvM:给定数据集D,假定其中有N个真实类别,每次取出一个类作为正类,剩余的所有类别作为一个新的反类,从而产生N个二分类学习器,在测试阶段,得出N个结果,若仅有一个学习器预测为正类,则对应的类标作为最终分类结果。
  • MvM:给定数据集D,假定其中有N个真实类别,每次取若干个类作为正类,若干个类作为反类(通过ECOC码给出,编码),若进行了M次划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的类别作为最终分类结果。


    OvO & OvR

    MvM

3.6 类别不平衡问题

类别不平衡(class-imbanlance)就是指分类问题中不同类别的训练样本相差悬殊的情况,例如正例有900个,而反例只有100个,这个时候我们就需要进行相应的处理来平衡这个问题。常见的做法有三种:

  1. 在训练样本较多的类别中进行“欠采样”(undersampling),比如从正例中采出100个,常见的算法有:EasyEnsemble。
  2. 在训练样本较少的类别中进行“过采样”(oversampling),例如通过对反例中的数据进行插值,来产生额外的反例,常见的算法有SMOTE。
  3. 直接基于原数据集进行学习,对预测值进行“再缩放”处理。其中再缩放也是代价敏感学习的基础。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容