PCA(主成分分析-principal components analysis)学习笔记以及源代码实战讲解

PCA(主成分分析-principal components analysis)学习笔记以及源代码实战讲解

前言

在看完吴恩达讲解的PCA(主成分分析)方法后,想着能够用代码的方式实践一下。紧接着就借阅了一下《机器学习实战》里面对PCA的流程的讲解和代码。现在对PCA的运算过程还是比较明白的,也希望这份学习笔记能够帮助刚开始学习PCA的同学们。

源代码已上传到github,有需要的同学可以去下载,别忘了给个⭐哦
源代码地址

PCA(主成分分析) 原理分析

  • PCA 是什么?

PCA即主成分分析,是一种数据降维的方法,可以将多指标转化为少指标。这里举个例子吧,在我们使用数据做分析前,需要对数据进行一系列的处理。假如我们手上有一组房屋数据,房屋指标分别有建筑面积、实际面积、长、宽等等。这些指标中,建筑面积和实际面积之间有很强的正相关性,那也就说,我们其实可以使用一个指标来取代这两个指标。

  • PCA优点

  1. 能够降低算法的计算开销。我们在使用深度网络训练模型时,使用1000层网络消耗的计算资源远远大于100层消耗的资源。
  2. 能够去除一些噪声。PCA的思想就决定了我们所取得特征都是能够尽可能区分数据得特征,在我们得数据中,有一些指标并没有实际作用。
  3. 使得数据集更易使用。
  • PCA原理(主要涉及线性代数得的知识,大家耐心看)

内积:也称数量积,两个向量对应元素的的乘积之和百度百科-内积。计算很简单,但是我们这里说一下它在几何中的作用。看下面这张图:

img

这里有两个向量,分别是向量A和向量B,二者的内积为:A·B = |A| ·|B|·cos(a)

这里我们令B向量为单位向量(或模长为1),即|B|=1,所以有A·B = |A|·cos(a)

此时结果等于向量A在向量B上的投影长度。

也就是说当B向量的模长为1时,A与B的内积等于向量A在向量B上的投影的长度

坐标轴的基:在我们平常见到的x-y坐标轴,(1,0)和(0,1)为该坐标轴的一组基。坐标轴上的任意一个向量都能够用这与一组基来表示。

在这里插入图片描述

图中的向量为(3,2),可以用两个(0,1)和三个(1,0)来表示。我们将这个向量分别向这两个基做投影,所得到的投影的长度就是我们可以用来表示的数量。

前面的内积公式大家没忘记吧,A**·B = |A|·|B|·**cos(a) 。我们令B向量为一个基(1,0),A向量为图中(3,2)。

A**·B = |A|·**cos(a)=3.

也就是说,只要我们确定一组基,给出向量在这组基上的投影长度,就能够描述这个向量。

前面我们给出的是一组默认基,咱们接下来将(1,1)和(-1,1)作为一组基。因为我们想使基的模长为1,所以我们分别除以其模长。上面的基可以变为
( 1 2 , 1 2 ) \left ( \frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}} \right ) (2 1,2 1)

( − 1 2 , 1 2 ) \left ( -\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}} \right ) (2 1,2

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值