PCA例题

已知样本集合的协方差矩阵为

C x = 1 10 [ 3 1 1 1 3 − 1 1 − 1 3 ] {\bm C}_x = \frac{1}{10} \begin{bmatrix} 3 & 1 & 1 \\ 1 & 3 & -1 \\ 1 & -1 & 3 \end{bmatrix} Cx=101 31113−11−13

使用PCA方法将样本向量降到二维 。


求解

计算 C x {\bm C}_x Cx的特征值得到:

λ 1 = 0.1 , λ 2 = λ 3 = 0.4 \lambda_1 = 0.1, \quad \lambda_2 = \lambda_3 = 0.4 λ1=0.1,λ2=λ3=0.4

其对应的特征向量分别为:

u 1 = 1 3 [ 1 − 1 − 1 ] , u 2 = 1 6 [ 2 1 1 ] , u 3 = 1 2 [ 0 1 − 1 ] {\bm u}_1 = \frac{1}{\sqrt{3}} \begin{bmatrix} 1 \\ -1 \\ -1 \end{bmatrix}, \quad {\bm u}_2 = \frac{1}{\sqrt{6}} \begin{bmatrix} 2 \\ 1 \\ 1 \end{bmatrix}, \quad {\bm u}_3 = \frac{1}{\sqrt{2}} \begin{bmatrix} 0 \\ 1 \\ -1 \end{bmatrix} u1=3 1 1−1−1 ,u2=6 1 211 ,u3=2 1 01−1

取最大的两个特征值 λ 2 , λ 3 \lambda_2, \lambda_3 λ2,λ3对应的特征向量构成压缩空间,形成新的向量:

y ~ = [ u 2 u 3 ] ⊤ x = [ 2 / 6 1 / 6 1 / 6 0 1 / 2 − 1 / 2 ] x {\tilde {\bm y}} = \begin{bmatrix} {\bm u}_2 & {\bm u}_3 \end{bmatrix}^\top {\bm x} = \begin{bmatrix} 2/\sqrt{6} & 1/\sqrt{6} & 1/\sqrt{6} \\ 0 & 1/\sqrt{2} & -1/\sqrt{2} \end{bmatrix} {\bm x} y~=[u2u3]⊤x=[2/6 01/6 1/2 1/6 −1/2 ]x


K-L 变换为:

y = W ⊤ x = [ u 1 u 2 u 3 ] ⊤ x = [ 1 / 3 − 1 / 3 − 1 / 3 2 / 6 1 / 6 1 / 6 0 1 / 2 − 1 / 2 ] x {\bm y} = {\bm W}^\top {\bm x} = \begin{bmatrix} {\bm u}_1 & {\bm u}_2 & {\bm u}_3 \end{bmatrix}^\top {\bm x} = \begin{bmatrix} 1/\sqrt{3} & -1/\sqrt{3} & -1/\sqrt{3} \\ 2/\sqrt{6} & 1/\sqrt{6} & 1/\sqrt{6} \\ 0 & 1/\sqrt{2} & -1/\sqrt{2} \end{bmatrix} {\bm x} y=W⊤x=[u1u2u3]⊤x= 1/3 2/6 0−1/3 1/6 1/2 −1/3 1/6 −1/2 x

相关推荐
爱学习的阿磊5 分钟前
模板代码跨编译器兼容
开发语言·c++·算法
毕设源码-钟学长8 分钟前
【开题答辩全过程】以 基于协同过滤推荐算法的小说漫画网站设计与实现为例,包含答辩的问题和答案
算法·机器学习·推荐算法
u01092727111 分钟前
代码覆盖率工具实战
开发语言·c++·算法
We་ct22 分钟前
LeetCode 73. 矩阵置零:原地算法实现与优化解析
前端·算法·leetcode·矩阵·typescript
天赐学c语言22 分钟前
2.1 - 反转字符串中的单词 && 每个进程的内存里包含什么
c++·算法·leecode
程序员泠零澪回家种桔子24 分钟前
OpenManus开源自主规划智能体解析
人工智能·后端·算法
请注意这个女生叫小美26 分钟前
C语言 实例20 25
c语言·开发语言·算法
好学且牛逼的马27 分钟前
【Hot100|22-LeetCode 206. 反转链表 - 完整解法详解】
算法·leetcode·矩阵
hans汉斯30 分钟前
国产生成式人工智能解决物理问题能力研究——以“智谱AI”、“讯飞星火认知大模型”、“天工”、“360智脑”、“文心一言”为例
大数据·人工智能·算法·aigc·文心一言·汉斯出版社·天工
v_for_van33 分钟前
力扣刷题记录3(无算法背景,纯C语言)
c语言·算法·leetcode