统计知识选讲(一)——主成分分析(PCA)的思想
主成分分析的主要目的是希望用较少的变量去解释原来资料中的大部分变异,将我们手中许多相关性很高的变量转化成彼此相互独立或不相关的变量,从而达到降维的目的。在原始数据“预处理”阶段通常要先对它们采用PCA的方法进行降维。本质上讲,PCA就是将高维的数据通过线性变换投影到低维空间上去,但并非随意投影,而是需要遵循一个规则:希望降维后的数据不能失真,也就是说被PCA降掉的那些维度只能是噪声或是冗余的数据。
噪声可以理解为样本数据各维度之间的相关性干扰,冗余可以理解为没有的维度(何为没用?我们PCA处理的基础是保持数据的可区分性,如果该维度上样本数据变异度很小,那么留它何用~~)。
以上是PCA的本质和基本思想。下面我们来具体分析。假设现在有很多个样本,每个样本都是多维的,他们自然都可以在多维坐标系上表示出来。现在我们第一步是要进行维度的变换,实际上就是通过旋转形成新的坐标系直线(此时还没有降维)。将各样本数据投影在这些直线上,其投影的长度是在新坐标系下的样本各维度值。通过计算各直线上投影的方差值,我们可以进行排序。方差值大说明这个新维度区分能力强,我们应该留下;反之则该去掉(降维去冗余)。
现在通过以上思想你应该可以推到出PCA的具体公式了。至于具体的公式,本讲决定直接跳过(留给下一讲),现在我可以直接告诉你大概运用什么样的方法怎样来进行PCA。完成PCA的关键是——协方差矩阵!!协方差矩阵度量的是维度与维度之间的关系,而非样本与样本之间,所以我们直接对协方差矩阵进行某种变化,是不是就可以到达降噪和去冗余的目的呢?
Absolutely!!这种变化就是矩阵的对角化(对角化实际上还没有降维,只是同维度的变换)。对角化之后非对角上的元素都是0,这就到达了去噪声的目的。而对角线上的元素是新维度的方差(你应该明白对角化的矩阵依然是协方差矩阵吧),所以我们只需要在这些方差中挑选较大的一些,舍去较小的,这样就去冗余了。通过这两步工作PCA最主要的工作就完成了。
统计知识选讲(一)——主成分分析(PCA)的思想的更多相关文章
- 统计知识选讲(二)——主成分分析(PCA)的推导和应用
1.数学推导 根据上讲的思想,我们可以用下图来进行数学上的推导. 2.PCA的步骤 1)对原始数据进行标准化处理:对该指标变量进行标准化, 2)计算相关系数矩阵(协方差矩阵) 3)计算相关系数矩阵的特 ...
- 线性判别分析(LDA), 主成分分析(PCA)及其推导【转】
前言: 如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了. 谈到LDA,就不得不谈谈PCA,PCA ...
- 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...
- 主成分分析PCA详解
转载请声明出处:http://blog.csdn.net/zhongkelee/article/details/44064401 一.PCA简介 1. 相关背景 上完陈恩红老师的<机器学习与知识 ...
- 主成分分析(PCA)原理及推导
原文:http://blog.csdn.net/zhongkejingwang/article/details/42264479 什么是PCA? 在数据挖掘或者图像处理等领域经常会用到主成分分析,这样 ...
- 05-03 主成分分析(PCA)
目录 主成分分析(PCA) 一.维数灾难和降维 二.主成分分析学习目标 三.主成分分析详解 3.1 主成分分析两个条件 3.2 基于最近重构性推导PCA 3.2.1 主成分分析目标函数 3.2.2 主 ...
- 机器学习之主成分分析PCA原理笔记
1. 相关背景 在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律.多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的 ...
- 主成分分析(PCA)原理详解_转载
一.PCA简介 1. 相关背景 在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律.多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一定程度上 ...
- 用scikit-learn学习主成分分析(PCA)
在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维. 1. scikit-learn PCA类介绍 ...
随机推荐
- sqlite学习笔记5:插入数据,查询数据和删除数据
曾闻:全部的编程都是已数据为中心,觉得很有道理. 所谓数据库数据库,没有数据叫什么数据库,接下来就看看怎样在表中插入数据. 一 插入数据 1 创建一张表 首先为了插入数据,须要先创建一张表: CREA ...
- C语言学习-数据结构 - 倒插法顺序表
// test20161106.cpp : Defines the entry point for the console application. // #include "stdafx. ...
- 【android】WebView缓存数据收集
Android WebView 缓存 Android高手进阶教程(二十四)之---Android WebView的缓存!!! Android webView 缓存 Cache + HTML5离线功能 ...
- automake/autoconf的简单例子
参考文章1:http://loftor.com/archives/automake.html 参考文章2:http://www.blogjava.net/huyi2006/articles/18790 ...
- C语言缓冲区清空
C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 ...
- HTML5学习资源
http://www.silverlightchina.net/html/HTML_5/study/ 我们一起学:HTML5标签系列教程(一)-video标签 版权声明:本文博客原创文章.博客,未经同 ...
- leetcode第三题--Longest Substring Without Repeating Characters
Problem:Given a string, find the length of the longest substring without repeating characters. For e ...
- Asp.Net MVC页面静态化功能实现一:利用IHttpModule和ResultFilter
由于公司现在所采用的是一套CMS内容管理系统的框架,所以最近项目中有一个需求提到要求实现页面静态化的功能.在网上查询了一些资料和文献,最后采用的是小尾鱼的池塘提供的 利用ResultFilter实现a ...
- AsyncTask的新认识
我也是参考下面两篇很有价值的文档,然后做一个总结的: http://blog.csdn.net/hitlion2008/article/details/7983449 http://blog.csdn ...
- iOS基础 - 数据库CoreData
一.iOS应用数据存取的常用方式 XML属性列表 —— PList NSKeyedArchiver 归档 Preference(偏好设置) SQLite3 Core Data 二.Core Data简 ...