这一章主要介绍线性分类模型,包括生成模型和判别模型
线性模型:决策面是输入向量x的线性函数,决策面是D维输入空间的D-1维超平面
前言
所谓分类线性模型,是指决策⾯是输⼊向量
x
的线性函数,因此被定义为
一般线性模型如下:
其中,
f
被称为激活函数,而它的反函数被称为链接函数,这个模型被称为推广的线性模型。如果
判别函数
判别函数是⼀个以向量
二分类
线性判别函数最简单的形式如下:
这里作者推导了点到超平面的距离。因为是分类超平面,所以超平面上的点
x
满足
首先,对于任意的点
其中, xn⊥ 是x在超平面上的投影,r是点到超平面的距离。
则有:
因此,点到超平面的距离为:
多分类
现在考虑吧线性判别函数推广到 K>2 个类别。这里有三种方法构建模型
(1)one-vs-rest:考虑K-1个分类器,每个分类器解决一个二分类问题,即是否属于类别 Ck
(2)one-vs-one:引入 K(K−1)2 个二元判别函数,每一对类别设置一个判别函数。
但是这两种都会使得输入空间存在无法分类的区域,如下图。也就是说,部分样本可能无法分类到某个类别
(3)引入K类判别函数,每个判别函数都是线性函数:
然后对于点
x
, 如果对于所有的
这种方法下,输入空间将不存在模糊区域
最小平方方法
下面首先尝试用最小平方误差法求解分类问题。
假设要分类K个类别,构建K个线性模型,则对应的判别函数为:
其中,
W˜
是一个矩阵,第
k
列由
现在考虑一个数据集
{xn,tn}
,定义矩阵
T
,它的第n行是向量
求导并令导数为0可得:
其中, X˜† 是 X˜ 的伪逆矩阵
则判别函数为:
优点:对参数给出了精确地解析解
缺点:对于离群点缺少鲁棒性;会惩罚了“过于正确”的预测,因为他们
在正确的⼀侧距离决策边界太远了;它来自于数据呈高斯分布的假设,当假设不成立,效果会相当差
Fisher线性判别
它的目的是使类均值的投影分开的较大,同时让每个类别内部的方差较小,从而最小化类别的重叠,如图:
首先考虑二分类的情况。假设有D维输入向量x,将它投影到一维如下:
一般在y上设置一个阈值,把 y≥−w0 的样本分类为 C1 ,其余样本为 C2 。则两类的均值为:
此时,投影的类间均值距离为:
则投影后各类的类内方差为:
不妨把整个数据集的类内方差定义为 s21+s22 ,则Fisher准则为类间方差与类内方差的比值,如下:
简单改写为:
其中, SB 为类间协方差矩阵, SW 为类内协方差矩阵
对 J(w) 求导并令导数为0可得:
调整后
这个结果就是Fisher线性判别函数,它是对数据投影方向的一个选择,可用于构建最开始的判别函数。
值得注意的是,最小平方误差是Fisher准则的一个特例,具体证明书上有写这里省略
多分类的Fisher判别函数
现在将二分类的情况推广到多分类,假设输入空间的维度D大于类别数量K(不然都没法投影),引入 D′ 个线性特征 yk=wTkx ,其中 k=1,...,D′ 。则用向量形式表示:
其中,矩阵
W
的列为权向量
此时,有
其中
注意,这里全部都是原有特征空间上的处理
现在需要找到类间协方差矩阵的推广,先考虑整体的协方差矩阵
其中,m为全体数据的均值
这个整体的协⽅差矩阵可以分解为类内协⽅差矩阵,加上另⼀个矩阵 SB ,它可以看做类间协⽅差矩阵。
其中
现在,考虑投影空间上定义类似的矩阵
其中
最后可以构建对应的Fisher准则,有
注意,可以通过理论推导证明,这种方法不能找到多于K-1个投影特征,这也是为什么输入空间维度D必须大于类别数量K的原因
感知器算法
这个模型中,输⼊向量
x
⾸先使⽤⼀个固定的⾮线性变换得到⼀个特征向量
其中,非线性激活函数 f 是阶梯函数
这里因为非线性激活函数是分段的,用最小平方误差准则运算繁琐,这里模型给出了感知机准则
显然,这个判别准则就是是预测结果与真实标签 t 的乘积,只有错分类的时候才为负,因此错分类时,准则产生的损失为正
可以采用随机梯度下降算法那求解:
概率生成模型
引言
生成模型将对类条件概率密度 p(x|Ck) 和类先验概率分布 p(Ck) 建模,然后使⽤这两个概率密度通过贝叶斯定理计算后验概率密度 p(Ck|x)
对于二分类而言,有
其中
而 σ 是logistic sigmoid函数
对于多分类的情形(分K类)
其中
这个其实是softmax的形式
连续输入
首先假设类条件概率密度是高斯分布,然后假设所有类别协方差矩阵相同(只是为了简化运算和推导),则类条件概率如下:
根据引言推导的一般结论,可得
其中
对于K个类别的情形
其中
这里可以看出,无论是二分类还是多分类, a(x) 涉及到的都是x的线性函数,而原本高斯函数指数上是一个二次项,能去掉二次项的原因是协方差矩阵相同的假设,这会导致分布的椭圆形在方向上保持一致,是的分类平面为线性
最大似然解
这里主要分析二分类的情况,假设有一个数据集 {xn,tn} ,其中 n=1,...,N , tn=1 表示属于类别 C1 , tn=0 则属于类别 C2 。假设每个类别都服从高斯类条件概率,而且协方差矩阵相同,则有
构建似然函数,将是伯努利分布的形式
转化为对数似然函数,对各个参数分别求导并令导数为0可得
这里推导过程主要是分析清楚对数似然函数中包含各个参数的项分别是什么,然后逐一求解,推导过程省略了。这里主要想表达的是,各个后验概率的意义。 π 的似然解表示的是对应类别的样本所占的比例; μk 的似然解表示的是对应类别的特征向量的均值
离散特征
这里就是说离散特征对比连续特征在结果上会有区别
考虑二元的特征值
xi∈{0,1}
,则如果特征向量是D维的,假设D维特征相互独立,则有
可以得到对应的结果
注意,无论输入是高斯分布的还是离散输入,后验概率都是线性模型与logistic sigmoid或者softmax激活函数给出的。
指数族分布
因为我们知道大部分的分布都可以写成指数族分布的形式,这里考虑指数族分布的情况下,后验概率的形式。
指数族分布的形式如下:
考虑 u(x)=x 的情况,有
那么,对于二分类,有
对于多分类,有
他们都是x的线性函数
概率判别式模型
生成式模型的过程是分别寻找类条件概率密度和类别先验,然后使⽤贝叶斯定理。而判别式模型的过程是直接最⼤化由条件概率分布 p(Ck|x) 定义的似然函数。
这里讨论的模型类似回顾问题的模型,采用固定的基函数,尽管基函数的存在可能会导致样本类别重叠区域的增加(增加了 p(Ck|x)≠1 的情况),但恰当地选择非线性变换能然后概率的建模过程变得简单
logistic 回归
因为概率生成模型的形式告诉我们,后验概率可以写成logistic sigmoid嵌套线性模型的形式,因此我们从这个模型入手:
对于⼀个数据集 ϕn , tn ,其中 tn∈{0,1} 且 ϕn=ϕ(xn) ,并且 n=1,...,N ,似然函数可以写成
其中, t=(t1,...,tN)T 且 yn=p(C1|ϕn) 。去负对数后,形成交叉熵误差函数
求导可得:
这里,数据点n对导数的贡献是⽬标值和模型预测值之间的“误差” yn−tn 与基函数向量 ϕn 相乘。
最大似然求解的不足:
(1)产生严重过拟合;因为它的解的超平面为
σ=0
,等价于
wTϕ=0
。因为是度量概率高低的,这个解会尽可能远的把数据集分成两类,这就导致
w
的大小趋于无穷大,因此函数在特征空间变得很陡峭,接近一个跳变得阶梯函数,是的后验概率满足
(2)这种解法无法区分某个解优于另⼀个解,并且在实际应⽤中哪个解被找到将会依赖于优化算法的选择和参数的初始化,可以通过加入正则化项避免。
迭代重加权最小平方
其实上面的最大似然方法无法得到解析解,因为logistic sigmoid是非线性函数,书中介绍了Newton-Raphson方法进行局部二次近似。
它的权值更新形式为:
其中,
H
是Hessian矩阵,它的元素由
因此,对于上面的logistic回归模型的交叉熵误差函数,有
其中,
R
为
因此,更新公式变为
其中, Z 是一个N维向量,有
由于权矩阵
R
不是常量,⽽是依赖于参数向量
多类logistic回归
考虑多分类的情况,由生成式模型可知,它对应的后验概率是softmax的形式,即
其中
它对应的似然函数为:
其中,
ynk=yk(ϕn)
,
T
是目标变量的
则
这里,梯度的形式和之前一样,为误差 (ynj−tnj) 与基函数 ϕn 的乘积。同样,它可以用迭代重加权最小平方算法求解。
probit回归
对于由指数族分布描述的⼀⼤类的类条件概率分布,最终求出的后验类概率
为作⽤在特征变量的线性函数上的logistic(或者softmax)变换。但不是所有的类条件概率密度都可以写成这种形式,这一节给出了相应的例子。
回到一般的线性模型
其中, a=wTϕ
考虑噪声阈值模型,不妨按照下式设置目标值
参数
这里假设概率密度函数 p(θ) 是零均值、单位房差的高斯概率密度,则对应得到累积分布函数
这个累积分布函数被称为逆probit函数,它也可以写成
其中
基于probit激活函数的一般线性模型被称为prbit回归
这个函数的形状有点类似sigmoid,如下图,但是它比sigmoid对离群点更加敏感。原因是它存在参数的平方的形式,当出现离群点时,衰减速度类似 exp(−x2) ,而sigmoid则像 exp(−x) 的形式衰减(这里没看明白)
标准链接函数
上面关于logistic回归的推导中,我们发现对数似然函数的导数都是一致的形式:误差 (yn−tn) 与基函数 ϕn 的乘积,其中 yn=wTϕn 。这一节将说明,如果⽬标变量的条件分布来⾃于指数族分布,对应的激活函数选为标准链接函数,那这个结论将具有一般性
考虑将指数族分布的假设应用于目标变量t
则可以得到
t
的条件均值
这里,
y
与
构建似然函数如下:
则对应对数似然函数关于参数 w 的导数如下:
其中
an=wTϕn
,
yn=f(an)
,注意,这里意味着
f
是激活函数,
因此, f(ψ(y))=y ,故 f′(ψ)ψ′(y)=1 ,由于 a=f−1(y) ,则 a=ψ ,所以 f′(a)ψ′(y)=1 。最终,误差函数梯度可以转化为:
拉普拉斯近似
这是一种简单而且广泛使用的近似框架。它利用泰勒展开的技术,将一个高斯近似为未知的概率分布形式
先考虑单一连续变量z的情况,假设分布 p(z) 定义为
其中, Z=∫f(z)dz 是归一化系数,一般假设未知。拉普拉斯⽅法的⽬标是寻找⼀个⾼斯近似 q(z) ,它的中⼼位于 p(z) 的众数的位置。
首先,我们寻找 p(z) 的众数,即找一个点 z0 ,使得 p′(z0)=0 ,也就是 f′(z0)=0
因为高斯分布的对数是变量的二次函数,下面不妨考虑 ln f(z) 以众数 z0 为中心的泰勒展开
其中
两边取指数并归一化后可得
下面将拉普拉斯方法进行推广,考虑近似M维空间z上的概率分布 p(z)=f(z)Z ,在驻点 z0 处做泰勒展开,得
其中,
A
为
两边取指数并归一化得
局限性:它完全依赖于真实概率分布在变量的某个具体值位置上的性质,因此会⽆法描述⼀些重要的全局属性
贝叶斯logistic回归
这里作者用贝叶斯的思想求解logistic回归用于分类的情况
拉普拉斯近似求解
考虑参数满足高斯先验
其中, m0 和 S0 是固定的超参数。则参数的后验概率为:
上面分析logistic回归时,我们有似然函数
则后验概率为:
下面将用拉普拉斯近似求解。用求导方式得到最大化后验的参数 wMAP ,它定义了高斯分布的均值,协方差如下:
得到高斯近似为:
最后作者还给出了对应了预测分布的推导,由于上面贝叶斯的求解看的不太懂,后面部分的推导这里省略了