PCA图像压缩入门——学习笔记

1.从协方差矩阵开始——协防差矩阵和样本阵的关系

定义1: 协方差
Cov ( X , Y ) = E { [ X − E ( X ) ] [ Y − E ( Y ) ] } = E ( X Y ) − 2 E ( X ) E ( Y ) + E ( X ) E ( Y ) = E ( X Y ) − E ( X ) E ( Y ) (X,Y) =E\{[X-E(X)][Y-E(Y)]\} \\ =E(XY)-2E(X)E(Y)+E(X)E(Y)\\ =E(XY)-E(X)E(Y) (X,Y)=E{[XE(X)][YE(Y)]}=E(XY)2E(X)E(Y)+E(X)E(Y)=E(XY)E(X)E(Y)

意义: 度量各个维度偏离其均值的程度。协方差的值如果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),结果为负值就说明负相关的,如果为0,也是就是统计上说的“相互独立”。
引自:https://blog.csdn.net/GoodShot/article/details/79940438。可以参考其中配图。

注1: Cov ( X , X ) = E ( X 2 ) − ( E ( X ) ) 2 = D ( X ) (X,X) =E(X^2)-(E(X))^2=D(X) (X,X)=E(X2)(E(X))2=D(X) 样本X自身协方差为其方差。

定义2: 样本方差
σ 2 = ∑ i = 1 m ( X i − X ˉ ) 2 m − 1 \sigma^2 = \frac{\sum^{m}_{i=1}{(X_i-\bar{X})^2}}{m-1} σ2=m1i=1m(XiXˉ)2, 其中 X ˉ = ∑ i = 1 m X i m \bar{X} = \frac{\sum^{m}_{i=1}X_i}{m} Xˉ=mi=1mXi, 为 { X i } \{X_i\} {Xi}的均值。

定义3: 样本协方差
Cov ( X , Y ) = ∑ i = 1 m ( X i − X ˉ ) ( Y i − Y ˉ ) m − 1 (X,Y) =\frac{\sum^{m}_{i=1}(X_i-\bar{X})(Y_i-\bar{Y})}{m-1} (X,Y)=m1i=1m(XiXˉ)(YiYˉ)

显然有Cov ( X , Y ) (X,Y) (X,Y) = Cov ( Y , X ) (Y,X) (Y,X)
那么,对于只有两个特征 X X X Y Y Y的情况(即 X X X Y Y Y两个维度),可以有协方差矩阵
C X , Y = ( C o v ( X , X ) C o v ( X , Y ) C o v ( Y , X ) C o v ( Y , Y ) ) \bold{C}_{X,Y}= \begin{pmatrix} \rm{Cov(X,X)} & \rm{Cov(X,Y)} \\ \rm{Cov(Y,X)} & \rm{Cov(Y,Y)} \end{pmatrix} CX,Y=(Cov(X,X)Cov(Y,X)Cov(X,Y)Cov(Y,Y))

对于有三个特征 X X X Y Y Y Z Z Z的情况(即 X X X Y Y Y Z Z Z三个维度),有协方差矩阵
C X , Y , Z = ( C o v ( X , X ) C o v ( X , Y ) C o v ( X , Z ) C o v ( Y , X ) C o v ( Y , Y ) C o v ( Y , Z ) C o v ( Z , X ) C o v ( Z , Y ) C o v ( Z , Z ) ) \bold{C}_{X,Y,Z}= \begin{pmatrix} \rm{Cov(X,X)} & \rm{Cov(X,Y)} & \rm{Cov(X,Z)}\\ \rm{Cov(Y,X)} & \rm{Cov(Y,Y)} & \rm{Cov(Y,Z)}\\ \rm{Cov(Z,X)} & \rm{Cov(Z,Y)} & \rm{Cov(Z,Z)} \end{pmatrix} CX,Y,Z=Cov(X,X)Cov(Y,X)Cov(Z,X)Cov(X,Y)Cov(Y,Y)Cov(Z,Y)Cov(X,Z)Cov(Y,Z)Cov(Z,Z)

注2: 可见,协方差矩阵 C \bold{C} C是一个实对称矩阵。关于实对称矩阵的主要性质如下:
1.实对称矩阵A的不同特征值对应的特征向量是正交的。
2.实对称矩阵A的特征值都是实数,特征向量都是实向量。
3.n阶实对称矩阵A必可对角化,且相似对角阵上的元素即为矩阵本身特征值。
4.若λ0具有k重特征值 必有k个线性无关的特征向量,或者说必有秩r(λ0E-A)=n-k,其中E为单位矩阵。

故,协方差矩阵 C \bold{C} C可以正交分解为对角阵。

定理 1: 有实对称矩阵 A ∈ R n × n \bold{A} \in \mathbb{R^{n\times n}} ARn×n,则一定存在正交阵 U \bold{U} U,使 U T A U = U − 1 A U = Λ = \bold{U}^{\rm{T}} \bold{A} \bold{U} = \bold{U}^{-1} \bold{A} \bold{U} = \Lambda= UTAU=U1AU=Λ=diag ( λ 1 , λ 2 , … , λ n ) (\lambda_1,\lambda_2,\dots,\lambda_n) (λ1,λ2,,λn)

