判别分析
intro
判别分析是一类监督学习,解决的是在已知标签的训练数据时,训练模型对未知标签的数据进行分类。在统计学习方法中有以下方法可以来做分析。
- 软分类:logistic回归、随机森林、神经网络等
- 硬分类:距离判别分析、贝叶斯判别分析、费希尔判别分析、支持向量机、决策树、朴素贝叶斯等
其中关于硬分类问题,判别分析所做的从本质上来看是对特征空间的一组划分,并在此划分上定义了一个映射。划分的概念即将样本空间划分为互不相交的子集,划分记为,且,)。样本空间元素记为,对,,给定分类的类别集合为,定义映射(满)。映射不同我们用于判别分析的方法不同。而软分类问题(以0-1分类为例)则是定义了由样本空间到的映射。
下面主要是关于多元统计中常用的距离判别分析、贝叶斯判别分析、费希尔判别分析的原理和函数实现。后文中除非特殊说明,所有的样本.
距离判别法
距离判别法的思路很简单,计算新到的样本距离各总体的距离,选择最近的作为新样本的所属类别,但是这里计算距离的时候我们考虑了已知总体的分布状况,选择的是距离。
给定k组标记数据,第k数据标签为,包含个样本,其中每个样本为来自的随机向量,记为。假定第k个总体的协方差矩阵为。计算得到第k组标记数据的样本矩阵为。给定样本X,判定其类别的方法为:
贝叶斯判别法
距离判别法采用样本距离聚类中心大小判定聚类类别的思想十分直观,但是一方面没考虑到总体的先验分布,另一方面没考虑到类别的重要性程度,各类别之间出现误分类的后果等一而视。贝叶斯判别法由类别的重要性考虑到误分类的惩罚以及样本的先验大小。
给定类别的先验概率,并且给定原本属于类别误分到类别的误分类损失函数,且有,误分类矩阵记为。现给定一个划分,以及定义在这个划分上的映射——,即划分映射到下标对应的分类。假定第类的样本的概率密度函数为。定义由类误分到类的误分类概率为,误分类损失为。由此定义第i类误分类的总的损失为。最后结合各类出现的先验概率,给出在给定划分以及映射规则以后,平均的误分类损失函数:
若记误分类到第类样本的平均概率密度为,则总的平均误分类损失函数为:
寻求平均误分类损失最小的划分:
在实际应用中,若是最小平均损失的划分,此时另给任意以其他划分,则其平均损失之差为:
根据的定义,在为最优划分时,在区域上对一切成立。即在最优划分下,若给定一个未知样本,计算,样本被划分到平均损失最小的分类下。
特殊情况下,两总体的情形,当类别之间先验概率相同,各类别的误分类惩罚相同,同时样本服从不同的多元正态分布,此时贝叶斯判别分析退化为距离判别分析。此时穷举划分的损失函数,比较两类划分的损失大小,采用做比的方式就可以将正态概率密度函数的比值转化为指数函数内的马氏距离,从而问题转化为比较样本空间内的点距离两个类中心的马氏距离大小,与距离判别法等价,详细的证明略过。
Fisher最大投影判别法
Fisher判别法的思路是为p维随机变量寻找一个最优的投影方向,使得投影后的数据在新的投影方向上保留尽可能大组间离差和尽可能小的组内离差和,直观地说,就是选择一个投影方向让不同类别的样本尽可能得分得开。下面阐述Fisher判别法求解过程。
记样本类别均值矩阵为,其第行为第个样本所属类别的均值向量;总体的均值矩阵,其每个行向量是所有样本的均值向量。有样本的组内离差组间离差阵给定一个投影方向为,样本矩阵在这个方向上的投影为。则投影后,在方向的组间离差为,组内离差,此处我们假定组内离差阵为非奇异矩阵。此外由于我们寻找的是投影的方向,因此不妨选择合适的设定。要寻找一个使得投影方向的组内离差最大组间离差最小,考虑到不同方向的利差绝对值不同,因此选择组间离差和组内离差之比作为目标函数:
求解约束优化,写出拉格朗日函数:
即由一阶条件解得是矩阵的特征向量,其对应的特征值为。且此处在一阶条件等式左右左侧同乘以有:
代入朗格朗日函数:
由此要目标函数取得最大值,则需要选择矩阵的最大特征值对应的投影方向。验证此时二阶条件得,矩阵非正定,即在出目标函数取得极大值。由此得到了最大投影方向。(其实不需要验证二阶条件,此处无边界点,并且我们已经验证过所有可能的极值点中特征向量对应目标函数最大了)
计算逐个类别均值向量在上的投影位置,分别记为,给定新的样本,样本所属类别为:
最后确定投影方向以后,最优分类按照欧式距离来计算,并未采用马氏距离。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App