线性和二次判别分析

线性判别分析

线性判别分析(Linear Discriminant Analysis,LDA)亦称 Fisher 判别分析。其基本思想是:将训练样本投影到低维超平面上,使得同类的样例尽可能近,不同类的样例尽可能远。在对新样本进行分类时,将其投影到同样的超平面上,再根据投影点的位置来确定新样本的类别。

给定的数据集
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } D=\{(\mathbf x_1,y_1),(\mathbf x_2,y_2),\cdots,(\mathbf x_N,y_N)\} D={(x1,y1),(x2,y2),,(xN,yN)}
包含 N N N 个样本, p p p 个特征。其中,第 i i i 个样本的特征向量为 x i = ( x i 1 , x i 2 , ⋯   , x i p ) T \mathbf x_i=(x_{i1},x_{i2},\cdots,x_{ip})^T xi=(xi1,xi2,,xip)T 。目标变量 y i ∈ { c 1 , c 2 , ⋯   , c K } y_i\in \{c_1,c_2,\cdots,c_K\} yi{c1,c2,,cK}

二分类

我们先定义 N k N_k Nk为第 k k k 类样本的个数
∑ k = 1 K N k = N \sum_{k=1}^KN_k=N k=1KNk=N
X k \mathcal X_k Xk为第 k k k 类样本的特征集合
X k = { x ∣ y = c k ,   ( x , y ) ∈ D } \mathcal X_k=\{\mathbf x | y=c_k,\ (\mathbf x,y)\in D \} Xk={xy=ck, (x,y)D}

μ k \mu_k μk为第 k k k 类样本均值向量
μ k = 1 N k ∑ x ∈ X k x \mu_k=\frac{1}{N_k}\sum_{\mathbf x\in \mathcal X_k}\mathbf x μk=Nk1xXkx

Σ k \Sigma_k Σk为第 k k k 类样本协方差矩阵
Σ k = 1 N k ∑ x ∈ X k ( x − μ k ) ( x − μ k ) T \Sigma_k=\frac{1}{N_k}\sum_{\mathbf x\in \mathcal X_k}(\mathbf x-\mu_k)(\mathbf x-\mu_k)^T Σk=Nk1xXk(xμk)(xμk)T

首先从比较简单的二分类为例 y ∈ { 0 , 1 } y\in \{0,1\} y{0,1},若将数据投影到直线 w \mathbf w w 上,则对任意一点 x \mathbf x x,它在直线 w \mathbf w w 的投影为 w T x \mathbf w^T\mathbf x wTx 1

  • LDA需要让不同类别的数据的类别中心之间的距离尽可能的大,也就是要最大化 ∥ w T μ 0 − w T μ 1 ∥ 2 2 \|\mathbf w^T\mu_0 -\mathbf w^T\mu_1\|_2^2 wTμ0wTμ122
  • 同时希望同一种类别数据的投影点尽可能的接近,也就是要同类样本投影点的方差最小化 w T Σ 0 w + w T Σ 1 w \mathbf w^T\Sigma_0\mathbf w+\mathbf w^T\Sigma_1\mathbf w wTΣ0w+wTΣ1w

综上所述,我们的优化目标为:
max ⁡ w ∥ w T μ 0 − w T μ 1 ∥ 2 2 w T Σ 0 w + w T Σ 1 w \max_{\mathbf w}\frac{\|\mathbf w^T\mu_0 -\mathbf w^T\mu_1\|_2^2}{\mathbf w^T\Sigma_0\mathbf w+\mathbf w^T\Sigma_1\mathbf w} wmaxwTΣ0w+wTΣ1wwTμ0wTμ122

目标函数
J ( w ) = ∥ w T μ 0 − w T μ 1 ∥ 2 2 w T Σ 0 w + w T Σ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w T w T ( Σ 0 + Σ 1 ) w \begin{aligned} J(\mathbf w)&=\frac{\|\mathbf w^T\mu_0 -\mathbf w^T\mu_1\|_2^2}{\mathbf w^T\Sigma_0\mathbf w+\mathbf w^T\Sigma_1\mathbf w} \\ &=\frac{\mathbf w^T(\mu_0 -\mu_1)(\mu_0 -\mu_1)^T\mathbf w^T}{\mathbf w^T(\Sigma_0+\Sigma_1)\mathbf w } \end{aligned} J(w)=wTΣ0w+wTΣ1wwTμ0wTμ122=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)TwT

