浅析 K-L 变换

K-L变换是一种基于统计特性的线性变换,用于消除数据相关性并实现最佳的数据压缩。该变换通过计算样本相关矩阵的特征值和特征向量,将原始数据转换为一组独立的成分,常用于降低数据维度。离散K-L变换步骤包括计算相关系数矩阵、选取主要特征值和向量,并对样本进行变换。在示例中,两个模式类的样本被压缩成一维,通过K-L变换实现了数据的离散表示。
摘要由CSDN通过智能技术生成

浅析 K-L 变换

前言

K-L 转换(Karhunen-Loève Transform)是建立在统计特性基础上的一种转换,它是均方差(MSE, Mean Square Error)意义下的最佳转换,因此在资料压缩技术中占有重要的地位。

K-L 变换的本质就是一个线性变换

y = U T x \mathbf{y}=\mathbf{U}^T\mathbf{x} y=UTx

K-L 变换的目的: 对输入的向量 x,做一个正交变换,使得输出的向量得以去除数据的相关性

原理简述

x = { x 1 , x 2 , ⋯   , x n } \mathbf{x} = \{x_1,x_2,\cdots,x_n\} x={x1,x2,,xn} n n n维随机向量

为了找到 K-L 变换矩阵 U U U,令

y = U T x \mathbf{y}=\mathbf{U}^T\mathbf{x} y=UTx

我们希望新向量 y \mathbf{y} y的各个分量是独立的,因此有

E ( y i y j ) = 0 , i ≠ j E(y_iy_j)=0 ,\quad i \neq j E(yiyj)=0,i=j

可以计算 y y y的相关系数矩阵 R y R_y Ry

R y = E ( y y T ) = E ( U T x x T U ) = E ( U T R x U T ) \begin{aligned}R_y=E(\mathbf{y}\mathbf{y}^T)&=E(\mathbf{U}^T\mathbf{x}\mathbf{x}^T\mathbf{U})\\ &=E(\mathbf{U}^TR_x\mathbf{U}^T)\end{aligned} Ry=E(yyT)=E(UTxxTU)=E(UTRxUT)

显然 R x = E ( x x T ) R_x=E(\mathbf{x}\mathbf{x}^T) Rx=E(xxT)是对称矩阵,因此它的特征向量是相互正交的,若将 U U U的列向量置为 R x R_x Rx的特征向量,此时 R y R_y Ry可以转换成对角矩阵。

R y = E ( y y T ) = E ( U T R x U T ) = Λ R_y=E(\mathbf{y}\mathbf{y}^T)=E(\mathbf{U}^TR_x\mathbf{U}^T)=\Lambda Ry=E(yyT)=E(UTRxUT)=Λ

将相关函数矩阵对角化,即通过 K-L 变换消除原有向量 x \mathbf{x} x的各分量间的相关性,从而有可能去掉那些带有较少信息的分量以达到降低特征维数的目的。

R y = Λ = [ λ 1 ⋯ 0 ⋮ ⋱ ⋮ 0 ⋯ λ n ] R_y=\Lambda=\begin{bmatrix}\lambda_1 & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & \lambda_n \end{bmatrix} Ry=Λ=λ100λn

{% note info no-icon %}
K-L 变换的产生矩阵由数据的二阶统计量决定,即 K-L 坐标系的基向量为某种基于数据 x x x 的二阶统计量的产生矩阵的特征向量

K-L 变换的产生矩阵可以有多种选择:

  1. x \mathbf{x} x的相关函数矩阵: R = E ( x x T ) R=E(\mathbf{x}\mathbf{x}^T) R=E(xxT)
  2. x \mathbf{x} x的协方差矩阵: C = E ( ( x − μ ) ( x − μ ) T ) C=E((\mathbf{x}-\mu)(\mathbf{x}-\mu)^T) C=E((xμ)(xμ)T)
  3. 样本总类内离散度矩阵: S w = ∑ P i Σ i S_w=\sum P_i\Sigma_i Sw=PiΣi

{% endnote %}

离散 K-L 变换实现

x = { x 1 , x 2 , ⋯   , x n } \mathbf{x} = \{x_1,x_2,\cdots,x_n\} x={x1,x2,,xn} n n n维随机向量, Ω \Omega Ω是来自 M M M个模式类的样本集,总样本数为 N N N

利用 K-L 变换将 x \mathbf{x} x变成 d d d维。

step 1. 计算样本集 Ω \Omega Ω的相关系数矩阵 R R R;

R = E ( x x T ) ≈ 1 N ∑ i = 1 N x i x i T R=E(\mathbf{x}\mathbf{x}^T) \approx \frac{1}{N}\sum_{i=1}^N\mathbf{x}_i\mathbf{x}_i^T R=E(xxT)N1i=1NxixiT