电脑莫名其妙重启了。。。继续撸。。。
以下以 X = ( x 1 , x 2 , … , x m ) , m ∈ N X=(x_1,x_2,\dots,x_m),m\in\mathbb{N} X=(x1,x2,,xm)mN为例,进行说明。其中, x i x_i xi X X X的第 i i i个特征。

注3: 在我们处理数据 X X X以前,我们要做的是数据中心化,这是后续工作的前提。
X X X为有 n n n个特征, m m m个样本的数据
X = ( x 1 , 1 − μ 1 x 1 , 2 − μ 2 … x 1 , n − μ n x 2 , 1 − μ 1 x 2 , 2 − μ 2 … x 2 , n − μ n … … … … x m , 1 − μ 1 x m , 2 − μ 2 … x m , n − μ n ) X = \begin{pmatrix} x_{1,1}-\mu_1 &x_{1,2}-\mu_2 &\dots &x_{1,n}-\mu_n \\ x_{2,1}-\mu_1 &x_{2,2}-\mu_2 &\dots &x_{2,n}-\mu_n \\ \dots &\dots &\dots &\dots\\ x_{m,1}-\mu_1 &x_{m,2}-\mu_2 &\dots &x_{m,n}-\mu_n \end{pmatrix} X=x1,1μ1x2,1μ1xm,1μ1x1,2μ2x2,2μ2xm,2μ2x1,nμnx2,nμnxm,nμn,其中 μ i \mu_i μi为第 i i i个特征的均值。

此时 x ∙ , j x_{\bullet,j} x,j为0均值样本, μ j = 0 \mu_j = 0 μj=0

对于 X X X中的任意两个特征 x i x_i xi x j x_j xj,记
c i , j = c_{i,j}= ci,j=Cov ( x i , x j ) = E { [ x i − μ i ] [ x j − μ j ] } = E { x i x j } = 1 m ∑ l = 1 m x ∙ , i x ∙ , j = 1 m X ∙ , i T X ∙ , j (x_i,x_j) \\ =E\{[x_i-\mu_i][x_j-\mu_j]\}=E\{x_ix_j\}\\ =\frac{1}{m}\sum^{m}_{l=1}x_{\bullet,i}x_{\bullet,j}\\ =\frac{1}{m}X^{\rm{T}}_{\bullet,i}X_{\bullet,j} (xi,xj)=E{[xiμi][xjμj]}=E{xixj}=m1l=1mx,ix,j=m1X,iTX,j
其中, X ∙ , i X_{\bullet,i} X,i是样本 X m × n X_{m\times n} Xm×n中的第 i i i列。

所以,样本 X X X的协方差矩阵
C X \rm{C_X} CX = { c i , j } = 1 m X T X =\{c_{i,j}\}=\frac{1}{m}X^{\rm{T}}X ={ci,j}=m1XTX (注:如果是无偏估计,则为 1 m − 1 \frac{1}{m-1} m11)。

扣题:上式就是协方差阵和样本阵的关系。

2.求映射阵 Q n × k \bold{Q}_{n \times k} Qn×k使由 n n n维降维至 k k k

设目标为降维的矩阵为 Y \bold{Y} Y,映射阵为 Q \bold{Q} Q,有关系
Y m × n = X m × n Q n × n \bold{Y}_{m\times n}=\bold{X}_{m\times n}\bold{Q}_{n\times n} Ym×n=Xm×nQn×n

降维的话, Y m × k = X m × n Q n × k \bold{Y}_{m\times k}=\bold{X}_{m\times n}\bold{Q}_{n\times k} Ym×k=Xm×nQn×k

降维的原则: 新的到的 Y \bold{Y} Y方差尽可能协方差尽可能

根据上一节最后一个公式,设 C Y \rm{C_Y} CY为样本 Y Y Y的协方差矩阵,有

C Y \rm{C_Y} CY = 1 m Y T Y = 1 m ( X Q ) T X Q = 1 m Q T X T X Q = Q T C X Q =\frac{1}{m}\bold{Y}^{\rm{T}}\bold{Y}\\ =\frac{1}{m}(\bold{XQ})^{\rm{T}} \bold{XQ}\\ =\frac{1}{m}\bold{Q}^{\rm{T}}\bold{X}^{\rm{T}}\bold{XQ}\\ =\bold{Q}^{\rm{T}} \rm{C_X} \bold{Q} =m1YTY=m1(XQ)TXQ=m1QTXTXQ=QTCXQ

考虑到定理1中是对称矩阵可以正交分解,故令 Q = U \bold{Q}=\bold{U} Q=U,有

C Y \rm{C_Y} CY = Q T C X Q = U T C X U = Λ = =\bold{Q}^{\rm{T}} \rm{C_X} \bold{Q} =\bold{U}^{\rm{T}} \rm{C_X} \bold{U}\\ =\Lambda= =QTCXQ=UTCXU=Λ=diag ( λ 1 , λ 2 , … , λ n ) (\lambda_1,\lambda_2,\dots,\lambda_n) (λ1,λ2,,λn)