其中, S w S_w Sw为类内散度矩阵(within-class scatter matrix)
S w = Σ 0 + Σ 1 S_w=\Sigma_0+\Sigma_1 Sw=Σ0+Σ1

S b S_b Sb为类间散度矩阵(between-class scaltter matrix)

S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0μ1)(μ0μ1)T

目标函数重写为
J ( w ) = w T S b w w T S w w J(\mathbf w)=\frac{\mathbf w^TS_b\mathbf w}{\mathbf w^TS_w\mathbf w} J(w)=wTSwwwTSbw
上式就是广义瑞利商。要取得最大值,只需对目标函数求导并等于0,可得到等式
S b w ( w T S w w ) = S w w ( w T S b w ) S_b\mathbf w(\mathbf w^TS_w\mathbf w)=S_w\mathbf w(\mathbf w^TS_b\mathbf w) Sbw(wTSww)=Sww(wTSbw)

重新代入目标函数可知
S w − 1 S b w = λ w S_w^{-1}S_b\mathbf w=\lambda\mathbf w Sw1Sbw=λw
这是一个特征值分解问题,我们目标函数的最大化就对应了矩阵 S w − 1 S b S_w^{-1}S_b Sw1Sb 的最大特征值,而投影方向就是这个特征值对应的特征向量。

多分类

可以将 LDA 推广到多分类任务中,目标变量 y i ∈ { c 1 , c 2 , ⋯   , c K } y_i\in \{c_1,c_2,\cdots,c_K\} yi{c1,c2,,cK}

定义类内散度矩阵(within-class scatter matrix)
S w = ∑ k = 1 K Σ k S_w=\sum_{k=1}^K\Sigma_k Sw=k=1KΣk

类间散度矩阵(between-class scaltter matrix)

S b = ∑ k = 1 K N k ( μ k − μ ) ( μ k − μ ) T S_b=\sum_{k=1}^KN_k(\mu_k-\mu)(\mu_k-\mu)^T Sb=k=1KNk(μkμ)(μkμ)T

其中 μ \mu μ 为所有样本均值向量
μ = 1 N ∑ i = 1 N x \mu=\frac{1}{N}\sum_{i=1}^N\mathbf x μ=N1i=1Nx
常见的最大化目标函数为
J ( W ) = tr ( W T S b W ) tr ( W T S w W ) J(W)=\frac{\text{tr}(W^TS_bW)}{\text{tr}(W^TS_wW)} J(W)=tr(WTSwW)tr(WTSbW)
对目标函数求导并等于0,可得到等式
tr ( W T S w W ) S b W = tr ( W T S b W ) S w W \text{tr}(W^TS_wW)S_bW=\text{tr}(W^TS_bW)S_wW tr(WTSwW)SbW=tr(WTSbW)SwW
重新代入目标函数可知
S b W = λ S w W S_bW=\lambda S_wW SbW=λSwW
W W W 的闭式解则是 S w − 1 S b S_w^{-1}S_b Sw1Sb K 一 1 K 一 1 K1 个最大广义特征值所对应的特征向量组成的矩阵。

由于 W W W是一个利用了样本的类别得到的投影矩阵,则多分类 LDA 将样本投影到 K − 1 K-1 K1 维空间, K − 1 K-1 K1 通常远小子数据原有的特征数。于是,可通过这个投影来减小样本点的维数,且投影过程中使用了类别信息,因此 LDA也常被视为一种经典的监督降维技术。

二次判别分析

下面来介绍以概率的角度来实现线性判别分析的方法。我们的目的就是求在输入为 x \mathbf x x 的情况下分类为 c k c_k ck 的概率最大的分类:
y ^ = arg ⁡ max ⁡ c k P ( y = c k ∣ x ) \hat y=\arg\max_{c_k} \mathbb P(y=c_k|\mathbf x) y^=argckmaxP(y=ckx)
利用贝叶斯定理,类别 c k c_k ck 的条件概率为
P ( y = c k ∣ x ) = P ( x ∣ y = c k ) P ( y = c k ) P ( x ) \mathbb P(y=c_k|\mathbf x)=\frac{\mathbb P(\mathbf x|y=c_k)\mathbb P(y=c_k)}{\mathbb P(\mathbf x)} P(y=ckx)=P(x)P(xy=ck)P(y=ck)

