LDA(Fisher)线性判别分析

news2025/1/20 18:26:19

LDA(Fisher)线性判别分析

对于二分类问题若存在一个 y i = W x i y_i=Wx_i yi=Wxi将样本 X \pmb X X投影到一维空间上

1042406-20170103121629034-435985945

为了使两个样本能够较好的分开,应该是的每一个同类的样本的方差(离散程度)尽可能的小,而不同类的样本的尽可能的远

设样本可以分为 w 1 w_1 w1 w 2 w_2 w2两类

则我们可以计算

各类样本的类内均值向量
m i = 1 N i ∑ x ∈ w i x m i ˉ = 1 N i ∑ y ∈ w i y m_i=\frac{1}{N_i}\sum_{x \in w_i}x\\ \bar{m_i}=\frac{1}{N_i}\sum_{y \in w_i}y mi=Ni1xwixmiˉ=Ni1ywiy

各类样本的类内离散度矩阵
S i = ∑ x ∈ w i ( x − m i ) ( x − m i ) T S i ˉ = ∑ y ∈ w i ( y − m i ˉ ) 2 S_i=\sum_{x \in w_i}(x-m_i){(x-m_i)}^T\\ \bar{S_i}=\sum_{y \in w_i}{(y-\bar{m_i})}^2 Si=xwi(xmi)(xmi)TSiˉ=ywi(ymiˉ)2
总体样本的类内离散度矩阵
S w = S 1 + S 2 S w ˉ = S 1 ˉ + S 2 ˉ S_w=S_1+S_2\\ \bar{S_w}=\bar{S_1}+\bar{S_2} Sw=S1+S2Swˉ=S1ˉ+S2ˉ
样本的类间离散度矩阵
S b = ( m 1 − m 2 ) ( m 1 − m 2 ) T S b ˉ = ( m 1 ˉ − m 2 ˉ ) ( m 1 ˉ − m 2 ˉ ) T S_b=(m_1-m_2){(m_1-m_2)}^T\\ \bar{S_b}=(\bar{m_1}-\bar{m_2}){(\bar{m_1}-\bar{m_2})}^T Sb=(m1m2)(m1m2)TSbˉ=(m1ˉm2ˉ)(m1ˉm2ˉ)T
Fisher准则函数
J F ( W ) = ( m 1 ˉ − m 2 ˉ ) 2 S 1 ˉ + S 2 ˉ J_F(W)=\frac{{(\bar{m_1}-\bar{m_2})}^2}{\bar{S_1}+\bar{S_2}} JF(W)=S1ˉ+S2ˉ(m1ˉm2ˉ)2
由此我们优化的目标时使得 J F ( W ) J_F(W) JF(W)最大
( m 1 ˉ − m 2 ˉ ) 2 = W ( m 1 − m 2 ) ( m 1 − m 2 ) T W T = W S b W T \begin{aligned}{ (\bar{m_1}-\bar{m_2})}^2&=W(m_1-m_2)(m_1-m_2)^TW^T\\ &=WS_bW^T\\ \end{aligned} (m1ˉm2ˉ)2=W(m1m2)(m1m2)TWT=WSbWT

S i ˉ = ∑ y ∈ w i ( y − m i ˉ ) 2 = ∑ x ∈ w i ( W x − W m i ) 2 = ∑ x ∈ w i W ( x − m i ) ( x − m i ) W T = W S i W T \begin{aligned} \bar{S_i}&=\sum_{y \in w_i}{(y-\bar{m_i})}^2\\ &=\sum_{x \in w_i}(Wx-Wm_i)^2\\ &=\sum_{x \in w_i}W(x-m_i)(x-m_i)W^T\\ &=WS_iW^T \end{aligned} Siˉ=ywi(ymiˉ)2=xwi(WxWmi)2=xwiW(xmi)(xmi)WT=WSiWT

J F ( W ) = ( m 1 ˉ − m 2 ˉ ) 2 S 1 ˉ + S 2 ˉ = W S b W T W ( S 1 + S 2 ) W T = W S b W T W S w W T \begin{aligned} J_F(W)&=\frac{{(\bar{m_1}-\bar{m_2})}^2}{\bar{S_1}+\bar{S_2}}\\ &=\frac{WS_bW^T}{W(S_1+S_2)W^T}\\ &=\frac{WS_bW^T}{WS_wW^T} \end{aligned} JF(W)=S1ˉ+S2ˉ(m1ˉm2ˉ)2=W(S1+S2)WTWSbWT=WSwWTWSbWT

