当前位置: 首页 > article >正文

线性判别分析(LDA)中求协方差矩阵示例

让我们通过一个简单的例子计算协方差矩阵。假设我们有两类数据集 X 0 X_0 X0 X 1 X_1 X1,每类有两个样本,每个样本有两个特征。

数据集:

类 0 的样本:
X 0 = [ 1 2 2 3 ] X_0 = \begin{bmatrix} 1 & 2 \\ 2 & 3 \end{bmatrix} X0=[1223]

类 1 的样本:
X 1 = [ 4 5 5 6 ] X_1 = \begin{bmatrix} 4 & 5 \\ 5 & 6 \end{bmatrix} X1=[4556]

1. 计算每类的均值向量:

首先,我们需要计算每类数据的均值向量。

对于类 0,均值向量 μ 0 \mu_0 μ0
μ 0 = 1 2 [ 1 + 2 2 + 3 ] = [ 1.5 2.5 ] \mu_0 = \frac{1}{2} \begin{bmatrix} 1+2 \\ 2+3 \end{bmatrix} = \begin{bmatrix} 1.5 \\ 2.5 \end{bmatrix} μ0=21[1+22+3]=[1.52.5]

对于类 1,均值向量 μ 1 \mu_1 μ1
μ 1 = 1 2 [ 4 + 5 5 + 6 ] = [ 4.5 5.5 ] \mu_1 = \frac{1}{2} \begin{bmatrix} 4+5 \\ 5+6 \end{bmatrix} = \begin{bmatrix} 4.5 \\ 5.5 \end{bmatrix} μ1=21[4+55+6]=[4.55.5]

2. 计算协方差矩阵:

协方差矩阵的公式为:
Σ = 1 n − 1 ∑ i = 1 n ( x i − μ ) ( x i − μ ) T \Sigma = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \mu)(x_i - \mu)^T Σ=n11i=1n(xiμ)(xiμ)T

对类 0 计算协方差矩阵 Σ 0 \Sigma_0 Σ0

我们对每个样本减去均值向量 μ 0 \mu_0 μ0,并计算它们的外积。

对于第一个样本 x 1 = [ 1 , 2 ] x_1 = [1, 2] x1=[1,2]
x 1 − μ 0 = [ 1 2 ] − [ 1.5 2.5 ] = [ − 0.5 − 0.5 ] x_1 - \mu_0 = \begin{bmatrix} 1 \\ 2 \end{bmatrix} - \begin{bmatrix} 1.5 \\ 2.5 \end{bmatrix} = \begin{bmatrix} -0.5 \\ -0.5 \end{bmatrix} x1μ0=[12][1.52.5]=[0.50.5]

对于第二个样本 x 2 = [ 2 , 3 ] x_2 = [2, 3] x2=[2,3]
x 2 − μ 0 = [ 2 3 ] − [ 1.5 2.5 ] = [ 0.5 0.5 ] x_2 - \mu_0 = \begin{bmatrix} 2 \\ 3 \end{bmatrix} - \begin{bmatrix} 1.5 \\ 2.5 \end{bmatrix} = \begin{bmatrix} 0.5 \\ 0.5 \end{bmatrix} x2μ0=[23][1.52.5]=[0.50.5]

接下来,我们计算外积:
( x 1 − μ 0 ) ( x 1 − μ 0 ) T = [ − 0.5 − 0.5 ] [ − 0.5 − 0.5 ] = [ 0.25 0.25 0.25 0.25 ] (x_1 - \mu_0)(x_1 - \mu_0)^T = \begin{bmatrix} -0.5 \\ -0.5 \end{bmatrix} \begin{bmatrix} -0.5 & -0.5 \end{bmatrix} = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x1μ0)(x1μ0)T=[0.50.5][0.50.5]=[0.250.250.250.25]
( x 2 − μ 0 ) ( x 2 − μ 0 ) T = [ 0.5 0.5 ] [ 0.5 0.5 ] = [ 0.25 0.25 0.25 0.25 ] (x_2 - \mu_0)(x_2 - \mu_0)^T = \begin{bmatrix} 0.5 \\ 0.5 \end{bmatrix} \begin{bmatrix} 0.5 & 0.5 \end{bmatrix} = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x2μ0)(x2μ0)T=[0.50.5][0.50.5]=[0.250.250.250.25]

协方差矩阵为这两个外积的平均:
Σ 0 = 1 2 − 1 ( [ 0.25 0.25 0.25 0.25 ] + [ 0.25 0.25 0.25 0.25 ] ) = [ 0.5 0.5 0.5 0.5 ] \Sigma_0 = \frac{1}{2-1} \left( \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} + \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} \right) = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ0=211([0.250.250.250.25]+[0.250.250.250.25])=[0.50.50.50.5]

