暑期机器学习小组读书报告----线性模型

机器学习的模型有很多种,本次的读书报告主要关于其中的线性模型,常用的线性模型有以下几种:

  • 线性回归模型
  • logistic 回归模型
  • Fisher判别分析

下面我们逐个分析


 线性回归模型 

顾名思义,线性回归模型采用线性方程拟合数据,已到达预测数据的目的,常用在回归任务中。 

 线性回归模型的基本形式为:h_{\Theta }\left ( x \right ) = \Theta ^{T}X,其中θ 为参数向量,为特征变量向量,

h表示假设函数,其值为学习器的预测结果。

给定一个数据集,线性回归模型试图学得一个线性模型以尽可能准确地预测实值输出标记。

而学习的过程即是寻找参数θ最优解的过程,所谓最优解即是使得模型尽可能很好的拟合数据又能保持较好的泛化性能的解。

而至于如何对模型对拟合程度进行评估,我们可以考虑统计学中的均方误差,定义为:

\sum_{i=1}^{m}(h_{\Theta }(x^{i}) - y^{i})^2

均方误差具有非常好的几何意义,因为它对应了常用的欧几里得距离。

我们把基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。

而具体实现,则主要有两种方法:

  • 梯度下降法
  • 正规方程法

梯度下降法: 

在实践当中,我们往往会构建一个代价函数(cost function)来进行最优参数的求解。

定义为:J(\Theta ) = - \frac{1}{2m}\sum_{i=1}^{m}(h_{\Theta }(x^{i}) - y^{i})^2

可以证明,对于线性回归模型,J(θ)是凸函数,通过梯度下降法,可以求得使得J最小的参数θ的值。

也即可以使模型较好拟合数据,“代价”或“损失”较小的优解。

正规方程法: 

在数据特征不是那么多,数据量不是那么大的时候,梯度下降法因为需要进行多次迭代,会花费较多的时间和资源。

而相比之下,正规方程法,采用矩阵运算,采用有些编程语言可能就是一段代码,速度快且方便。

但当数据特征较多时,矩阵运算就会花费较多的时间与资源,远不及梯度下降法,总的来说,在实践当中,梯度下降法

具有更好的普适性。

X^{T}X为满秩阵时,可以经过数学推导得到最优解为:

\Theta = (X^{T}X)^{-1}X^{T}y

X^{T}X不是满秩阵时,可以解出多个\Theta,它们都能使均方误差最小,选择哪一个解作为输出,

将由学习算法的归纳偏好决定,常见的做法是引入正则化(regularization)项。

 广义线性模型

除了h_{\Theta }\left ( x \right ) = \Theta ^{T}X形式的线性回归模型以外,线性回归模型还有其一般形式:

一般的,考虑单调可微 函数 g\left ( \cdot \right ),令

y = g^{-1}\left ( \Theta ^{T}X \right )

这样得到的模型称为“广义线性模型”,其中函数 g\left ( \cdot \right ) 称为联系函数。

广义线性模型通过线性模型去拟合非线性的数据,本质是数学中函数的复合运算。


logistic 回归模型

虽然名字里有回归的字样,但logistic 回归模型主要用来完成分类任务。

与线性回归模型不同,logistic 回归模型的基本形式是h_{\Theta }(x) = \frac{1}{1 + e^{-\Theta ^{T}X}}

这里采用了sigmoid函数,主要目的是这样可以将h看做样本x被判做正例的概率,

h>0.5时,判作正例;h<0.5时,判作反例;h=0.5时,任意判别。

也即\Theta ^{T}X> 0时,判作正例;\Theta ^{T}X< 0时,判作反例;\Theta ^{T}X= 0时,任意判别。

这种方法有很多优点,例如它是直接对分类可能性进行建模,无需事先假设数据分布,

这样就避免了假设分布不准确所带来的问题;它不仅预测出“类别”,而是可得到近似概率预测,

这对许多利用概率辅助决策的任务很有用;此外,对率函数是任意阶可导的凸函数,有很好的数学性质,

现在的许多数值优化算法,都可以直接用于求取最优解。

与线性回归模型对应,logistic 回归模型的代价函数形式为:

J(\Theta ) = -\frac{1}{m}\sum_{i=1}^{m}(y^{i}log(h_{\Theta }(x^{i})) + (1 - y^{i})log(1 - h_{\Theta }(x^{i})))

同样可以通过梯度下降法,求得参数的最优解。

注意到对θ值得更新要同步进行。

