线性判别分析LDA计算例题详解

news2024/12/27 11:38:15

线性判别分析(Linear Discriminant Analysis, LDA)的核心思想是:将给定训练集投影到特征空间的一个超平面上,并设法使同类样本投影点尽可能接近,异类样本投影点尽可能远离

image-20230505162753499

由于做题时针对的是解题过程,因此原理相关方面省略,具体可参考👉从协方差的角度详解线性判别分析原理

计算步骤【二分类问题】:

  1. 计算类间散度矩阵 S b S_b Sb
    S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0μ1)(μ0μ1)T
    其中 μ 0 \mu_0 μ0 为标签为 0 0 0 的特征平均值,其值个数等于特征个数, μ 1 \mu_1 μ1 同理

  2. 计算类内散度矩阵 S ω S_\omega Sω
    S ω = Σ 0 + Σ 1 S_\omega = \Sigma_0 + \Sigma_1\\ Sω=Σ0+Σ1
    其中 Σ 0 \Sigma_0 Σ0 是标签为 0 0 0 的样本协方差矩阵,若有 n n n 个特征,则其大小为 n × n n\times n n×n
    Σ 0 = [ C o v ( f 1 , f 1 ) C o v ( f 1 , f 2 ) ⋯ C o v ( f 1 , f n ) C o v ( f 2 , f 1 ) C o v ( f 2 , f 2 ) ⋯ C o v ( f 2 , f n ) ⋮ ⋮ ⋱ ⋮ C o v ( f n , f 1 ) C o v ( f n , f 2 ) ⋯ C o v ( f n , f n ) ] \Sigma_0 = \begin{bmatrix} Cov(f_1,f_1)& Cov(f_1,f_2)& \cdots &Cov(f_1,f_n)\\ Cov(f_2,f_1)& Cov(f_2,f_2)&\cdots &Cov(f_2,f_n)\\ \vdots & \vdots & \ddots & \vdots \\ Cov(f_n,f_1)& Cov(f_n,f_2)& \cdots &Cov(f_n,f_n) \end{bmatrix} \\ Σ0= Cov(f1,f1)Cov(f2,f1)Cov(fn,f1)Cov(f1,f2)Cov(f2,f2)Cov(fn,f2)Cov(f1,fn)Cov(f2,fn)Cov(fn,fn)
    其中 C o v ( x 1 , x 2 ) = 1 n − 1 ∑ i = 1 n ( x 1 i − x 1 ‾ ) ( x 2 i − x 2 ‾ ) Cov(x_1,x_2)=\dfrac{1}{n-1}\sum_{i=1}^{n}(x_1^{i}-\overline{x_1})(x_2^{i}-\overline{x_2}) Cov(x1,x2)=n11i=1n(x1ix1)(x2ix2) n n n 为样本个数

  3. 计算矩阵 S ω − 1 S b S_\omega^{-1}S_b Sω1Sb

    逆矩阵可以使用初等变换辅助求解,变换规则如下:

    • 对调矩阵两行(列)
    • 矩阵某行(列)乘以非零常数 k k k
    • 矩阵某行(列)倍数加到另一行
  4. S ω − 1 S b S_\omega^{-1}S_b Sω1Sb 矩阵求特征值和特征向量,选择特征值最大的特征向量作为 ω \omega ω【需要归一化】

    • 特征值可通过 ∣ λ E − A ∣ = 0 |\lambda E-A|=0 λEA=0 求得

    • 将特征值带入方程 ( λ 0 E − A ) X = 0 (\lambda_0E-A)X=0 (λ0EA)X=0 ,非零解即为特征值 λ 0 \lambda_0 λ0 对应得特征向量

      具体可参考考研数学线性代数部分,不再赘述

  5. 计算得到投影后的数据点 Y = X ω Y=X\omega Y=Xω

    将样本值 X X X 代入,得到的结果即投影后对应的位置

题目

