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

相关推荐
Theodore_102242 分钟前
机器学习(3)梯度下降
人工智能·机器学习
JJJJ_iii3 小时前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归
Han.miracle4 小时前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
mit6.8246 小时前
前后缀分解
算法
你好,我叫C小白6 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
weixin_519535778 小时前
从ChatGPT到新质生产力:一份数据驱动的AI研究方向指南
人工智能·深度学习·机器学习·ai·chatgpt·数据分析·aigc
寂静山林9 小时前
UVa 10228 A Star not a Tree?
算法
Neverfadeaway9 小时前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
Madison-No710 小时前
【C++】探秘vector的底层实现
java·c++·算法
Swift社区10 小时前
LeetCode 401 - 二进制手表
算法·leetcode·ssh