K-L 变换(Karhunen-Loève 变换):原理、步骤与应
用
K-L 变换是一种基于数据统计特性的正交变换,由数学家 Karhunen 和 Loève 分别独立提出,核心作用
是在最小均方误差准则下,将高维数据映射到低维空间,同时最大程度保留原始数据的信息。它广泛应用于信
号去噪、图像压缩、数据降维等领域(如医学影像压缩、雷达信号处理),其本质是通过 “找数据的‘主方
向’” 实现高效信息提取,避免传统变换(如傅里叶变换)因固定基向量导致的信息冗余。
一、核心原理:从 “数据相关性” 到 “正交投影”
K-L 变换的本质是利用数据的协方差矩阵,找到一组正交的 “特征向量”(即数据的主分量方向),将原
始数据投影到这组向量构成的新空间中,实现 “去相关性” 和 “信息集中”,具体逻辑可从三个关键概念展开:
1. 数据的统计基础:均值与协方差矩阵
假设我们有一组高维数据样本,形式为矩阵 X(共 N 个样本,每个样本维度为 M):
\(X = \begin{bmatrix} x_{11} & x_{12} & \dots & x_{1N} \\ x_{21} & x_{22} & \dots & x_{2N} \\ \vdots &
\vdots & \ddots & \vdots \\ x_{M1} & x_{M2} & \dots & x_{MN} \end{bmatrix}\)
(每行代表一个维度,每列代表一个样本)
样本均值向量 μ:先计算每个维度的均值,构成 M 维向量,消除数据的 “直流分量”,公式为:
\(\mu = \frac{1}{N} \sum_{i=1}^N X_{:i}\)(\(X_{:i}\)表示 X 的第 i 列样本)
协方差矩阵 C:描述不同维度间的 “相关性”—— 若两个维度协方差为 0,说明两者无关;若为正 / 负,
说明正 / 负相关。公式为:
\(C = \frac{1}{N-1} (X - \mu \cdot \mathbf{1}^T)(X - \mu \cdot \mathbf{1}^T)^T\)
(\(\mathbf{1}\)是全 1 的 N 维向量,\((X - \mu \cdot \mathbf{1}^T)\)是 “去均值后的数据矩阵”)
协方差矩阵 C 是 M×M 的对称矩阵,其对角线元素是各维度的方差(反映该维度的信息强度),非对角
线元素是维度间的协方差(反映相关性)。K-L 变换的核心目标,就是 “消除非对角线的相关性”,让数据在
新空间中更 “紧凑”。
2. 关键依据:特征值与特征向量
根据线性代数理论,实对称矩阵(如协方差矩阵 C)一定可以对角化—— 即存在一组正交的特征向量,
将 C 转化为对角矩阵(仅对角线有值,非对角线为 0)。这组特征向量的物理意义是:
特征向量:数据分布的 “主方向”(信息最集中的方向),不同特征向量相互正交(无相关性);
特征值:对应特征向量的 “信息权重”—— 特征值越大,该方向包含的原始数据信息越多。
例如:若数据是二维的(如身高、体重样本),协方差矩阵的两个特征向量中,特征值大的向量是 “身高
- 体重相关性最强的方向”,投影后该方向的方差最大,能保留大部分信息;特征值小的向量则是 “次要方
向”,可在降维时舍弃。
3. 变换核心:正交投影与信息保留
K-L 变换的本质是将去均值后的原始数据,投影到协方差矩阵的特征向量构成的正交空间中,得到 “主
分量(Principal Component, PC)”。具体公式为:
\(Y = A^T (X - \mu \cdot \mathbf{1}^T)\)
其中:
\(A\)是 M×M 的正交矩阵,每一列是协方差矩阵 C 的特征向量(按对应特征值从大到小排序);
\(Y\)是变换后的 N 个样本(M 维),每一列是一个样本的 “主分量表示”,且 Y 的协方差矩阵为对角
矩阵(去相关性完成)。
由于特征向量按特征值排序,\(Y\)的前 K 个维度(K<M)包含了原始数据的绝大部分信息(通常累计特
征值占比≥90%),因此可通过 “保留前 K 个主分量” 实现数据降维,且均方误差最小(这是 K-L 变换的最
优性保证)。
二、实现步骤:从数据预处理到变换应用
K-L 变换的实现需遵循 “统计计算→特征分解→投影变换→(可选)降维重构” 的流程,以 “图像压缩”
为例(假设处理 M×M 的灰度图像,将其拆分为 N 个 1×M 的列向量样本),具体步骤如下:
步骤 1:数据预处理 —— 去均值
对原始数据矩阵 X 进行 “去均值” 操作,消除每个维度的直流分量,得到中心化矩阵 Xᵀ:
计算每个维度(每行)的均值 μᵀ(i=1 到 M):\(\mu_i = \frac{1}{N} \sum_{j=1}^N X_{ij}\);
构造均值矩阵 μ・1ᵀ(M×N,每行都是对应维度的均值);
中心化矩阵:\(X_0 = X - \mu \cdot \mathbf{1}^T\)。
为什么要去均值?
若不去均值,协方差矩阵会包含 “均值项”,导致特征向量偏向数据的 “整体偏移方向”,而非真实的主信
息方向(例如:若图像整体偏亮,均值较大,不去均值会让第一个特征向量主要反映 “亮度偏移”,而非图像
的纹理信息)。
步骤 2:计算协方差矩阵 C
根据中心化矩阵 Xᵀ,按公式计算 M×M 的协方差矩阵 C:
\(C = \frac{1}{N-1} X_0 X_0^T\)
(当 N 较大时,也可用\(\frac{1}{N}\)近似,误差可忽略)
举例:若处理 3 个 2 维样本 X=[[1,3,5],[2,4,6]],则:
均值 μ=[(1+3+5)/3, (2+4+6)/3] = [3,4];
Xᵀ = [[1-3, 3-3, 5-3], [2-4, 4-4, 6-4]] = [[-2,0,2], [-2,0,2]];
协方差矩阵 C = (1/(3-1)) × XᵀXᵀᵀ = × [[(-2)(-2)+0×0+2×2, (-2)(-2)+0×0+2×2], [(-2)(-2)+0×0+2×2,
(-2)(-2)+0×0+2×2]] = [[4,4],[4,4]]。
步骤 3:特征分解 —— 求特征值与特征向量
对协方差矩阵 C 进行特征分解,得到:
特征值 λᵀ ≥ λᵀ ≥ … ≥ λ_M(按从大到小排序);
对应特征向量 aᵀ, aᵀ, …, a_M(每个 a_i 是 M 维列向量,且所有 a_i 正交)。
特征分解的实现方式:
手工计算(适用于低维矩阵):通过求解特征方程 | C - λI|=0 得到 λ,再代入 (C - λI) a=0 求 a;
软件工具(适用于高维矩阵):用 Python 的 ()、MATLAB 的 eig () 函数,直接输出特
征值和特征向量(注意:numpy 会自动返回排序后的结果,需确认顺序)。
承接步骤 2 的例子:协方差矩阵 C=[[4,4],[4,4]],特征分解结果为:
特征值 λᵀ=8,λᵀ=0;
对应特征向量 aᵀ=[√2/2, √2/2]^T(即 [, ]^T),aᵀ=[-√2/2, √2/2]^T(即 [, ]^T)。
步骤 4:构造变换矩阵 A,执行 K-L 变换
构造正交变换矩阵 A:将特征向量按 “对应特征值从大到小” 作为列向量,组成 M×M 矩阵 A = [aᵀ,
aᵀ, …, a_M];
执行投影变换:将中心化数据 Xᵀ投影到 A 的列向量空间,得到变换后的数据 Y:
\(Y = A^T X_0\)
关键说明:
Y 的每一列是一个样本的 “主分量表示”,且 Y 的协方差矩阵为对角矩阵 diag (λᵀ, λᵀ, …, λ_M),实现
了 “去相关性”—— 即 Y 的不同维度间协方差为 0,信息互不冗余;
变换是 “可逆的”:若保留所有特征向量,原始数据可通过\(X = A Y + \mu \cdot \mathbf{1}^T\)完全重构,
无信息损失。
承接步骤 3 的例子:
变换矩阵 A = [aᵀ, aᵀ] = [[, ], [, ]];
变换后 Y = Aᵀ Xᵀ = [[×(-2)+×(-2), ×0+×0, ×2+×2], [×(-2)+×(-2),
×0+×0, ×2+×2]] = [[, 0, ], [0, 0, 0]];
可见 Y 的第二行全为 0(对应特征值 λᵀ=0),说明该维度无信息,可直接舍弃,实现降维。
步骤 5:(可选)降维与数据重构
若需降维(如压缩、去噪),可按 “信息保留率” 选择前 K 个特征向量(K<M),具体操作:
选择前 K 个最大特征值对应的特征向量,构造降维变换矩阵 A_K(M×K);
降维后的数据 Y_K = A_K^T X_0(维度为 K×N);
数据重构:通过\(X_{recon} = A_K Y_K + \mu \cdot \mathbf{1}^T\)恢复原始数据维度(M×N),此时重构
误差为\(\sum_{i=K+1}^M \lambda_i\)(因舍弃了特征值较小的维度,误差最小)。
应用场景:
图像压缩:将图像的 K-L 变换后 Y_K 中 “小值元素” 置 0(因特征值小的维度信息少),再重构,可
大幅减少数据量(如医学 CT 图像压缩,保留 K=10% 维度即可保证诊断清晰度);
信号去噪:噪声通常对应 “小特征值的维度”,舍弃这些维度后重构,可去除噪声(如心电信号去噪,保
留前 3 个主分量即可滤除大部分干扰)。
三、关键特点与应用案例
1. K-L 变换的核心优势与局限
优势 局限
1. 最优性:在 “最小均方误
差” 准则下,是最优的线性降
维 / 变换方法;2. 去相关性:
变换后数据无冗余,信息集中
在少数维度;3. 适应性:基
于数据自身统计特性,无固定
基向量(区别于傅里叶变换的
正弦基)。
1. 计算复杂度高:高维数据
(如 M=1000)的协方差矩阵
特征分解耗时;2. 数据依赖
性:变换矩阵 A 依赖原始数
据,换一组数据需重新计算
(无通用性);3. 非线性数
据适配差:仅适用于线性相关
的数据,对非线性分布(如环
形数据)降维效果差(需结合
核 K-L 变换改进)。
2. 典型应用案例:图像压缩
以 256×256 的灰度图像(共 256 个维度,每个维度对应一列像素,N=256 个样本)为例:
步骤 1-4:计算图像的协方差矩阵,特征分解后得到 256 个特征值,其中前 30 个特征值的累计占比达
95%;
降维:选择前 30 个特征向量,构造 A_30(256×30),将原始 256 维数据降为 30 维;
压缩与重构:将 Y_30 中绝对值小于阈值的元素置 0(进一步减少数据量),再通过 A_30 Y_30 重构图
像;
效果:压缩比达 8:1(256/30≈8),重构图像与原图视觉差异极小,仅边缘细节有轻微损失,满足大部分
场景需求。
四、与常见变换的对比:K-L 变换 vs 傅里叶变换
对比维度 K-L 变换 傅里叶变换
基向量来源 数据自身的协方差矩阵特征
向量(数据依赖)
固定的正弦 / 余弦函数(通
用基)
去相关性 完全去除数据线性相关性(协
方差矩阵对角化)
仅去除 “周期性相关”,非周
期性数据仍有冗余
信息保留 按特征值排序,可精准控制信
息保留率
按频率排序,高频信息易丢失
(如边缘细节)
计算效率 高维数据计算慢(需特征分解) 快速傅里叶变换(FFT)效率
高,适合实时处理
应用场景 数据降维、图像压缩、信号去
噪(需最优性)
频谱分析、滤波、周期性信号
处理(需通用性)