热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

PCA读书笔记

PCA是一种对高维度数据进行降维的一种方法,为了能够了解PCA的具体过程,一些数学知识,比如:期望,标准差&#

PCA是一种对高维度数据进行降维的一种方法,为了能够了解PCA的具体过程,一些数学知识,比如:期望,标准差,方差,协方差,特征值,特征向量等都是必须了解的。不过不要怕,我这里先一个一个来介绍下这些概念。

PCA是一种常用的统计方法,什么是统计分析的过程?就是用样本数据的特征去代表整体数据特征,而统计就是来分析这个样本数据的特征(为什么要这样来做?而不是把全部数据拿来分析呢?因为全部数据量太大)

1:概念介绍

Ø  期望

在我们的一组离散数据中,期望就是平均值。

,n代表样本点的个数,xn 代表样本中的第n个样本点

比如以下两组数据分别是某灯泡厂随即挑选出来的3个灯泡的寿命

A厂的如下:0,10,20。B厂的如下:9,10,11

那么我们衡量A和B就用期望来做即可。得到A的期望是10,B的期望也是10。

Ø  标准差

在期望中我们用期望对两组数据进行了分析,发现他们的平均寿命都是一样的,但是但看这些数据来看,只需要期望还是不够的,因为上面两组数据虽然期望值一样,但是数据特征还是有异同的,比如在上面两组数据中我们更希望需要的是第二组数据,因为第二组数据更“稳定”,也就是这些数据距离期望值差别都不大。为了描绘这个特征我们用标准差来衡量,标准差的定义是:样本点和期望距离和。我们用下面的等价公式来计算这个值:

(至于为什么分母是n-1,请阅读我的另外一篇日志:http://blog.csdn.net/silence1214/article/details/8012684)

Ø  方差

方差就是标准差的平方

Ø  协方差

在我们上面的分析中我们知道,期望,标准差,方差都是来衡量一维数据的特征的,二维的数据特征我们如何衡量呢?这里就要出现协方差了,协方差定义如下:

,协方差的值和X,Y的关系表达如下:

如果cov(X,Y)大于0,说明当X增大的时候Y也增加,反之一样

如果cov(X,Y)小于0,说明当X增大的时候Y是减小的,反之一样

如果cov(X,Y)等于0,则说明X和Y无关

Ø  特征值和特征向量

这个概念由于我们大学学习的课本的问题,其实很多人都知道怎么算的,甚至有的同学计算的时候可以寻找很多方法快速来计算,但是死活不知道实际的意义。这里根据我的个人理解以及别人的沟通用一句话来描述下特征值和特征向量的现实意义。根据寻求特征值和特征向量的公式:PX=λX,知道就是求可以在矩阵p下做变换后的向量x,和一个变量乘以它的值相等,这说明什么?一句话:就是寻找可以再P下进行变换的向量,变换后该向量的长度发生变化,方向不变。其实特征值和特征向量就是这个意思。

2:利用PCA进行数据降维步骤

Ø  我们这个地方用一个关于图像压缩的例子来阐述下PCA降维的过程。

给一副图片,宽窄都是n,则按照图片从第一行像素值,第二行像素值…直到第n行像素值连接成一行,保存称为行向量如下:

P=(x1,x2,…..xn2),它的维度是n2

我们给予20副这样的图片,则20副图片经过处理行程一个20*n2的矩阵。

Ø  求协方差矩阵

协方差上面我们已经说过了,那么什么是协方差矩阵?给予一个矩阵A

我们定义,矩阵B如下

则A的协方差矩阵就等于B*BT

文字表示上述过程就是,先对A的每行元素求平均值,然后每个元素减去改行的平均值行程中间矩阵,然后中间矩阵与它转置的乘积就是协方差矩阵,我们记做M

Ø  求协方差矩阵M的特征值和特征向量

因为20副图片的协方差矩阵M是20*20的,所以它的特征值有20个,对应20个特征向量,把这20个特征值从大到小排序,选择前n个特征值(n小于20)对应的特征向量组合成矩阵P=(p1,p2,…pn)。每一个pi是20维的列向量。这个时候我们把20个特征向量就叫做原始数据的主成分。每个向量是20维的。

Ø  得到经过PCA之后的原始数据

我们把经过PCA之后的原始数据叫做FinalData。则(FinalData)T=PT*MT.也就是说FinalData=M*P,由于M是20*20的,P是20*n的,所以FinalData是20*n的,因为n小于20。所以和之前对比节约了n/20的空间。

3:总结

         个人觉得PCA主要是利用一些数据知识,对原始数据进行相应的坐标转换,最初的数据在一个坐标系上,你觉得相互之间点都有关系,但是当寻找另外的坐标系的时候会发现一些点可能距离很近也有可能重合,此时就可以把这些点省掉一些。。个人理解,不一定正确。

4:建议

         我们之前做可视化总是直接对原始数据进行可视化,如果数据维度大可视难度是非常大的,其实可以做一些这样简单的变换,降低下数据维度,并且利用数学关系和模型来分析下到底和我们需要分析的哪些指标有关系,然后找到有关系的维度,去掉无关系的维度,既利于分析,也能得到真正有用的结果。


推荐阅读
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 前端性能优化无损压缩webp格式的图片
    一、什么是webpWebP格式,谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的23,并能节省大量的服务器宽带资源和数据空 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文总结了在开发中使用gulp时的一些技巧,包括如何使用gulp.dest自动创建目录、如何使用gulp.src复制具名路径的文件以及保留文件夹路径的方法等。同时介绍了使用base选项和通配符来保留文件夹路径的技巧,并提到了解决带文件夹的复制问题的方法,即使用gulp-flatten插件。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
author-avatar
345877103_b54cd7
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有