采用拉格朗日乘数法
L ( W , λ ) = W S b W T − λ ( W S w W T − c ) L(W,\lambda)=WS_bW^T-\lambda(WS_wW^T-c) L(W,λ)=WSbWTλ(WSwWTc)
W W W求偏导数
∂ L ( W , λ ) ∂ W = S b W − λ S w W \begin{aligned} \frac{\partial L(W,\lambda)}{\partial W}=S_bW-\lambda S_wW \end{aligned} WL(W,λ)=SbWλSwW
偏导数为0
∂ L ( W , λ ) ∂ W = S b W − λ S w W = 0 \begin{aligned} \frac{\partial L(W,\lambda)}{\partial W}=S_bW-\lambda S_wW=0 \end{aligned} WL(W,λ)=SbWλSwW=0
则存在
S b W = λ S w W S_bW=\lambda S_wW SbW=λSwW
因为 S w S_w Sw为非奇异矩阵可得到
S w − 1 S b W = λ W S_w^{-1}S_bW=\lambda W Sw1SbW=λW
可以视为求矩阵 S w − 1 S b S_w^{-1}S_b Sw1Sb的特征向量
S w − 1 S b W = S w − 1 ( m 1 − m 2 ) ( m 1 − m 2 ) T W S_w^{-1}S_bW=S_w^{-1}(m_1-m_2)(m_1-m_2)^TW Sw1SbW=Sw1(m1m2)(m1m2)TW
( m 1 − m 2 ) T W (m_1-m_2)^TW (m1m2)TW为一个标量设为R,则
λ W = S w − 1 ( m 1 − m 2 ) R \lambda W=S_w^{-1}(m_1-m_2)R λW=Sw1(m1m2)R
于是
W = R λ S w − 1 ( m 1 − m 2 ) W=\frac{R}{\lambda}S_w^{-1}(m_1-m_2) W=λRSw1(m1m2)
由于寻找对是W的方向上的向量,所以
W ∗ = S w − 1 ( m 1 − m 2 ) W^*=S_w^{-1}(m_1-m_2) W=Sw1(m1m2)
综上所述,存在 W ∗ W^* W使得LDA可以较好的解决二分类问题。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java实现hack汇编器

Hack汇编语言是一种特定于计算机体系结构的汇编语言,使用Hack架构的机器码指令来编写程序。Hack是一种基于Von Neumann结构的计算机体系结构,由Harvard大学的Nand to Tetris项目开发出来,用于实现计算机硬件和软件。 Hack汇编语言主要用于在…

FPGA面试题(5)

一.FPGA可以综合实现为RAM/ROM/CAM的三种资源及注意事项 三种资源:BLOCK RAM,触发器(FF),查找表(LUT) 注意事项: 1.生成RAM,首选BLOCK RAM。因为BLOCK RAM是已经存在的“…

Jmeter压测http接口和java代码放在Jmeter执行

Jmeter无缝支持java语言,使其在市场上有很高的占有率,一些公司还专门对JMenter进行二次开发,使其成为公司级压测平台。 本次介绍JMenter的一些入门级使用,方便大家继续深入探索。 1、启动Jmeter 2、压测简单http接口 添加线程组…

Ant Design Vue设置表格滚动 宽度自适应 不换行

Ant Design Vue设置表格滚动 宽度自适应 不换行 添加以下属性即可解决这个问题&#xff1a; <a-table :columns"columns" :data-source"list":pagination"false"bordered:scroll"{ x: max-content }" >

Lazysysadmin靶机

信息收集 主机发现 nmap -sn 192.168.88.0/24 //-sn&#xff1a;制作主机发现&#xff0c;不做端口扫描&#xff1b;扫描结果包含本机IP 端口扫描 nmap --min-rate 10000 -p- 192.168.88.136 扫描端口详细信息 端口扫描发现&#xff0c;该主机的22、80、139、445、3306、…

进阶JAVA篇- DateTimeFormatter 类与 Period 类、Duration类的常用API(八)

目录 1.0 DateTimeFormatter 类的说明 1.1 如何创建格式化器的对象呢&#xff1f; 1.2 DateTimeFormatter 类中的 format&#xff08;LocalDateTime ldt&#xff09; 实例方法 2.0 Period 类的说明 2.1 Period 类中的 between(localDate1,localDate2) 静态方法来创建对象。 3.…

vue过渡动画效果