step 2. 计算 R R R的特征值 λ i ( i = 1 , 2 , ⋯   , n ) \lambda_i(i=1,2,\cdots,n) λi(i=1,2,,n),选择前 d d d个较大值;

step 3. 计算 d d d个特征值对应的特征向量 u i ( i = 1 , 2 , ⋯   , n ) u_i(i=1,2,\cdots,n) ui(i=1,2,,n),并归一化;

U = [ u 1 , u 2 , ⋯   , u d ] U = [u_1,u_2,\cdots,u_d] U=[u1,u2,,ud]

step 4. 对 Ω \Omega Ω中的每个向量进行 K-L 变换;

y = U T x \mathbf{y} = U^T\mathbf{x} y=UTx

简单示例

{% note modern %}

两个模式类的样本分别为

w 1 : X 1 = [ 2 , 2 ] T , X 2 = [ 2 , 3 ] T , X 3 = [ 3 , 3 ] T w_1: \mathbf{X}_1=[2,2]^T,\quad \mathbf{X}_2=[2,3]^T,\quad \mathbf{X}_3=[3,3]^T w1:X1=[2,2]T,X2=[2,3]T,X3=[3,3]T

w 2 : X 4 = [ − 2 , − 2 ] T , X 5 = [ − 2 , − 3 ] T , X 6 = [ − 3 , − 3 ] T w_2: \mathbf{X}_4=[-2,-2]^T,\quad \mathbf{X}_5=[-2,-3]^T,\quad \mathbf{X}_6=[-3,-3]^T w2:X4=[2,2]T,X5=[2,3]T,X6=[3,3]T

利用自相关矩阵 R R R作 K-L 变换,把原样本集压缩成一维。

{% endnote %}

解: 第一步: 计算样本集的自相关矩阵 R R R

R = E ( X X T ) = 1 6 ∑ i = 1 6 X i X i T = [ 5.7 6.3 6.3 7.3 ] R = E(\mathbf{X}\mathbf{X}^T) = \frac{1}{6}\sum_{i=1}^6 \mathbf{X}_i\mathbf{X}_i^T = \begin{bmatrix}5.7 & 6.3 \\ 6.3 & 7.3\end{bmatrix} R=E(XXT)=61i=16XiXiT=[5.76.36.37.3]

第二步: 计算 R R R的特征值 λ \lambda λ,选择较大值。由 ∣ λ E − R ∣ = 0 \vert \lambda E-R\vert=0 λER=0

λ 1 = 12.85 , λ 2 = 0.15 \lambda_1=12.85, \quad \lambda_2=0.15 λ1=12.85,λ2=0.15

第三步: 根据 R u 1 = λ 1 u 1 R\mathbf{u}_1=\lambda_1\mathbf{u}_1 Ru1=λ1u1计算 λ 1 \lambda_1 λ1对应的特征向量 u 1 \mathbf{u}_1 u1,并归一化

u 1 = 1 2.3 [ 1 , 1.14 ] T = [ 0.66 , 0.75 ] T \mathbf{u}_1=\frac{1}{\sqrt{2.3}}[1,1.14]^T=[0.66,0.75]^T u1=2.3 1[1,1.14]T=[0.66,0.75]T

变换矩阵为

U = [ u 1 ] = [ 0.66 0.75 ] U=[\mathbf{u}_1]=\begin{bmatrix}0.66\\0.75\end{bmatrix} U=[u1]=[0.660.75]

第四步: 利用 U U U对样本集中的每个样本进行 K-L 变换

X 1 ∗ = U T X 1 = [ 0.66 0.75 ] [ 2 2 ] = 2.82 X_1^*=U^TX_1=\begin{bmatrix}0.66 & 0.75\end{bmatrix}\begin{bmatrix}2\\2\end{bmatrix}=2.82 X1=UTX1=[0.660.75][22]=2.82

变换结果为:

w 1 : X 1 ∗ = 2.82 , X 2 ∗ = 3.57 , X 3 ∗ = 4.23 w_1: \mathbf{X}_1^*=2.82,\quad \mathbf{X}_2^*=3.57,\quad \mathbf{X}_3^*=4.23 w1:X1=2.82,X2=3.57,X3=4.23

w 2 : X 4 ∗ = − 2.82 , X 5 ∗ = − 3.57 , X 6 ∗ = − 4.23 w_2: \mathbf{X}_4^*=-2.82,\quad \mathbf{X}_5^*=-3.57,\quad \mathbf{X}_6^*=-4.23 w2:X4=2.82,X5=3.57,X6=4.23

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EmoryHuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值