假设有如下 10 10 10 个样本,样本有 2 2 2 个特征,前 5 5 5 项为负类,后 5 5 5 项为正类
D = { X 1 , X 2 , X 3 , X 4 , X 5 , X 6 , X 7 , X 8 , X 9 , X 10 } = { ( 4 , 2 ) T , ( 2 , 4 ) T , ( 2 , 3 ) T , ( 3 , 6 ) T , ( 4 , 4 ) T , ( 9 , 10 ) T , ( 6 , 8 ) T , ( 9 , 5 ) T , ( 8 , 7 ) T , ( 10 , 8 ) T } \begin{align} \nonumber D & =\left\{ X_1,X_2,X_3,X_4,X_5,X_6,X_7,X_8,X_9,X_{10} \right\}\\\nonumber & =\left\{ (4,2)^T,(2,4)^T,(2,3)^T,(3,6)^T,(4,4)^T,(9,10)^T,(6,8)^T,(9,5)^T,(8,7)^T,(10,8)^T \right\}\\ \nonumber \end{align} D={X1,X2,X3,X4,X5,X6,X7,X8,X9,X10}={(4,2)T,(2,4)T,(2,3)T,(3,6)T,(4,4)T,(9,10)T,(6,8)T,(9,5)T,(8,7)T,(10,8)T}
计算当前样本的类间散度矩阵 S b S_b Sb 和类内散度矩阵 S ω S_\omega Sω

题目所给样本可组成如下矩阵👇

样本特征值1特征值2分类
X 1 X_1 X1420
X 2 X_2 X2240
X 3 X_3 X3230
X 4 X_4 X4360
X 5 X_5 X5440
X 6 X_6 X69101
X 7 X_7 X7681
X 8 X_8 X8951
X 9 X_9 X9871
X 10 X_{10} X101081

μ 0 = [ ( 4 + 2 + 2 + 3 + 4 5 ) , ( 2 + 4 + 3 + 6 + 4 5 ) ] T = [   3 , 3.8   ] T ∴ μ 1 = [   8.4 , 7.6   ] T ∴ S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T = [ − 5.4 − 4.2 ] [ − 5.4 − 4.2 ] = [ 29.16 22.68 22.68 17.64 ] S ω = Σ 0 + Σ 1 Σ 0 = [ C o v ( f 1 , f 1 ) C o v ( f 1 , f 2 ) C o v ( f 2 , f 1 ) C o v ( f 2 , f 2 ) ] \mu_0=[(\dfrac{4+2+2+3+4}{5}),(\dfrac{2+4+3+6+4}{5})]^T=[\ 3,3.8\ ]^T\\ \therefore \mu_1=[\ 8.4,7.6\ ]^T\\ \begin{align}\nonumber \therefore S_b & = (\mu_0-\mu_1)(\mu_0-\mu_1)^T \\\nonumber & = \begin{bmatrix} -5.4\\-4.2 \end{bmatrix} \begin{bmatrix} -5.4 & -4.2 \end{bmatrix}\\ & =\nonumber \begin{bmatrix} 29.16 & 22.68\\ 22.68 & 17.64 \end{bmatrix} \end{align}\\ S_\omega = \Sigma_0 + \Sigma_1\\ \Sigma_0= \begin{bmatrix} Cov(f_1,f_1) & Cov(f_1,f_2)\\ Cov(f_2,f_1) & Cov(f_2,f_2)\\ \end{bmatrix} μ0=[(54+2+2+3+4),(52+4+3+6+4)]T=[ 3,3.8 ]Tμ1=[ 8.4,7.6 ]TSb=(μ0μ1)(μ0μ1)T=[5.44.2][5.44.2]=[29.1622.6822.6817.64]Sω=Σ0+Σ1Σ0=[Cov(f1,f1)Cov(f2,f1)Cov(f1,f2)Cov(f2,f2)]