在此,我们不妨假设 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ n \lambda_1 \geq \lambda_2\geq \dots \geq \lambda_n λ1λ2λn,对应的特征向量为 u 1 , u 2 , … , u n u_1,u_2,\dots,u_n u1,u2,,un。即, λ i \lambda_i λi已经排列好大小。则取前 k k k个特征向量,组成 Q n × k = ( u 1 , u 2 , … , u k ) \bold{Q}_{n\times k} = (u_1,u_2,\dots,u_k) Qn×k=(u1,u2,,uk),其中 0 &lt; k &lt; n 0 &lt; k&lt;n 0<k<n

扣题: Y m × k = X m × n Q n × k \bold{Y}_{m\times k}=\bold{X}_{m\times n}\bold{Q}_{n\times k} Ym×k=Xm×nQn×k实现了数据的降维。

3.数据的复原(重构)

X ′ m × n = Y m × k ( Q n × k ) T \bold{X&#x27;}_{m\times n}=\bold{Y}_{m\times k}(\bold{Q}_{n \times k})^{\rm{T}} Xm×n=Ym×k(Qn×k)T 即是数据的重构!
注意: Y = X Q Y=XQ Y=XQ得出 X = Y Q T X=YQ^{T} X=YQT的结论是错误的。应为 X ′ = Y Q T X&#x27;=YQ^{T} X=YQT X X X为中心化之后的原始数据, X ‘ X‘ X才是重构后的复原数据。

以下图为例,进行说明。图片引自https://blog.csdn.net/hustqb/article/details/78394058
在这里插入图片描述
X中心化后得到 X = ( ( − 1 , − 2 ) , ( − 1.0 ) , ( 0 , 0 ) , ( 0 , 1 ) , ( 2 , 1 ) ) 5 × 2 X = ((-1,-2),(-1.0),(0,0),(0,1),(2,1))_{5 \times 2} X=((1,2),(1.0),(0,0),(0,1),(2,1))5×2 5个样本,红色星号。降维后得到 Y = ( y 1 , y 2 , y 3 , y 4 , y 5 ) 5 × 1 T Y=(y1,y2,y3,y4,y5)_{5 \times 1}^T Y=(y1,y2,y3,y4,y5)5×1T 5个数,是1维数据,不是点。蓝色斜线为 u 1 = ( u 1 , 1 , u 1 , 2 ) T u_1=(u_{1,1},u_{1,2})^T u1=(u1,1,u1,2)T C X C_X CX最大特征值 λ 1 \lambda_1 λ1对应的特征向量。 Q = ( u 1 ) 2 × 1 Q = (u_1)_{2\times 1} Q=(u1)2×1
此时的Y,已经损失了部分信息——损失了绿色的截线长度的信息, Y Q T YQ^T YQT也不能重新获得这些信息。 Y Q T YQ^T YQT仅仅是将Y={y1,y2,y3,y4,y5}这5个数映射在方向 u 1 = ( u 1 , 1 , u 1 , 2 ) T u_1=(u_{1,1},u_{1,2})^T u1=(u1,1,u1,2)T上,形成排列在一条线上的5个点—— X ′ X&#x27; X,而不是原先成散布状的原始数据 X X X

调用自定义函数解决题目: 1.读取自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像 2.读取自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像;调用dfff.m,得到傅里叶变换后的图像 3.读取自然图像、生成合成图像、高相关图像、高去相关图像,fft中心变换,得到傅里叶变换后的图像,调用fwhtdya2d.m,得到walsh变换后的图像,进行两种变换的对比 4.读取自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像;调用dfff.m,得到傅里叶变换后的图像和傅里叶变换需要的时间,显示变换后的图像,显示傅里叶变换时间随图像像素的变化 5.调用butterworthw.m,使用不同的阶数:2,5,10,显示不同阶数butterworth高通滤波和低通滤波滤波器的传递函数和处理后的图像,用于对比阶数对图像处理的影响 6.调用butterworthw.m,显示原图像、原图像频谱、低通滤波、高通滤波的传递函数,以及滤波器处理后的图像 7.读取自然图像、生成合成图像、高相关图像、高去相关图像,使用标准差为0.1、0.5、0.9的拉普拉斯高斯滤波器进行滤波处理4种图像,同时显示原图像和滤波处理后图像 8.读取自然图像,转换成灰度图片,计算其直方图,并两次增强,储存两次增强的图像,同时显示原图像、增强图像、再次增强图像和它们的直方图 9.读出自然图象,转换成灰度图片,生成合成图片,调用kirsch.m,提取图像边缘并显示,调用sobele.m,提取图像边缘并显示,同时显示自然图像、合成图像、它们kirsch提取边缘处理的图像、它们sobel提取边缘处理的图像,便于对比 10.读取自然图像、生成合成图像、高相关图像、高去相关图像,调用yasuo.m函数,完成压缩,并显示不同像素值的图像;调用dfff.m,得到傅里叶变换后的图像、傅里叶变换、傅里叶中心变换需要的时间,显示不同种类图像变换后的图像,显示傅里叶变换、傅里叶中心变换所需时间时间随图像像素的变化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值