判别分析

intro

判别分析是一类监督学习,解决的是在已知标签的训练数据时,训练模型对未知标签的数据进行分类。在统计学习方法中有以下方法可以来做分析。

  • 软分类:logistic回归、随机森林、神经网络等
  • 硬分类:距离判别分析、贝叶斯判别分析、费希尔判别分析、支持向量机、决策树、朴素贝叶斯等

其中关于硬分类问题,判别分析所做的从本质上来看是对特征空间的一组划分,并在此划分上定义了一个映射。划分的概念即将样本空间Ω划分为互不相交的子集,划分记为R={R1,R2...Rm},且n=1mRn=ΩRiRj=ϕ(ij)。样本空间元素记为x,对xΩRnRs.t.xRn,给定分类的类别集合为Category={c1,c2...ck},定义映射(满)f:ΩCategory,xci(i=1,2...k)。映射不同我们用于判别分析的方法不同。而软分类问题(以0-1分类为例)则是定义了由样本空间到[0,1]的映射。
下面主要是关于多元统计中常用的距离判别分析、贝叶斯判别分析、费希尔判别分析的原理和函数实现。后文中除非特殊说明,所有的样本xRp.

距离判别法

距离判别法的思路很简单,计算新到的样本距离各总体的距离,选择最近的作为新样本的所属类别,但是这里计算距离的时候我们考虑了已知总体的分布状况,选择的是manhanttan距离。
给定k组标记数据,第k数据标签为Yk,包含nk个样本,其中每个样本Xk,i为来自Rp的随机向量,记为{Yk,Xk,1:nk}。假定第k个总体的协方差矩阵为Σk。计算得到第k组标记数据的样本矩阵为μk。给定样本X,判定其类别的方法为:

category(X)=argmini(Xμi)Σi1(Xμi)

贝叶斯判别法

距离判别法采用样本距离聚类中心大小判定聚类类别的思想十分直观,但是一方面没考虑到总体的先验分布,另一方面没考虑到类别的重要性程度,各类别之间出现误分类的后果等一而视。贝叶斯判别法由类别的重要性考虑到误分类的惩罚以及样本的先验大小。
给定类别的先验概率q1,q2...qk,并且给定原本属于类别i误分到类别j的误分类损失函数cj|i,且有ci|i=0,误分类矩阵记为C。现给定一个划分R={R1,R2...Rk},以及定义在这个划分上的映射——f:Rii,即划分映射到下标对应的分类。假定第k类的样本的概率密度函数为fi(x)。定义由i类误分到j类的误分类概率为Pj|i=Rjfi(x)dx,误分类损失为Rjfi(x)cj|idx。由此定义第i类误分类的总的损失为j=1kRjfi(x)cj|idx。最后结合各类出现的先验概率,给出在给定划分R以及映射规则以后,平均的误分类损失函数:

l(R)=i=1kqij=1kRjfi(x)cj|idx

若记误分类到第i类样本的平均概率密度为hi(x)=j=1kqifi(x)ci|jdx,则总的平均误分类损失函数为:

l(R)=i=1kRihi(x)dx

寻求平均误分类损失最小的划分:

R=argminRl(R)

在实际应用中,若R={R1,R2...Rk}是最小平均损失的划分,此时另给任意以其他划分R={R1,R2...Rk},则其平均损失之差为:

l(R)l(R)=i=1k{Rihi(x)dxRihi(x)dx}

=i=1kj=1kRiRj(hi(x)hj(x))dx

根据R的定义,在R为最优划分时,在区域Rihi(x)hj(x)对一切j成立。即在最优划分下,若给定一个未知样本,计算hi(x),i=1,2...k,样本被划分到平均损失hi(x)最小的分类下。
特殊情况下,两总体的情形,当类别之间先验概率相同q1=q2,各类别的误分类惩罚相同c1|2=c2|1=c,c1|1=c2|2=0,同时样本服从不同的多元正态分布,此时贝叶斯判别分析退化为距离判别分析。此时穷举划分的损失函数,比较两类划分的损失大小,采用做比的方式就可以将正态概率密度函数的比值转化为指数函数内的马氏距离,从而问题转化为比较样本空间内的点距离两个类中心的马氏距离大小,与距离判别法等价,详细的证明略过。

Fisher最大投影判别法

Fisher判别法的思路是为p维随机变量寻找一个最优的投影方向,使得投影后的数据在新的投影方向上保留尽可能大组间离差和尽可能小的组内离差和,直观地说,就是选择一个投影方向让不同类别的样本尽可能得分得开。下面阐述Fisher判别法求解过程。
记样本类别均值矩阵为X¯c,其第i行为第i个样本所属类别的均值向量;总体的均值矩阵X¯,其每个行向量是所有样本的均值向量。有样本的组内离差E=(XX¯c)(XX¯c)组间离差阵A=(X¯cX¯)(X¯cX¯)给定一个投影方向为ap×1,样本矩阵X在这个方向上的投影为Xa。则投影后,在a方向的组间离差为A=aAa,组内离差E=aEa,此处我们假定组内离差阵为非奇异矩阵。此外由于我们寻找的是投影的方向,因此不妨选择合适的a设定aEa=1。要寻找一个a使得投影方向的组内离差最大组间离差最小,考虑到不同方向的利差绝对值不同,因此选择组间离差和组内离差之比作为目标函数:

a=argminaRpaAa

s.t.aEa=1

求解约束优化,写出拉格朗日函数:

L(a)=aAaλ(aEa1)

L(a)a=2Aa2λEa=0

E1Aa=λa

即由一阶条件解得a是矩阵E1A的特征向量,其对应的特征值为λ。且此处在一阶条件等式左右左侧同乘以a有:

aAaλaEa=0

代入朗格朗日函数:

L(a)=aAaλ(aEa1)

=λ

由此要目标函数取得最大值,则a需要选择矩阵E1A的最大特征值λmax对应的投影方向aλmax。验证此时二阶条件得2L(a)a2=2E(E1AλI)Hessian矩阵非正定,即在aλmax出目标函数取得极大值。由此得到了最大投影方向。(其实不需要验证二阶条件,此处无边界点,并且我们已经验证过所有可能的极值点中λmax特征向量对应目标函数最大了)
计算逐个类别均值向量在a上的投影位置,分别记为μ1,μ2...μk,给定新的样本xp×1,样本所属类别为:

category(x)=argmini=1k||(xμi)||2

最后确定投影方向以后,最优分类按照欧式距离来计算,并未采用马氏距离。

posted @   年轻的土豆  阅读(325)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示