以求 C o v ( f 1 , f 2 ) Cov(f_1,f_2) Cov(f1,f2) 为例,如下👇,由于是对标签为 0 0 0 的样本计算协方差, ∴ f 1 ‾ = 3 , f 2 ‾ = 3.8 \therefore\overline{f_1}=3,\overline{f_2}=3.8 f1=3f2=3.8
C o v ( f 1 , f 2 ) = 1 5 − 1 ∑ i = 1 5 ( f 1 i − f 1 ‾ ) ( f 2 i − f 2 ‾ ) = 1 4 [ ( 4 − 3 ) ( 2 − 3.8 ) + ( 2 − 3 ) ( 4 − 3.8 ) + ( 2 − 3 ) ( 3 − 3.8 ) + ( 3 − 3 ) ( 6 − 3.8 )       + ( 4 − 3 ) ( 4 − 3.8 ) ] = 1 4 × ( − 1.8 − 1.8 + 0.8 + 1.8 ) = − 0.25 \begin{align}\nonumber Cov(f_1,f_2) &=\dfrac{1}{5-1}\sum_{i=1}^{5}(f_1^{i}-\overline{f_1})(f_2^{i}-\overline{f_2})\\\nonumber & = \dfrac14[(4-3)(2-3.8)+(2-3)(4-3.8)+(2-3)(3-3.8)+(3-3)(6-3.8)\\&\ \ \ \ \ \nonumber +(4-3)(4-3.8)]\\\nonumber & = \dfrac14\times(-1.8-1.8+0.8+1.8)\\\nonumber & = -0.25 \end{align}\\ Cov(f1,f2)=511i=15(f1if1)(f2if2)=41[(43)(23.8)+(23)(43.8)+(23)(33.8)+(33)(63.8)     +(43)(43.8)]=41×(1.81.8+0.8+1.8)=0.25
其他数值都可根据类似方法得到
∴ Σ 0 = [ 1 − 0.25 − 0.25 2.2 ] Σ 1 = [ 2.3 − 0.05 − 0.05 3.3 ] ∴ S ω = Σ 0 + Σ 1 = [ 3.3 − 0.3 − 0.3 5.5 ] \therefore \Sigma_0= \begin{bmatrix} 1 & -0.25\\ -0.25 & 2.2\\ \end{bmatrix}\\ \Sigma_1= \begin{bmatrix} 2.3 & -0.05\\ -0.05 & 3.3\\ \end{bmatrix}\\ \therefore S_\omega=\Sigma_0+\Sigma_1= \begin{bmatrix} 3.3 & -0.3\\ -0.3 & 5.5 \end{bmatrix} Σ0=[10.250.252.2]Σ1=[2.30.050.053.3]Sω=Σ0+Σ1=[3.30.30.35.5]

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

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

相关文章

回文数:探索数字世界中的对称美学

本篇博客我会讲解力扣中的“9. 回文数”这道题,大家重点理解判断回文数的方法。 先来审题:这是题目链接。 来看几个输出示例: 还有一些条件: 第一反应是:为啥是个整数呢?万一是个字符串,那不…

windows下安装OpenCL

由于我的电脑是windows10,显卡是集显Intel UHD Graphics 630。 下载Intel的SDK for OpenCL,下载地址https://software.intel.com/en-us/opencl-sdk/choose-download,也可以在我的资源里面直接下载https://download.csdn.net/download/qq_363…

System verilog【2】字符串,函数,任务

前言 素手青颜光华发,半世尘缘半世沙。我唤青天睁开眼,风霜怎奈并蒂花 \;\\\;\\\; 目录 前言字符串packed组合型结构体组合型数组 过程块initial & always functiontask 字符串 module chertanis;initial beginstring s"hola,mundo!",s2…

Java 多线程知识

参考链接:https://www.cnblogs.com/kingsleylam/p/6014441.html https://blog.csdn.net/ly0724ok/article/details/117030234/ https://blog.csdn.net/jiayibingdong/article/details/124674922 导致Java线程安全问题最主要的原因: (1&#…

修改亮度、对比度、色调、饱和度,达到预期效果

用户态可以通过v4l2自带工具进行一些UVC相机参数的设定,包括采集卡驱动之类,也可以通过v4l2自带工具进行参数设定。 通过修改这些参数的值,可以弥补相机本身彩色部分自带不足。 总的来说就这么几种命令: 查看设备所有参数信息&a…

C++系列三:变量、常量

常量、变量 1. 变量1.1 定义变量1.2 初始化变量1.3 变量数据类型1.4 变量作用域 2. 常量2.1 定义常量2.2 常量类型2.3 常量作用域2.4 常量用法 3. 总结 1. 变量 变量是一个用于存储值的命名内存位置,可以存储多种不同类型的数据,例如整数、实数、字符或…

淘宝搜广推技术备注

