主成分分析的主要目的是希望用较少的变量去解释原来资料中的大部分变异,将我们手中许多相关性很高的变量转化成彼此相互独立或不相关的变量,从而达到降维的目的。在原始数据“预处理”阶段通常要先对它们采用PCA的方法进行降维。本质上讲,PCA就是将高维的数据通过线性变换投影到低维空间上去,但并非随意投影,而是需要遵循一个规则:希望降维后的数据不能失真,也就是说被PCA降掉的那些维度只能是噪声或是冗余的数据。

噪声可以理解为样本数据各维度之间的相关性干扰,冗余可以理解为没有的维度(何为没用?我们PCA处理的基础是保持数据的可区分性,如果该维度上样本数据变异度很小,那么留它何用~~)。

以上是PCA的本质和基本思想。下面我们来具体分析。假设现在有很多个样本,每个样本都是多维的,他们自然都可以在多维坐标系上表示出来。现在我们第一步是要进行维度的变换,实际上就是通过旋转形成新的坐标系直线(此时还没有降维)。将各样本数据投影在这些直线上,其投影的长度是在新坐标系下的样本各维度值。通过计算各直线上投影的方差值,我们可以进行排序。方差值大说明这个新维度区分能力强,我们应该留下;反之则该去掉(降维去冗余)。

现在通过以上思想你应该可以推到出PCA的具体公式了。至于具体的公式,本讲决定直接跳过(留给下一讲),现在我可以直接告诉你大概运用什么样的方法怎样来进行PCA。完成PCA的关键是——协方差矩阵!!协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间,所以我们直接对协方差矩阵进行某种变化,是不是就可以到达降噪和去冗余的目的呢?

Absolutely!!这种变化就是矩阵的对角化(对角化实际上还没有降维,只是同维度的变换)。对角化之后非对角上的元素都是0,这就到达了去噪声的目的。而对角线上的元素是新维度的方差(你应该明白对角化的矩阵依然是协方差矩阵吧),所以我们只需要在这些方差中挑选较大的一些,舍去较小的,这样就去冗余了。通过这两步工作PCA最主要的工作就完成了。

统计知识选讲(一)——主成分分析(PCA)的思想的更多相关文章

  1. 统计知识选讲(二)——主成分分析(PCA)的推导和应用

    1.数学推导 根据上讲的思想,我们可以用下图来进行数学上的推导. 2.PCA的步骤 1)对原始数据进行标准化处理:对该指标变量进行标准化, 2)计算相关系数矩阵(协方差矩阵) 3)计算相关系数矩阵的特 ...

  2. 线性判别分析(LDA), 主成分分析(PCA)及其推导【转】

    前言: 如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了. 谈到LDA,就不得不谈谈PCA,PCA ...

  3. 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

  4. 主成分分析PCA详解

    转载请声明出处:http://blog.csdn.net/zhongkelee/article/details/44064401 一.PCA简介 1. 相关背景 上完陈恩红老师的<机器学习与知识 ...

  5. 主成分分析(PCA)原理及推导

    原文:http://blog.csdn.net/zhongkejingwang/article/details/42264479 什么是PCA? 在数据挖掘或者图像处理等领域经常会用到主成分分析,这样 ...

  6. 05-03 主成分分析(PCA)

    目录 主成分分析(PCA) 一.维数灾难和降维 二.主成分分析学习目标 三.主成分分析详解 3.1 主成分分析两个条件 3.2 基于最近重构性推导PCA 3.2.1 主成分分析目标函数 3.2.2 主 ...

  7. 机器学习之主成分分析PCA原理笔记

    1.    相关背景 在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律.多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的 ...

  8. 主成分分析(PCA)原理详解_转载

    一.PCA简介 1. 相关背景 在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律.多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上 ...

  9. 用scikit-learn学习主成分分析(PCA)

    在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维. 1. scikit-learn PCA类介绍 ...

随机推荐

  1. Nagios监控lvs服务

    1在lvs server上安装nrpe客户端: 1.1,rpm方式安装nrpe客户端 下载地址:http://download.csdn.net/detail/mchdba/7493875 [root ...

  2. CSS3 选择器读解

    文章资料来自于W3Cfuns CSS3.0 四个基本的结构性伪类选择器:root 此选择器将绑定到页面的根元素中,所谓根元素,是指文档树中最顶层的元素,也就是<html>部 分. < ...

  3. Asp.Net MVC路由调试好帮手RouteDebugger

    Asp.Net MVC路由调试好帮手RouteDebugger 1.获取方式 第一种方法: 在程序包控制台中执行命令 PM> Install-Package routedebugger 安装成功 ...

  4. 快速构建Windows 8风格应用14-ShareContract概述及原理

    原文:快速构建Windows 8风格应用14-ShareContract概述及原理 本篇博文主要介绍Share Contract概述.Share Contract实现原理.实现Share Contra ...

  5. 高速决心linux上oracle安装垃圾问题

    问题:在linux安装oracle时间.因为oracle用户local LANG安装问题,原因安装oracle软件.该接口是非常多的安装位置是乱码. 解决方案:在oracle用户运行:export L ...

  6. C语言链表操作模板(添加,删除,遍历,排序)

    C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...

  7. Tabs - 选项卡插件

        接上篇Tabs  - 选项卡插件  其中12)Yet (E)Another Tab Interface没有依赖任何javascript框架,以作补充          9)Flipping C ...

  8. Http Pipeline详细分析(下)

    Http Pipeline详细分析(下) 文章内容 接上面的章节,我们这篇要讲解的是Pipeline是执行的各种事件,我们知道,在自定义的HttpModule的Init方法里,我们可以添加自己的事件, ...

  9. ACE编译运行错误解决

    使用VS2010编译运行ACE版本号为6.0.1 按照网上步骤添加config.h,在ACE_wrappers/ace目录下 ,新建 config.h 文件加入以下内容: #include " ...

  10. iOS基础 - iOS程序启动原理

    一.UIApplicationMain 在main.m的main函数中执行了UIApplicationMain这个方法,这是ios程序的入口点 int UIApplicationMain(int ar ...