第三章 线性模型

1、基本形式

给定由d个属性描述的示例x=(x1;x2;...;xd),其中xi是x在第i个属性上的取值。

通过属性的线性组合来进行预测的函数:

,

一般向量形式:

,

w和b学得后,线性模型就确定下来。
(w可理解为各属性的重要性,即所占权重值)

2、线性回归

线性回归即是学得一个线性模型来尽可能预测实值输出标记。
给定数据集,其中.
先讨论简单的情形,输入属性的数目只有一个。在此之前我们对于离散属性,若属性间有序,则可以转化为连续值,例如高矮,长短;若属性无序,则转化为k维向量(k个属性),例如品种、颜色......

.

通过均方误差最小来确定w和b:

于是我们要得到使最小的w和b。
接下来我们要对w和b分别求导,然后令两式为零,得到w和b的最优解的闭式解。
具体过程就略过了,基本的高数求导解析过程。可参考:南瓜书。
上面是对于一种属性的最简单的情形,下面讲更一般的情形,我们试图学得:

.(多元线性回归)

对于多元,我们需要用到线性代数的一些基本知识。
对于w和b,我们将其列成一个向量形式,再将数据集D化成矩阵形式X:

X= \left\{ \begin{matrix} x_{11} & x_{12} &\cdots & x_{1d} & 1 \\ x_{21} & x_{22} &\cdots & x_{2d} &1\\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \end{matrix} \right\}= \left\{ \begin{matrix} x_{1}^T &1 \\ x_{2}^T & 1\\ \vdots & \vdots \\ x_{m} ^T & 1 \end{matrix} \right\}

标记化成向量形式
对于向量形式我们依旧求均方误差最小值,即有:

.

同样对进行求导,令式子为零得到的最优解的闭式解。其间涉及到逆矩阵的计算。于是有以下情况:
若为满秩矩阵,即行与列相等。可学得:

.

然鹅,现实情况往往不是满秩的,毕竟数目与样例会不一致。于是就可解出多个,都满足均方误差最小。于是我们引入正则化项以选择一个解作为输出。何为正则化?正则化
对于线性回归模型,可以使用对数线性回归:

其试图让,于是起到了将线性回归的预测值与真实标记联系起来的作用。
更一般的,考虑单调可微函数g(·),令:

即广义线性模型。g(·)为联系函数,对于对数线性回归,是广义线性模型的一个特例,在g(·)=ln(·)时。

对数几率回归

上面是对于回归任务使用的单调可微函数,而下面讲分类任务。
对于二分类任务,输出标记为y={0,1},但线性回归模型产生的预测值是实值,所以需要将实值转成0/1值,理想:单位阶跃函数,即:

但是单位阶跃函数不是连续函数,故不能作为,于是我们引入对数几率函数来代替单位阶跃函数:

于是我们将代入上式,且与回归任务类似可变化为:

y为正例可能性,1-y则为反例可能性,二者比值即为“几率”,取其对数即为“对数几率”。

那么如何确定w和b呢?
如果将y视作概率p(y=1|x),则1-y则为p(y=0|x),于是有:


于是我们通过极大似然估计来估计w和b:

对于上式,我们可以进一步简化,令.(使原式变为最小化式)最后得到.(过程依旧可以参考南瓜书)
对于此高阶可导连续凸函数,可以用梯度下降算法、牛顿法等来求其最优解。

线性判别分析

对于分类任务,LDA也是一种经典的线性学习方法。其基本思想:给定训练样例集,将样例投影到一条直线上,使同类样例的投影点尽可能接近,异类尽可能远离。对新样本分类时,可以根据投影点的位置来判别样本的类别。
对于二分类任务,我们只需要让同类样例投影点的协方差可能小,类中心之间的距离尽可能大。为协方差,为距离,其中数据集,表示第类示例的集合,为均值向量,为协方差矩阵。
于是有:

.

我们要令上式最大化。
引入类内散度矩阵:
类间散度矩阵:
代入得:
对于此式,由于w在分子分母都是二次项,于是只与其方向有关,则令,于是我们要使最小化,由拉格朗日乘子法得到:.

考虑到方向,则的方向恒为,将其代入上式,再化成:
对于此式,我们需要对进行奇异值分解,即有:,其中U为酉矩阵,是一个实对角矩阵,其对角线上的元素是的奇异值,于是求.

以上是对于二分类任务,那么推广到多分类任务中,存在个类,第类示例数为,全局散度矩阵:

其中是所有示例的均值向量,则类内散度矩阵即每个类别的散度矩阵之和。
到这里就不进行赘述了,简单地讲一下,我们根据自定义的三个矩阵:,根据这关系,我们知其二可知全部。如何实现?可采用优化目标(即求使 类内散度矩阵和类间散度矩阵的迹的广义瑞利商最大 的W值),接下来就是与二分类任务一样,通过广义特征值问题求解:.于是W的闭式解是的个最大非零广义特征值所对应的特征向量组成的矩阵。关于什么是广义特征值,什么是特征向量:

求数λ,使方程Ax=λBx有非零解x,这里A为n阶实对称矩阵,B为n阶实对称正定矩阵,x为n维列向量,则称该问题为矩阵A相对于矩阵B的广义特征值问题,称满足上式要求的数λ为矩阵A相对于矩阵B的特征值,而与λ相对应的非零解x称为属于λ的特征向量。

LDA通过投影来减小样本点维数,投影过程使用类别信息,说明其也是一种监督降维的技术。

多分类问题

其实现实情况中,有些二分类学习任务可以直接推广到多分类任务,但我们大多数情况下是使用基本策略,用二分类学习器来解决对分类任务的。
拆解法:即将多分类任务拆分为多个二分类任务来求解。
拆分策略
1、一对一(OvO):简单来说就是把数据集样例两两配对,然后为每队训练一个分类器,最后测试时,将新样本同时提交给所有分类器,得到最终结果是被预测得最多的类别;
2、一对其余(OvR):每次将一个类的样例作为正例,其他的作为反例进行训练多个分类器,测试时,若仅有一个分类器预测为正,则其对应的类别标记作为最终结果,否则选择置信度最大的类别标记作为结果;
3、多对多(MvM):将若干类作为正,若干作为反,那么该如何选取,此时我们需要用到“纠错输出码”,对N个类进行M次划分,每次划分将部分作反,部分作正,训练出M个分类器;测试时,预测标记组成一个编码,将预测编码与每个类别的编码进行对比,选取其中距离最小的类别作为最终结果。

类别不平衡问题

分类任务中不同类别的训练样例数差别很大的问题。基本策略就是再缩放
但此策略难以实现,无法达成假设。于是根据现有技术我们有三种方法:
1、欠采样:去反,使正反接近(不是随便去反,可将反例划分成多个集合,供不同学习器使用)
2、过采样:增正,使正反接近(不是对初始的正例进行重复采样,可通过对正例的插值来产生额外的正例)
3、阈值移动:使用原始数据集,但将“再缩放”嵌入其决策过程

你可能感兴趣的:(第三章 线性模型)