第一篇文章 一、序列特征处理方式 1:淘宝的类目体系中,有大类目、小类目(淘宝大类目和小类目怎么区分?有何运营技巧?-卖家网),在做推荐系统时,有个sim建模(search-base…

【Java】抽象类接口

目录 1.抽象类 2.接口 2.1实现多个接口 2.2接口之间的关系 2.3接口使用实例 2.3.1Comparable接口 2.3.2Comparator接口 2.3.2Clone接口 2.4抽象类与接口的区别 1.抽象类 定义:抽象方法:这个方法没有具体的实现; 抽象类:不…

边学边记——数据结构☞和搜索有关的数据结构(搜索树,Set,Map,哈希表)

目录 模型 一、搜索 1. 场景 2. 搜索树 2.1 概念 2.2 查找 2.3 插入 2.4 删除 2.5 实现 2.6 性能分析 2.7 和Java的关系 二、Set 1. 常见方法 2. 注意 三、Map 1. 关于Map.Entry的说明,> 2. Map的常用方法说明 3. 注意 四、哈希表 1. 概念 2. 冲突 2…

[论文分享] VOS: Learning What You Don‘t Know by Virtual Outlier Synthesis

这篇文章是ICLR‘ 2022的一篇文章。 No.contentPAPER{ICLR’ 2022} VOS: Learning What You Don’t Know by Virtual Outlier SynthesisURL论文地址CODE代码地址 Motivation 现有OOD Detection方法大多依赖于真实的离群点数据集进行模型正则化,实际应用中过于昂…

常用位运算

一、求解二进制表示的第k位数字 #include<iostream> using namespace std;int main() {int n 10; // 例如&#xff0c;十进制10用二进制表示为1010 for(int k3;k>0;k--)cout << (n >> k & 1);// 第一步&#xff1a;右移k位// 第二步&#xff1a; &am…

JVM基础总结

文章目录 一、程序计数器二、Java虚拟机栈栈内存溢出【StackOverflowError】线程运行诊断 三、本地方法栈【Native Method Stacks】四、堆【Head】线程共享堆内存溢出【OutOfMemoryError&#xff1a;Java heap space】堆内存诊断 五、方法区【Method Area】线程共享运行时常量池…

Springboot +Flowable,为流程设置租户

一.简介 什么叫flowable的租户呢&#xff1f;这边举个例子&#xff1a; 假设现在有 A、B、C、D 四个子系统&#xff0c;四个子系统都要部署同一个名为 leave 的流程&#xff0c;如何区分四个不同子系统的的流程呢&#xff1f;通过租户就可以解决这个问题。Flowable 中的租户其…

dell r750服务器安装centos系统全记录

1、启动盘制作 1.1 下载系统 打开 https://www.centos.org/download/ 任意选择一个镜像网站&#xff0c;博主选择的是163镜像 下载内存为4g镜像文件 这里也可以参考 https://blog.csdn.net/weixin_46703995/article/details/121191113 1.2 下载启动盘制作软件 linux系统一…

Denoising Diffusion Probabilistic Model,DDPM阅读笔记——(二)

Denoising Diffusion Probabilistic Model&#xff0c;DDPM阅读笔记 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&#xff09; 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&…

C++数据结构:手撕红黑树

目录 一. 红黑树的概念及结构 二. 红黑树节点的定义 三. 红黑树节点的插入 3.1 初步查找插入节点的位置并插入节点 3.2 红黑树结构的调整 3.3 红黑树节点插入完整版代码 四. 红黑树的结构检查 4.1 检查是否为搜索树 4.2 检查节点颜色是否满足要求 附录&#xff1a;红黑…

TypeScript进阶

目录 TypeScript 与 Vue 文档说明 vscode 插件说明 准备页面基本结构 defineProps与Typescript defineEmits与Typescript ref与Typescript reactive与Typescript computed与Typescript 事件对象与Typescript 模板Ref与Typescript 可选链操作符和非空断言 TypeScript…

21.网络爬虫—js逆向详讲与实战

网络爬虫—js逆向 js逆向JavaScript逆向的详细讲解实战演示有道翻译设置密钥和初始向量对密钥和初始向量进行哈希处理创建AES对象并解密消息移除padding并返回结果 前言&#xff1a; &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f…

python基于卷积神经网络实现自定义数据集训练与测试

样本取自岩心照片&#xff0c;识别岩心是最基础的地质工作&#xff0c;如果用机器来划分岩心类型则会大大削减工作量。 下面叙述中0指代Anhydrite_rock&#xff08;膏岩&#xff09;&#xff0c;1指代Limestone&#xff08;灰岩&#xff09;&#xff0c;2指代Gray Anhydrite_r…

深度学习-第T6周——好莱坞明星识别

深度学习-第T6周——好莱坞明星识别 深度学习-第T6周——好莱坞明星识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目3、查看数据 四、数据预处理1、 加载数据1、设置图片格式2、划分训练集3、划分验证集4、查看标签 2、数据可视化3、检查数据4、配置数据集 …