Python数据分析与机器学习35-PCA降维

一. PCA概述

PCA是Principal Component Analysis,主成分分析。

用途:
降维中最常用的一种手段

目标:
提取最有价值的信息(基于方差)

问题:
降维后的数据的意义?

二. 向量的表示及基变换

2.1 向量的表示

内积:
image.png

解释:
image.png
设向量B的模为1,则A与B的内积值等于A向B所在
直线投影的矢量长度
image.png

向量的表示:
向量可以表示为(3,2)
实际上表示线性组合:
image.png

image.png

2.2 基变换

基:
(1,0)和(0,1)叫做二维空间中的一组基
image.png

基是正交的(即内积为0,或直观说相互垂直)

基是线性无关
image.png

变换:
数据与一个基做内积运算,结果作为第一个新的坐标分量,然后与第二个基做内积运算,结果作为第二个新坐标的分量

数据(3,2)映射到基中坐标:
image.png

基变换:
image.png

两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到
左边矩阵中每一行行向量为基所表示的空间中去

三. 协方差矩阵

方向:
如何选择这个方向(或者说基)才能尽量保留最多的原始信息呢?一种直观的看法是:希望投影后的投影值尽可能分散

方差:
image.png

寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大

协方差(假设均值为0时):
image.png

四. 协方差

如果单纯只选择方差最大的方向,后续方向应该会和方差最大的方向接近重合。

解决方案:
为了让两个字段尽可能表示更多的原始信息,我们是不希望它们之间存在(线性)相关性的

协方差:
可以用两个字段的协方差表示其相关性
image.png

当协方差为0时,表示两个字段完全独立。为了让协方差为0,选择第二个基时只能在与第一个基正交的方向上选择。因此最终选择的两个方向一定是正交的。

五. 优化目标

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

协方差矩阵:
image.png

矩阵对角线上的两个元素分别是两个字段的方差,而其它元素是a和b的协方差。

协方差矩阵对角化:即除对角线外的其它元素化为0,并且在对角线上将元素按大小从上到下排列.

协方差矩阵对角化:
image.png

实对称矩阵:
一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量
image.png

实对称阵可进行对角化:
image.png

根据特征值的从大到小,将特征向量从上到下排列,则用前K行组成的矩阵乘以原始数据矩阵X,就得到了我们需要的降维后的数据矩阵Y

六. PCA实例

数据:
image.png

协方差矩阵:
image.png

特征值:
image.png

特征向量:
image.png

对角化:
image.png

降维:
image.png

参考:

  1. https://study.163.com/course/introduction.htm?courseId=1003590004#/courseDetail?tab=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值