得到优解θ后,对于二分类问题,我们可以得到相应的决策边界

对新数据进行判定,对于多分类问题,我们可以采用一对多的思路,(参看多分类问题部分)

每次得到一个边界,指定一类为正类,其他类为反类。


Fisher判别分析(LDA) 

LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近。要说明白LDA,首先得弄明白线性分类器:因为LDA是一种线性分类器。对于K-分类的一个分类问题,会有K个线性函数:y_{k}(x) = w_{k}^{T}x+w_{k0}

     当满足条件:对于所有的j,都有Yk > Yj,的时候,我们就说x属于类别k。对于每一个分类,都有一个公式去算一个分值,在所有的公式得到的分值中,找一个最大的,就是所属的分类了。

    上式实际上就是一种投影,是将一个高维的点投影到一条高维的直线上,LDA最求的目标是,给出一个标注了类别的数据集,投影到了一条直线之后,能够使得点尽量的按类别区分开,当k=2即二分类问题的时候,如下图所示:

 

投影的原则是:使同类的点尽量靠近,不同类的点尽量远离。

涉及数学的推导与证明,可以参见博文:https://www.cnblogs.com/viviancc/p/4133630.html 


 多分类学习

由较为简单的二分类问题,可以推出多分类问题,而在实践当中,我们往往也是利用二分类学习器

来解决多分类问题。其基本思路有三种:

  • 一对一(one vs one, OvO):将N个类别两两配对,产生N(N-1)/2个二分类任务,测试时新样本同时提交给所有分类器,结果投票产生,预测最多的类别作为分类结果。
  • 一对其它(one vs rest, OVR):每次将一个类作为正例、所有其他的类的样例作为反例训练N个分类器,考虑分类器的置信度,选择置信度大的分类器的类别标记作为分类结果。
  • 多对多(many vs many, MvM):必须经过特殊构造,将若干个类作为正例,若干个类作为反例。

本质还是将不同的类分组,利用二分类学习器判断正例或反例,综合多个学习器的结果得出结论。

 关于MvM技术,“特殊的构造”中常用的一种技术是:“纠错输出码”(Error Correcting Output Codes, 简称ECOC)。

ECOC工作过程主要有两步:

  • 编码:对N个类做M次划分,每次划分将一部分类化为正类,一部分化为反类,从而形成一个二分类训练集;这样一共产生M个训练集,可以训练出M个分类器。
  • 解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码,将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

编码可以通过编码矩阵指定,常见的编码矩阵形式有二元码、三元码。前者指定每个类别分别为正类或反类,后者还可以指定某一类为停用类。具体例子见下图:

 距离越小,说明差距越小,即越“像某一类”。据此我们可对一个新样例的类别进行判定。


类别不平衡问题

前面介绍的分类学习方法都有一个共同的基本假设:即不同类别的训练样例数目相当。

在实际应用中,有时会遇到,正例反例数目不同甚至相差较大的情况。这时如果仍然按照之前的方法,

得到的分类器意义不大。因而我们需要寻求新的解决方案。

从线性分类器的角度进行讨论容易理解,在我们对新样本进行分类时,

事实上是用预测出的y值与一个阈值进行比较(参考logistic 回归模型),

阈值设为0.5恰表明分类器认为真实正、反例可能性相同,即分类决策规则为:

即 y / (1 -y) > 1时,预测为正例。@1

然而,当训练集中正、反例数目不同时,假设有m+个正例,m-个反例。那么观测几率为m+/m-,

又由于我们通常假设训练集是真实样本总体的无偏差采样,所以观测几率代表了真实几率,

所以,只要分类器的预测几率高于观测几率就应判定为正例,即:

若 y / (1 - y) > m+ / m-,则预测为正例。@2

又因为我们的分类器采取@1式进行决策,所以我们令:

y' / (1 - y') = (y / (1 - y)) * (m- / m+)   @3

这就是类别不平衡学习的一个基本策略----“再缩放”(rescaling).

然而在实际操作中,再缩放并不容易,因为“训练集是真实样本总体的无偏采样”这个假设往往不成立。

现有技术大体上有三类做法:

  • 欠采样(undersampling):去除一些反例使正、反例数目接近(代表算法:EasyEnsemble)
  • 过采样(oversampling):对正例过采样来增加一些正例(代表算法:SMOTE)
  • 阈值移动(threshold-moving):直接学习但在决策时代入@3式

 注:需注意的是,过采样法不能简单地初始正例样本进行重复采样,否则会招致严重的过拟合。

附思维导图:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值