【Coursera】主成分分析
一、问题
- 主方向的概念是什么?为什么降低维度的方法是使方差最大化?
- 假设某两个特征之间成线性关系,在二维平面上的表示就是数据点呈线性分布,那么可以通过将数据在主方向上进行投影,得到一个一维的数据,这个一维的数据保留了原始数据大部分的信息.
- 两个特征之间成线性关系,但是由于一些噪声的影响,所以数据分布并不严格处在一条直线上面。所谓的主方向就是要找到一个向量使得这个向量和预想中的直线大致符合。然后这样的一个向量应该满足什么要求呢?显然,应当使得所有的数据点到这个向量(直线)的距离总和最小,在数学表达上的体现就是尽可能使得每个点和主方向向量的协方差\(x^{T}*u / m\)最大,因为协方差变大时,x和u越正相关,那么x自然就距离直线更近。(有疑问)
- 因为假定两个特征之间成线性关系,那么数据的分布肯定也大致符合一条直线,因此当各个数据投影到这条直线上时,数据的离散程度比其他情况更大,换言之就是数据的方差最大。所以使方差最大化可以找到所需要的向量。
- 通过拉格朗日方法求解,可知向量u即为$\sum $矩阵的特征向量,假设需要降维到k惟,那么就要选择特征值大的前k的特征向量。而为什么选用特征值大的向量?因为特征值越大,说明对应的特征向量代表了这个矩阵的主要特征(主要方向)。
- 解出来的特征向量个数为多少?如何知道k的具体大小?
- $\sum $矩阵为实对称矩阵,因此特征向量两两正交,且特征向量个数一定有n个。
二、奇异值分解
- 奇异值分解的含义是,把一个矩阵A看成线性变换(当然也可以看成是数据矩阵或者样本矩阵),那么这个线性变换的作用效果是这样的,我们可以在原空间找到一组标准正交基V,同时可以在像空间找到一组标准正交基U,我们知道,看一个矩阵的作用效果只要看它在一组基上的作用效果即可,在内积空间上,我们更希望看到它在一组标准正交基上的作用效果。而矩阵A在标准正交基V上的作用效果恰好可以表示为在U的对应方向上只进行纯粹的伸缩!这就大大简化了我们对矩阵作用的认识,因为我们知道,我们面前不管是多么复杂的矩阵,它在某组标准正交基上的作用就是在另外一组标准正交基上进行伸缩而已。
【Coursera】主成分分析的更多相关文章
- coursera机器学习-聚类,降维,主成分分析
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- Coursera在线学习---第八节.K-means聚类算法与主成分分析(PCA)
一.K-means聚类中心初始化问题. 1)随机初始化各个簇类的中心,进行迭代,直到收敛,并计算代价函数J. 如果k=2~10,可以进行上述步骤100次,并分别计算代价函数J,选取J值最小的一种聚类情 ...
- Coursera《machine learning》--(14)数据降维
本笔记为Coursera在线课程<Machine Learning>中的数据降维章节的笔记. 十四.降维 (Dimensionality Reduction) 14.1 动机一:数据压缩 ...
- 用scikit-learn学习主成分分析(PCA)
在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维. 1. scikit-learn PCA类介绍 ...
- 主成分分析(PCA)原理总结
主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一.在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用.一般我们提到降维最容易想到的算法就 ...
- scikit-learn一般实例之四:管道的使用:链接一个主成分分析和Logistic回归
主成分分析(PCA)进行无监督的降维,而逻辑回归进行预测. 我们使用GridSearchCV来设置PCA的维度 # coding:utf-8 from pylab import * import nu ...
- Coursera上一个不错的Java课
地址:https://www.coursera.org/learn/java-chengxu-sheji/home/welcome 复习天昏地暗,看点视频调剂一下.发现这个讲的还是很不错的.北大毕竟比 ...
- 主成分分析 (PCA) 与其高维度下python实现(简单人脸识别)
Introduction 主成分分析(Principal Components Analysis)是一种对特征进行降维的方法.由于观测指标间存在相关性,将导致信息的重叠与低效,我们倾向于用少量的.尽可 ...
- 主成分分析(principal components analysis, PCA)
原理 计算方法 主要性质 有关统计量 主成分个数的选取 ------------------------------------------------------------------------ ...
随机推荐
- 在windows上安装不同(两个)版本的Mysql数据库
1.起因: 需要导入一个sql文件,发现死活导不进去.当执行到这一句时,就有问题.经过一番搜索,原来是我的数据库版本(原先Mysql版本5.5)低了,而支持该语句的版本应该是至少要5.7.那我索性就去 ...
- CentOS7.3安装mysql数据库
Mysql数据库安装 1.环境 操作系统:CentOS 7.3 软件:MySQL 5.7 下载链接:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5 ...
- 深入理解PHP 数组之count 函数
count()PHP count() 函数用于计算数组中的单元数目或对象中的属性个数,返回数组的单元个数或对象中的属性个数.语法:int count( mixed var [, int mode] ) ...
- C语言之随机数函数( rand() )的使用方法
文章出自个人博客https://knightyun.github.io/2018/04/25/c-rand-number,转载请申明. 在程序设计中,难免会使用到随机值函数,其原理与语法大多类似,接下 ...
- angularjs animation
http://augus.github.io/ngAnimate/ http://www.nganimate.org/angularjs/ng-repeat/move http://codepen.i ...
- JavaWeb基础—邮件发送
一.JavaMail概述与入门 JavaMail-java提供的一组API,用来收发邮件 中间有个邮件服务器: 客户端发给邮件服务器,另外一收件客户端从邮件服务器下载(最稳的还是163,QQ有点不靠谱 ...
- 20155210 潘滢昊2016-2017-2 《Java程序设计》第9周学习总结
20155210 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC驱动的四种类型(按操作方式分类的): JDBC-ODBC Bridge Driver ...
- JavaWeb总结(十一)
JSP简介 虽然Servlet解决了传统CGI编程的缺陷,但是它并不一定是最高效率的方案 - Servlet的编码.部署和调试任务繁琐 - 生成动态网页繁琐,不利于项目分工 为了弥补Servlet这些 ...
- CF1111E Tree 树链剖分,DP
CF1111E Tree 过年了,洛咕还没爬这次的题,先放个CF的链接吧. 补个LG传送门. 对于每个询问点\(x\),设它的祖先即不能和它放在同一个集合中的点的个数为\(f[x]\),设\(dp[i ...
- 2_C语言中的数据类型 (九)逻辑运算符与if语句、switch、条件运算符?、goto语句与标号
1 条件分支语句 1.1 关系运算符 在C语言中0代表false,非0代表真 1.1.1 < 小于 1.1.2 <= 小于 ...