假设我们的每个类别服从高斯分布
P ( x ∣ y = c k ) = 1 ( 2 π ) p det ⁡ Σ k exp ⁡ ( − 1 2 ( x − μ k ) T Σ k − 1 ( x − μ k ) ) \mathbb P(\mathbf x|y=c_k)=\frac{1}{\sqrt{(2\pi)^p\det\Sigma_k}}\exp\left(-\frac{1}{2}(\mathbf x-\mathbf\mu_k)^T\Sigma^{-1}_k(\mathbf x-\mathbf\mu_k)\right) P(xy=ck)=(2π)pdetΣk 1exp(21(xμk)TΣk1(xμk))

其中,协方差矩阵 Σ k \Sigma_k Σk 为对称阵。

决策边界:为方便计算,我们取对数条件概率进行比较。对任意两个类别 c s c_s cs c t c_t ct,取

δ ( x ) = ln ⁡ P ( y = c s ∣ x ) − ln ⁡ P ( y = c t ∣ x ) \delta(\mathbf x)=\ln\mathbb P(y=c_s|\mathbf x)-\ln\mathbb P(y=c_t|\mathbf x) δ(x)=lnP(y=csx)lnP(y=ctx)

输出比较结果

y ^ s t = { c s , if  δ ≤ 0 c t , otherwise \hat y_{st}=\begin{cases} c_s, &\text{if }\delta\leq0 \\ c_t, &\text{otherwise} \end{cases} y^st={cs,ct,if δ0otherwise

决策边界为 δ ( x ) = 0 \delta(\mathbf x)=0 δ(x)=0,即
ln ⁡ P ( y = c s ∣ x ) = ln ⁡ P ( y = c t ∣ x ) \ln\mathbb P(y=c_s|\mathbf x)=\ln\mathbb P(y=c_t|\mathbf x) lnP(y=csx)=lnP(y=ctx)

我们先来化简下对数概率
ln ⁡ P ( y = c k ∣ x ) = ln ⁡ P ( x ∣ y = c k ) + ln ⁡ P ( y = c k ) − ln ⁡ P ( x ) = − 1 2 ( x − μ k ) T Σ k − 1 ( x − μ k ) − 1 2 ln ⁡ ( det ⁡ Σ k − 1 ) + ln ⁡ P ( y = c k ) + const = − 1 2 x T Σ k − 1 x + μ k T Σ k − 1 x − 1 2 μ k T Σ k − 1 μ k + ln ⁡ P ( y = c k ) − 1 2 ln ⁡ ( det ⁡ Σ k − 1 ) + const = x T A k x + w k T x + b k + const \begin{aligned} \ln\mathbb P(y=c_k|\mathbf x)&=\ln\mathbb P(\mathbf x|y=c_k)+\ln\mathbb P(y=c_k)-\ln\mathbb P(\mathbf x) \\ &=-\frac{1}{2}(\mathbf x-\mathbf \mu_k)^T\Sigma^{-1}_k(\mathbf x-\mathbf \mu_k)-\frac{1}{2}\ln(\det\Sigma^{-1}_k) +\ln\mathbb P(y=c_k)+\text{const}\\ &=-\frac{1}{2}\mathbf x^T\Sigma^{-1}_k\mathbf x+\mathbf \mu_k^T\Sigma^{-1}_k\mathbf x-\frac{1}{2}\mu_k^T\Sigma^{-1}_k\mu_k+\ln\mathbb P(y=c_k)-\frac{1}{2}\ln(\det\Sigma^{-1}_k) +\text{const}\\ &=\mathbf x^TA_k\mathbf x+\mathbf w_k^T\mathbf x+b_k+\text{const} \end{aligned} lnP(y=ckx)=lnP(xy=ck)+lnP(y=ck)lnP(x)=21(xμk)TΣk1(xμk)21ln(detΣk1)+lnP(y=ck)+const=21xTΣk1x+μkTΣk1x21μkTΣk1μk+lnP(y=ck)21ln(detΣk1)+const=xTAkx+wkTx+bk+const

其中
A k = − 1 2 Σ k − 1 , w k T = μ k T Σ k − 1 , b k = − 1 2 μ k T Σ k − 1 μ k + ln ⁡ P ( y = c k ) − 1 2 ln ⁡ ( det ⁡ Σ k − 1 ) A_k=-\frac{1}{2}\Sigma^{-1}_k,\quad\mathbf w_k^T =\mu_k^T\Sigma^{-1}_k,\quad b_k =-\frac{1}{2}\mu_k^T\Sigma^{-1}_k\mu_k+\ln\mathbb P(y=c_k)-\frac{1}{2}\ln(\det\Sigma^{-1}_k) Ak=21Σk1,wkT=μkTΣk1,bk=21μkTΣk1μk+lnP(y=ck)21ln(detΣk1)

可以看到,上式是一个关于 x \mathbf x x 的二次函数

  • 当类别的协方差矩阵不同时,生成的决策边界也是二次型的,称为二次判别分析(Quadratic Discriminant Analysis, QDA)
  • 当类别的协方差矩阵相同时,决策边界将会消除二次项,变成关于 x \mathbf x x 的线性函数,于是得到了线性判别分析。

实际应用中我们不知道高斯分布的参数,我们需要用我们的训练数据去估计它们。LDA使用估计协方差矩阵的加权平均值作为公共协方差矩阵,其中权重是类别中的样本量:
Σ ^ = ∑ k = 1 K N k Σ k N \hat\Sigma=\frac{\sum_{k=1}^KN_k\Sigma_k}{N} Σ^=Nk=1KNkΣk

如果 LDA中的协方差矩阵是单位阵 Σ = I \Sigma=I Σ=I并且先验概率相等,则LDA只需对比与类中心的欧几里得距离
ln ⁡ P ( y = c k ∣ x ) ∝ − 1 2 ( x − μ k ) T ( x − μ k ) = − 1 2 ∥ x − μ k ∥ 2 2 \ln\mathbb P(y=c_k|\mathbf x)\propto -\frac{1}{2}(\mathbf x-\mathbf \mu_k)^T(\mathbf x-\mathbf \mu_k)=-\frac{1}{2}\|\mathbf x-\mathbf \mu_k\|_2^2 lnP(y=ckx)21(xμk)T(xμk)=21xμk22

如果 LDA中的协方差矩阵非单位阵并且先验概率相等,则为马氏距离
ln ⁡ P ( y = c k ∣ x ) ∝ − 1 2 ( x − μ k ) T Σ k − 1 ( x − μ k ) \ln\mathbb P(y=c_k|\mathbf x)\propto -\frac{1}{2}(\mathbf x-\mathbf \mu_k)^T\Sigma^{-1}_k(\mathbf x-\mathbf \mu_k) lnP(y=ckx)21(xμk)TΣk1(xμk)


  1. 超平面几何知识 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/744564.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

测试行业,你的未来路在何方?失业之外,暗藏的这个危机更可怕!

目前测试行业现状 近期飞书的大规模裁员,无疑为2024年伊始蒙上了一层阴影。再加上“共享员工”模式的兴起,对于身处互联网行业的从业者来说,无疑是雪上加霜。 此外,延续了2023年的情况,在求职平台如BOSS直聘上&#…

基于Java的宠物领养管理系统【附源码】

摘 要 近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,宠物管理系统利用计算机网络实现信息化管理,使整个宠物领养的发展和服务水平有显著提升。 本文拟采用IDEA开发工具…

《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天,p19-p24总结,总计 5 页。 一、技术总结 1.grouping of phases 这里谈到分组(group),那么就会有一个疑问,分组的依据是什么?即根据什么来分组。 (1) front end & back end 编译器包含…

第三十一篇——大数据1:从四个特征把握大数据的本质

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 大数据的特征,如果我们没有一个清晰的边界以及明确的定位&…

如何找到合适的Python第三方库?

找合适的Python库其实很简单,按照以下三步法,你能找到90%的Python库。 1、百度谷歌搜索 明确自己的需求,用Python来干什么,力求简短明了。比如定位“数据分析”,然后去搜索关键词【Python数据分析第三方库】&#xf…

第二证券:港交所上市24周年 市值增长38倍

香港交易及结算所有限公司(下称香港交易所)于近来举办庆典活动,庆祝上市24周年。 据介绍,自2000年起,香港交易所逐步发展成为全球领先的商场营运机构,也成为连接中国内地与国际商场的主要桥梁。到2024年6月…

解决IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题

前言 本篇文章主要是记录解决百问网论坛上面设置 IMX6ULL GPIO扩展板PWM7/8中的pwm0/period后卡死问题,如下图: 一、查看原理图,找出对应引脚 在这里我们如何确定哪个扩展口中的引脚输出PWM波呢?我们可以通过查看原理图。 查看…

鸿蒙开发系统基础能力:【@ohos.inputMethodEngine (输入法服务)】

输入法服务 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import inputMethodEngine from ohos.inputMethodEngine;inputMethodEngine 常量值。 系统能力:以下各项对应…

手慢无!限量奶茶免费领,千元大奖组队赢!

🚀 AI 卡片大作战全新启动!!🕒 限时两周,组队狂欢!👫 邀请好友,解锁免费奶茶福利!💰 学习卡片,赢取 1888 超级现金大奖心动不如行动,快…

试题与研究杂志试题与研究杂志社试题与研究编辑部2024年第16期目录

教海纵横 互动式教学模式在初中道德与法治课的应用探究 陈文海; 1-3 基于跨学科项目式学习的地理研学旅行课程设计——以“佛山梁园”为例 周红艳; 4-6 育人导向下道德与法治教学与社会实践活动的融合探索 李鹤群; 7-9 合作学习模式下的初中数学教学策略探究 张…

Mongo Express 未授权访问漏洞

【产品&&漏洞简述】 Mongo Express 是一个基于 Node.js 和 express 的开源的 MongoDB Web管理界面。Mongo Express存在未授权访问漏洞,攻击者可通过该漏洞获取用户信息或修改系统数据。 【资产测绘Query】 title"Home - Mongo Express" 【产品界…

OVS:网桥的状态:fail_mode模式

目录 1.创建一个普通的ovs网桥不做任何配置 2.检测fail_mode值,默认为空 3.创建netns并配置sto网桥的两个普通端口并配置IP信息 4.默认情况下的两个端口下挂两个虚拟机v3,v4天然通信-ping-ok 5.修改网桥的fail_mode为standalone,原来的通信没有影响 6.修改了…

win7使用vue-cli创建vue3工程

1.创建名为test的项目 vue create test 回车以后选择第三个,进行手动选择 2.选择配置 向下箭头表示下一个,空格表示*选中,按照我的选择来选即可,选完后回车 3.选择vue.js版本 上线箭头进行选择,选择后回车 4.选择不同的配置&#…

[DALL·E 2] Hierarchical Text-Conditional Image Generation with CLIP Latents

1、目的 CLIP DDPM进行text-to-image生成 2、数据 (x, y),x为图像,y为相应的captions;设定和为CLIP的image和text embeddings 3、方法 1)CLIP 学习图像和文本的embedding;在训练prior和decoder时固定该部分参数 2&a…

RabbitMQ的WorkQueues模型

WorkQueues模型 Work queues,任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,…

运维.Linux下执行定时任务(中:Cron的常用替代方案)

运维系列 Linux下执行定时任务(中:Cron的常用替代方案) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAd…

Android集成mapbox教程

目录 简介准备工作创建Token系统开发简介 Mapbox是来自美国的一家为开发者提供地图服务和开发工具的开放平台。Mapbox以开源的形式构建了矢量瓦片技术生态,开发了矢量切片工具、瓦片服务传输框架。Mapbox的底图平台非常受欢迎,特别是开发者和学生群体,可以使用免费的开源软…

FileNotFoundError: Cannot find DGL C++ graphbolt library at ...

FileNotFoundError: Cannot find DGL C graphbolt library at ...-CSDN博客https://blog.csdn.net/weixin_44017989/article/details/137658749

2024最新算法:鳗鱼和石斑鱼优化(Eel and grouper optimizer,EGO)算法求解23个函数,MATLAB代码

一、算法介绍 鳗鱼和石斑鱼优化器(Eel and grouper optimizer,EGO)是2024年提出的一种智能优化算法,EGO算法的灵感来自海洋生态系统中鳗鱼和石斑鱼的共生相互作用和觅食策略。 参考文献: [1]A. Mohammadzadeh, S. Mi…

学会python——统计文件中文字出现次数(python实例九)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、统计文本文件中单词频率 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计…