主成分分析降维的数学推导

一、迹运算

(1)迹(trace)是用来表示矩阵主对角元素和的概念:
Tr⁡(A)=∑iAi,i \operatorname{Tr}(\boldsymbol{A})=\sum_{i} \boldsymbol{A}_{i, i} Tr(A)=iAi,i
例如A=[a11a12a21a22]A=\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix}A=[a11a21a12a22],则Tr(A)=a11+a22Tr(A)=a_{11}+a_{22}Tr(A)=a11+a22.

(2)若不使用求和符号∑\sum,有些矩阵运算很难描述,而通过矩阵乘法和迹运算符号可以清楚地表示。例如,Frobenius范数∥A∥F=∑i,jAi,j2\quad\|A\|_{F}=\sqrt{\sum_{i, j} A_{i, j}^{2}}\quadAF=i,jAi,j2的另一种表示方式可以是:
∥A∥F=Tr⁡(AA⊤)\|A\|_{F}=\sqrt{\operatorname{Tr}\left(A A^{\top}\right)}AF=Tr(AA)
这其实不难证明:
同样利用上面的矩阵AAAAAT=[a11a12a21a22][a11a21a12a22]=[a112+a122⋯⋯a212+a222]AA^{T}=\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix}\begin{bmatrix}a_{11}&a_{21}\\a_{12}&a_{22}\end{bmatrix}=\begin{bmatrix}a_{11}^2+a_{12}^2&\cdots\\\cdots&a_{21}^2+a_{22}^2\end{bmatrix}AAT=[a11a21a12a22][a11a12a21a22]=[a112+a122a212+a222]

显然,Tr⁡(AA⊤)=a112+a122+a212+a222=∥A∥F\sqrt{\operatorname{Tr}\left(A A^{\top}\right)}=\sqrt{a_{11}^2+a_{12}^2+a_{21}^2+a_{22}^2}=\|A\|_{F}Tr(AA)=a112+a122+a212+a222=AF,得证。

(3)迹运算的一些性质:

  • Tr⁡(A)=Tr⁡(AT)\operatorname{Tr}(\boldsymbol{A})=\operatorname{Tr}\left(\boldsymbol{A}^{T}\right)Tr(A)=Tr(AT)
  • Tr⁡(ABC)=Tr⁡(CAB)=Tr⁡(BCA)\operatorname{Tr}(A B C)=\operatorname{Tr}(C A B)=\operatorname{Tr}(B C A)Tr(ABC)=Tr(CAB)=Tr(BCA)
  • a=Tr⁡(a)a=\operatorname{Tr}(a)a=Tr(a)

二、主成分分析

在这里插入图片描述
在这里插入图片描述
通过数学归纳法可证:
  更一般的,当希望得到主成分的基时,矩阵DDD由其前 lll 个特征值对应的特征向量组成。


三、由PCA公式推导学到的

  1. 常见目标:最小化 / 最大化
  2. 为简化问题可适当增加约束条件,或者减少分析的维数(例如上面先令 l=1l=1l=1
  3. 使用迹运算与化局部x(i)x^{(i)}x(i)为整体XXX,代替求和符号 ∑\sum
  4. 熟练运用:若向量相乘为标量,标量转置等于自身
  5. 熟练运用:∥A∥F=Tr⁡(AA⊤)\|A\|_{F}=\sqrt{\operatorname{Tr}\left(A A^{\top}\right)}AF=Tr(AA)
  6. 熟练运用:迹运算的各种性质
### 稀疏主成分分析(Sparse PCA)的数学原理及公式推导 稀疏主成分分析(Sparse PCA,简称 SPCA)是主成分分析(PCA)的一种扩展方法,旨在通过引入稀疏性约束来提高主成分的可解释性。传统 PCA 的主成分通常是所有原始变量的线性组合,这可能导致主成分难以解释。SPCA 通过限制主成分中非零系数的数量或大小,使得主成分仅依赖于部分原始变量[^1]。 #### 一、稀疏主成分分析的基本思想 稀疏主成分分析的目标是在最大化方差的同时,引入稀疏性约束以减少主成分中非零系数的数量。假设数据矩阵为 \( X \in \mathbb{R}^{n \times p} \),其中 \( n \) 是样本数,\( p \) 是特征数。SPCA 的目标可以表示为以下优化问题: \[ \max_{v \in \mathbb{R}^p} \quad v^\top \Sigma v \quad \text{subject to} \quad \|v\|_2 = 1, \; \|v\|_0 \leq k, \] 其中: - \( \Sigma \) 是数据的协方差矩阵; - \( v \) 是主成分的方向向量; - \( \|v\|_2 \) 表示 \( v \) 的 \( L_2 \)-范数; - \( \|v\|_0 \) 表示 \( v \) 中非零元素的数量; - \( k \) 是用户指定的最大非零系数数量[^1]。 然而,直接求解上述优化问题是 NP 难问题,因此需要采用近似方法进行求解。 #### 二、稀疏主成分分析的公式推导 为了简化问题,通常将稀疏约束 \( \|v\|_0 \leq k \) 替换为更易于处理的 \( L_1 \)-范数约束 \( \|v\|_1 \leq c \) 或者在目标函数中加入稀疏正则化项。以下是两种常见的公式推导方式: ##### 1. 带 \( L_1 \)-正则化的优化问题 一种常见的方式是通过在目标函数中加入 \( L_1 \)-正则化项来实现稀疏性。优化问题可以重写为: \[ \max_{v \in \mathbb{R}^p} \quad v^\top \Sigma v - \lambda \|v\|_1 \quad \text{subject to} \quad \|v\|_2 = 1, \] 其中 \( \lambda > 0 \) 是正则化参数,用于控制稀疏程度。较大的 \( \lambda \) 值会导致更多的稀疏性[^4]。 ##### 2. 基于广义特征值问题的公式 另一种常用的方法是将稀疏主成分分析转化为一个广义特征值问题。具体来说,定义对称矩阵 \( A = \Sigma + \lambda D \),其中 \( D \) 是对角矩阵,其对角元素与 \( v \) 的稀疏性相关。优化问题可以转化为求解以下广义特征值问题: \[ \Sigma v = \lambda D v. \] 通过选择适当的 \( \lambda \) 和 \( D \),可以实现对主成分的稀疏性控制[^3]。 #### 三、稀疏主成分分析的求解方法 由于稀疏主成分分析的优化问题是非凸的,通常需要使用数值方法进行求解。以下是几种常见的求解方法: 1. **迭代阈值法**:通过在每次迭代中对解施加稀疏性约束(如硬阈值或软阈值操作),逐步逼近最优解。 2. **凸松弛法**:将原问题松弛为一个凸优化问题,例如通过半定规划(SDP)求解。 3. **交替优化法**:将优化问题分解为两个子问题,分别优化主成分方向和稀疏性约束[^1]。 #### 四、稀疏主成分分析的应用场景 稀疏主成分分析在需要高可解释性的场景中具有显著优势。例如,在基因表达数据分析中,SPCA 可以帮助识别与特定生物过程相关的少数关键基因;在金融数据分析中,SPCA 可以用于提取影响市场波动的关键因素[^4]。 ```python from sklearn.decomposition import SparsePCA import numpy as np # 示例代码:使用 SparsePCA 进行 X = np.random.randn(100, 10) # 生成随机数据 spca = SparsePCA(n_components=2, alpha=0.1, ridge_alpha=0.01) transformed_X = spca.fit_transform(X) print("Transformed Data Shape:", transformed_X.shape) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值