图文并茂的PCA教程

PCA(主成分分析)是一种常用的数据降维方法,通过线性变换找到主要线性分量,实现数据的低维表示。PCA的目标是最大化方差和最小化协方差,寻找数据的正交特征轴。算法包括计算协方差矩阵、找到最大特征值对应的特征向量等步骤。PCA适用于线性相关性较强的数据,但在处理非线性关系时效果有限。
摘要由CSDN通过智能技术生成

声明:

  1. 参考:PCA数学原理维基百科

PCA——主成分分析

简介

PCA全称Principal Component Analysis,即主成分分析,是一种常用的数据降维方法。它可以通过线性变换将原始数据变换为一组各维度线性无关的表示,以此来提取数据的主要线性分量
z = w T x z = w^Tx z=wTx
  其中,z为低维矩阵,x为高维矩阵,w为两者之间的映射关系。假如我们有二维数据(原始数据有两个特征轴——特征1和特征2)如下图所示,样本点分布为斜45°的蓝色椭圆区域。PCA算法认为斜45°为主要线性分量,与之正交的虚线是次要线性分量(应当舍去以达到降维的目的)。
二维数据的PCA降维
划重点:

  1. 线性变换=>新特征轴可由原始特征轴线性变换表征
  2. 线性无关=>构建的特征轴是正交的
  3. 主要线性分量(或者说是主成分)=>方差加大的方向
  4. PCA算法的求解就是找到主要线性分量及其表征方式的过程

相应的,PCA解释方差并对离群点很敏感:少量原远离中心的点对方差有很大的影响,从而也对特征向量有很大的影响。

线性变换

一个矩阵与一个列向量A相乘,等到一个新的列向量B,则称该矩阵为列向量A到列向量B的线性变换。

我们希望投影后投影值尽可能分散,而这种分散程度,可以用数学上的方差来表述。 V a r ( a ) = 1 m ∑ i = 1 m ( a i − μ ) 2 Var(a) = \frac 1m \sum_{i=1}^m(a_i - \mu)^2 Var(a)=m1i=1m(aiμ)2即寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大。

解释:方差越大,说明数据越分散。通常认为,数据的某个特征维度上数据越分散,该特征越重要。

对于更高维度,还有一个问题需要解决,考虑三维降到二维问题。与之前相同,首先我们希望找到一个方向使得投影后方差最大,这样就完成了第一个方向的选择,继而我们选择第二个投影方向。如果我们还是单纯只选择方差最大的方向,很明显,这个方向与第一个方向应该是“几乎重合在一起”,显然这样的维度是没有用的,因此,应该有其他约束条件——就是正交

解释:从直观上说,让两个字段尽可能表示更多的原始信息,我们是不希望它们之间存在(线性)相关性的,因为相关性意味着两个字段不是完全独立,必然存在重复表示的信息。
字段在本文中指,降维后的样本的特征轴

数学上可以用两个字段的协方差表示其相关性: C o v ( a , b ) = 1 m ∑ i = 1 m ( a i − μ a ) ( b i − μ b ) Cov(a, b) = \frac 1m \sum_{i=1}^m (a_i - \mu_a)(b_i - \mu_b) Cov(a,b)=m1i=1m(aiμa)(biμb)当协方差为0时,表示两个字段线性不相关。

总结一下,PCA的优化目标是:
将一组N维向量降为K维(K大于0,小于N),其目标是选择K个单位正交基,使得原始数据变换到这组基上后,各字段两两间协方差为0,而字段的方差则尽可能大。


所以现在的重点是方差和协方差

协方差

在统计学上,协方差用来刻画两个随机变量之间的相关性,反映的是变量之间的二阶统计特性。考虑两个随机变量 X i X_i Xi X j X_j Xj,它们的协方差定义为
c o v ( X i , X j ) = E [ ( X i − E ( X i ) ) ( X j − E ( X j ) ) ] cov(X_i, X_j) = E[(X_i - E(X_i))(X_j - E(X_j))] cov(Xi,Xj)=E[(XiE(Xi))(XjE(Xj))]

tips:独立,不相关与协方差为零三者的关系
只讨论离散型随机变量的情形。
独立:随机变量 ξ , η \xi ,\eta ξ,η独立是指对于任意的常数a,b,都有 P ( ξ = a , η = b ) = P ( ξ = a ) ⋅ P ( η = b ) P(\xi = a, \eta = b) = P(\xi = a) \cdot P(\eta = b) P(ξ=a,η=b)=P(ξ=a)P(η=b).
相关性,相关系数 ρ ξ η = c o v ( ξ , η ) v a r ( ξ ) v a r ( η ) \rho _{\xi \eta } = \frac {cov(\xi, \eta)}{\sqrt{var(\xi)} \sqrt{var(\eta)}} ρξη=var(ξ) var(η) cov(ξ,η)
相关系数其实是“线性相关系数”
相关系数和协方差在描述相关性方面是等价的,但独立与相关性的关系是:

**独立=>不相关**

协方差矩阵:
假设有m个变量,特征维度为2, a 1 a_1 a1表示变量1的a特征。那么构成的数据集矩阵为:
X = ( a 1 a 2 . . . a m b 1 b 2 . . . b m ) X=\begin{pmatrix} a_1 & a_2 &...& a_m\\ b_1 & b_2 &...&b_m \end{pmatrix} X=(a1b1a2b2......ambm)

再假设它们的均值都是0,对于有两个均值为0的m维向量组成的向量组, 1 m X X T = ( 1 m ∑ i = 1 m a i 2 1 m ∑ i = 1 m a i b i 1 m ∑ i = 1 m a i b i 1 m ∑ i = 1 m b i 2 ) \frac 1mXX^T=\begin{pmatrix} \frac 1m \sum_{i=1}^m a_i^2 & \frac 1m \sum_{i=1}^m a_ib_i\\ \frac 1m \sum_{i=1}^m a_ib_i & \frac 1m \sum_{i=1}^m b_i^2 \end{pmatrix} m1XXT=

  • 133
    点赞
  • 546
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
PCA9685是一种用于控制多路舵机的模块。在使用PCA9685时,需要进行一些初始化配置。根据引用\[2\]中的代码,可以看到在开始使用之前,需要调用pwm.begin()函数进行初始化配置,并在配置完成后对PCA9685进行重置,即在MODE1地址上写入0x00。这一步非常关键,如果没有进行重置,PCA9685将无法正常工作。 另外,根据引用\[3\]中的描述,PCA9685模块可以用于树莓派控制舵机。由于树莓派自带的硬件PWM资源有限且稳定性较差,所以使用PCA9685模块可以提供更好的控制效果。在使用过程中,需要注意一些数值的设置,具体的数值设置可以参考相关的数据手册。 综上所述,使用PCA9685模块控制舵机的教程可以参考引用\[1\]、\[2\]和\[3\]中提供的信息。 #### 引用[.reference_title] - *1* *2* [PCA9685模块使用(Arduino和STM32)](https://blog.csdn.net/weixin_43242118/article/details/124487590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [PCA9685寄存器用法和通信(一)](https://blog.csdn.net/ffmydream/article/details/107781570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值