对类 1 计算协方差矩阵 Σ 1 \Sigma_1 Σ1

同样地,对类 1 的样本进行相同的步骤。

对于第一个样本 x 1 = [ 4 , 5 ] x_1 = [4, 5] x1=[4,5]
x 1 − μ 1 = [ 4 5 ] − [ 4.5 5.5 ] = [ − 0.5 − 0.5 ] x_1 - \mu_1 = \begin{bmatrix} 4 \\ 5 \end{bmatrix} - \begin{bmatrix} 4.5 \\ 5.5 \end{bmatrix} = \begin{bmatrix} -0.5 \\ -0.5 \end{bmatrix} x1μ1=[45][4.55.5]=[0.50.5]

对于第二个样本 x 2 = [ 5 , 6 ] x_2 = [5, 6] x2=[5,6]
x 2 − μ 1 = [ 5 6 ] − [ 4.5 5.5 ] = [ 0.5 0.5 ] x_2 - \mu_1 = \begin{bmatrix} 5 \\ 6 \end{bmatrix} - \begin{bmatrix} 4.5 \\ 5.5 \end{bmatrix} = \begin{bmatrix} 0.5 \\ 0.5 \end{bmatrix} x2μ1=[56][4.55.5]=[0.50.5]

外积分别为:
( x 1 − μ 1 ) ( x 1 − μ 1 ) T = [ 0.25 0.25 0.25 0.25 ] (x_1 - \mu_1)(x_1 - \mu_1)^T = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x1μ1)(x1μ1)T=[0.250.250.250.25]
( x 2 − μ 1 ) ( x 2 − μ 1 ) T = [ 0.25 0.25 0.25 0.25 ] (x_2 - \mu_1)(x_2 - \mu_1)^T = \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} (x2μ1)(x2μ1)T=[0.250.250.250.25]

协方差矩阵为:
Σ 1 = 1 2 − 1 ( [ 0.25 0.25 0.25 0.25 ] + [ 0.25 0.25 0.25 0.25 ] ) = [ 0.5 0.5 0.5 0.5 ] \Sigma_1 = \frac{1}{2-1} \left( \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} + \begin{bmatrix} 0.25 & 0.25 \\ 0.25 & 0.25 \end{bmatrix} \right) = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ1=211([0.250.250.250.25]+[0.250.250.250.25])=[0.50.50.50.5]

结果:

对于类 0 和类 1,它们的协方差矩阵分别为:
Σ 0 = [ 0.5 0.5 0.5 0.5 ] \Sigma_0 = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ0=[0.50.50.50.5]
Σ 1 = [ 0.5 0.5 0.5 0.5 ] \Sigma_1 = \begin{bmatrix} 0.5 & 0.5 \\ 0.5 & 0.5 \end{bmatrix} Σ1=[0.50.50.50.5]

这是一个简单的二维数据集协方差矩阵的计算例子。


http://www.kler.cn/a/318553.html

相关文章:

  • 机器情绪及抑郁症算法
  • 拦截器实现http请求访问本地图片
  • Qt 实现文件监控程序
  • 【LeetCode】【算法】55. 跳跃游戏
  • 初始JavaEE篇 —— 网络编程(2):了解套接字,从0到1实现回显服务器
  • Nginx配置自带的stub状态实现活动监控指标
  • 配置文件--UmiJs
  • 用Flutter几年了,Flutter每个版本有什么区别?
  • 深入理解前端拖拽:从基础实现到事件冒泡与委托的应用【面试真题】
  • MySQL Performance Schema 详解及运行时配置优化
  • mac-m1安装nvm,docker,miniconda
  • 【shell脚本5】Shell脚本学习--条件控制
  • MyBatis与 Springboot 的集成
  • 【Webpack】使用 Webpack 和 LocalStorage 实现静态资源的离线缓存
  • ubuntu24.04 怎么调整swap分区的大小,调整为16G
  • Spark 任务与 Spark Streaming 任务的差异详解
  • Java毕业设计 基于SpringBoot和Vue自习室管理系统
  • Mybatis-为什么使用Mybatis,它存在哪些优点和缺点?
  • 【后端开发】JavaEE初阶—线程安全问题与加锁原理(超详解)
  • 专业学习|随机规划概观(内涵、分类以及例题分析)
  • Java基础|多线程:多线程分页拉取
  • Python画笔案例-054 绘制流光溢彩动画
  • windows C++-指定特定的计划程序策略
  • unix中如何查询和修改进程的资源限制
  • 2024年中国研究生数学建模竞赛B题 (WLAN组网吞吐量机理建模+决策树 完整建模文章)
  • 基于物联网技术的智能运动检测仪设计(微信小程序)(230)