官网:https://cn.vuejs.org/v2/api/#transition 要与v-show,v-if 动态组件结合 给需要过渡的元素外层加<transition> ,并用name命名 , show:true, --------------------- <button click"show!show">button</button> <transition namefade>&…

基本地址变换机构

基本地址变换机构&#xff1a;用于实现逻辑地址到物理地址转换的一组硬件机构。 关于页号页表的定义&#xff0c;放个本人的传送门 1.页表寄存器 基本地址变换机构可以借助进程的页表将逻辑地址转换为物理地址。 1.作用 通常会在系统中设置一个页表寄存器&#xff08;PTR&…

KubeVela交付

有什么用我也不想说了&#xff0c;这个是k8s CI/CD,进阶玩家玩的了&#xff0c;比你们喜欢Arg CD更科学&#xff0c;更现代 在 Kubernetes 中安装 KubeVela helm repo add kubevela https://charts.kubevela.net/core helm repo update helm install --create-namespace -n v…

云耀云服务器L实例部署k8s测评|华为云云耀云服务器L实例评测使用体验

文章目录 云耀云服务器L实例部署k8s测评名词解释云耀云服务器L实例云耀负载均衡k8s及使用场景1.3.1 微服务架构1.3.2 自动化部署1.3.3 弹性伸缩1.3.4 多租户环境1.3.5 持续集成和持续部署 3. 部署华为云云耀服务器L实例3.1 云耀服务器L实例购买3.1.1 云耀服务器L实例初始化配置…

【Golang】grpc环境踩的坑

关于’protoc-gen-go’ 不是内部或外部命令 这个问题的出现是因为没有这个文件导致的 这个文件要通过我们下载的google.golang.org这个文件编译生成的 这里建议下载google提供的grpc包 protobuf的源码&#xff1a; git clone https://github.com/golang/protobuf 下载好之后进…

华为云云耀云服务器L实例评测|企业项目最佳实践之建议与总结(十二)

华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践系列&#xff1a; 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测&#xff5…

RTSP协议

1 前言 RTSP协议作为音视频实时监控一个非常重要的协议&#xff0c;具有非常广泛的应用。RTSP由RFC 2326规范化&#xff0c;它允许客户端通过请求不同的媒体资源来控制流媒体服务器。RTSP是一种应用层协议&#xff0c;通常基于TCP连接&#xff0c;用于建立和控制媒体会话。这使…

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程前言准备工具anaconda/cuda/cudnnanaconda创建环境(选做)安装原…

Jetpack:008-Icon与Image

文章目录 1. 概念介绍2. 使用方法2.1 Icon2.2 Image 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中与Button相关的内容&#xff0c;本章回中主要I con与Image。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中介绍…

graphviz报错

报错如下&#xff1a; graphviz.backend.ExecutableNotFound: failed to execute dot, make sure the Graphviz executables are on your systems PATH 大家习惯pip install graphviz去安装&#xff0c;但是graphviz是个软件&#xff0c;不能单独用Pip安装。 1、下载安装 G…

英语——语法——从句——非谓语动词——笔记

一、1定义 定义&#xff1a; 非谓语动词不是真正意义上的谓语动词&#xff0c;即在句中都不能单独作谓语。 非谓语动词主要有以下三种形式&#xff1a; 技巧&#xff1a;分析句子是先缩短为主谓宾&#xff0c;某人做某事&#xff0c;其他成分都是修饰限定作用。要么修饰明代词…

ECharts的基本使用

目录 一、使用前提 1、安装 2、创建文件 二、LineView.vue文件【相当于一个组件】 1、导入 2、methods方法下写init(){}方法进行选择 3、methods方法下写setOptioin(option) 4、init()函数调用 5、整合完整代码 三、IndexView.vue文件【实现组件引入显示】 1、引入 …

P34~36第八章相量法

8.1复数 复数可表示平面矢量、也可表示正弦量。特别是: 当复数表示正弦量的时候&#xff0c;此时复数称为相量。 8.2复数运算 复数除法也可看做乘法&#xff0c;乘法的几何意义是旋转&#xff08;辐角相加&#xff09;( e^x e^y e^xy)&#xff0c;同时伸缩&#xff08;模变…

计算机操作系统-第七天

1、计算机操作系统的结构&#xff08;续集&#xff09; 分层结构 特性&#xff1a;最底层是硬件&#xff0c;最高层是用户接口&#xff0c;每层只可使用更低的相邻层所提供的功能接口&#xff08;只有第一层可以直接操作硬件&#xff0c;第二次只能使用第一层提供的功能接口..…