深入了解一下十大经典机器学习算法之一:PCA算法

PCA(主成分分析)是十大经典机器学习算法之一。PCA是Pearson在1901年提出的,后来由Hotelling在1933年加以发展提出的一种多变量的统计方法。

PCA(主成分分析)算法目的是在“信息”损失较小的前提下,将高维的数据转换到低维,通过析取主成分显出的最大的个别差异,也可以用来削减回归分析和聚类分析中变量的数目,从而减小计算量。

PCA(主成分分析)通常用于高维数据集的探索与可视化,还可以用于数据压缩,数据预处理等。

PCA(PrincipalComponentAnalysis)主成分分析,也称为卡尔胡宁-勒夫变换(Karhunen-LoeveTransform),是一种用于探索高维数据结构的技术。

PCA算法本质就是找一些投影方向,使得数据在这些投影方向上的方差最大,而且这些投影方向是相互正交的。这其实就是找新的正交基的过程,计算原始数据在这些正交基上投影的方差,方差越大,就说明在对应正交基上包含了更多的信息量。原始数据协方差矩阵的特征值越大,对应的方差越大,在对应的特征向量上投影的信息量就越大。反之,如果特征值较小,则说明数据在这些特征向量上投影的信息量很小,可以将小特征值对应方向的数据删除,从而达到了降维的目的。

样本的“信息量”指的是样本在特征方向上投影的方差。方差越大,则样本在该特征上的差异就越大,因此该特征就越重要。在分类问题里,样本的方差越大,越容易将不同类别的样本区分开。

希望投影后投影值尽可能分散,而这种分散程度,可以用数学上的方差来表述。在统计描述中,方差用来计算每一个变量(观察值)与总体均数之间的差异。此处,一个字段的方差可以看做是每个元素与字段均值的差的平方和的均值,即:

PCA理论基础如下:

1)最大方差理论。

2)最小错误理论。

PCA算法流程:

1)去平均值,即每一位特征减去各自的平均值;

2)计算协方差矩阵;

3)计算协方差矩阵的特征值与特征向量;

4)对特征值从大到小排序;

5)保留最大的个特征向量;

6)将数据转换到个特征向量构建的新空间中。

1)最近重构性:样本集中所有点,重构后的点距离原来的点的误差之和最小。

2)最大可分性:样本在低维空间的投影尽可能分开。

1)使得数据集更易使用;

2)降低算法的计算开销;

3)去除噪声;

4)使得结果容易理解;

5)完全无参数限制。

1)如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高;

2)特征值分解有一些局限性,比如变换的矩阵必须是方阵;

3)在非高斯分布情况下,PCA方法得出的主元可能并不是最优的。

PCA算法已经被广泛的应用于高维数据集的探索与可视化,还可以用于数据压缩,数据预处理等领域。在机器学习当中应用很广,比如图像,语音,通信的分析处理。PCA算法最主要的用途在于“降维”,去除掉数据的一些冗余信息和噪声,使数据变得更加简单高效,提高其他机器学习任务的计算效率。

THE END
1.算法的基础概念,从入门到精通,教育,高等教育,好看视频算法的基础概念,从入门到精通 百度文库 53万粉丝 · 77万个视频百度文库官方账号 关注 接下来播放自动播放 02:01 顶梁柱这次是真的倒下了 和平精英 地铁逃生 顶梁柱倒下了 关唱地铁逃生 5689次播放 · 108次点赞 15:23 中国父亲来老挝参加乔迁宴!把厨师也带来了,让村民尝中国席面! 小陈的老挝媳妇 27万次https://haokan.baidu.com/v?pd=wisenatural&vid=15449967741319345145
2.腾讯视频网络上疯传的一道高智商数学题,你能算出来等于多少吗腾讯视频 看全集高清完整版 小程序免广告 打开APP 再看一遍 更多热门短视频 小程序免广告 APP看全集 请选择以下方式打开并播放 继续使用浏览器 腾讯视频 小程序免广告 快捷免安装,限时免广告观看 打开 腾讯视频 APP 畅享完整播放体验 打开 https://m.v.qq.com/z/msite/play-short/index.html?qqVersion=0&vid=w0843zduv7k
3.十大经典算法之动图演示前面好奇心已经带大家从冒泡排序开始,一直到基数排序,从头过了一遍,那么这里归纳一下,将十个经典算法的演示图都放出来,供大家对比参考学习。 每张图都会附带详细解说链接,有需要的同学可以点击详细了解学习。 冒泡排序 Python 实现经典算法之冒泡排序 选择排序 https://www.360doc.cn/article/40020072_1120709857.html
4.十大经典排序算法动画演示AlgorithmMan,一套免费的算法演示神器,附带GitHub开源下载地址。 1、Sorting Algorithms Animations 2、算法的分类 3、时间复杂度 算法 1、冒泡排序 它重复地访问要排序的元素列,一次比较两个相邻的元素,如果他们的顺序不符合预期就把他们交换过来。访问元素的工作是重复地进行直到没有相邻元素需要交换时为止。 https://www.jianshu.com/p/e9cfc2cc869c
5.Python数据结构之十大经典排序算法一文通关python今天整理一下十大经典排序算法。 1、冒泡排序 ——越小的元素会经由交换慢慢“浮”到数列的顶端 算法演示 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; https://www.jb51.net/article/225443.htm
6.基于VisualC++的数据结构经典算法的演示系统(2014年)资源本文利用Visual C++ 6.0开发平台的可视化界面以及其中的MFC环境的优点,设计并建立了一个基于C++的数据结构的经典算法的演示系统,这使得学生加深了算法的理解,也提高了学生的学习兴趣,达到了更好的授课效果。 资源推荐 资源评论 C++数据结构算法演示系统(论文).pdf https://download.csdn.net/download/weixin_38567873/19631009
7.GitHubJourWon/sort查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码https://github.com/JourWon/sort-algorithm
8.十大经典排序算法动画,看我就够了!Tip为了演示更加清楚,本文中所有的动画都放慢了速度,因此GIF大小对比之前会有所增大,图片加载速度会变慢,如果你想获取所有的超清动画,在公主号 五分钟学算法 回复github可获得全部资料。 在前面的章节中详细的讲解分析了十大经典排序算法,本文将进行一个大总结同时分析它们的时间复杂度与稳定性。 https://www.imooc.com/article/266110
9.算法学习笔记51CTO博客《数学建模十大经典算法》 《数据挖掘领域十大经典算法》 《十道海量数据处理面试题》 《数字图像处理领域的二十四个经典算法》 《精选微软等公司经典的算法面试100题》 The-Art-Of-Programming-By-July 微软面试100题 程序员编程艺术 基本算法演示 http://sjjg.js.zwu.edu.cn/SFXX/sf1/sfys.html https://blog.51cto.com/u_15310381/3229422
10.KMeans算法动画演示分析文章见:http://blog.csdn.net/gugugujiawei/article/details/45578547 上传者:gugugujiawei时间:2015-05-08 KMeans算法java代码 KMeans算法是机器学习的经典算法,该文档实现了KMeans算法,文档中的数据是为了实现算法随机构造的。 上传者:u010619558时间:2018-01-23https://www.iteye.com/resource/qq_36382679-12921697
11.龙桂鲁教授团队完成量子梯度算法原理演示2021年 龙桂鲁教授团队完成量子梯度算法原理演示 算法、数据和算力是人工智能的三个要素。随着人类步入大数据时代,数据量呈现井喷式增长。要最快的到达山顶目标的爬山路线,是最陡的路线,梯度方向就是朝着目标最陡的方向。在优化算法中,梯度算法就是沿着目标函数的梯度方向,快速寻找极值的算法。梯度算法被广泛应用在机器https://www.phys.tsinghua.edu.cn/info/1129/4541.htm
12.算法精粹:经典计算机科学问题的Python实现本书是一本面向中高级程序员的算法教程,借助Python语言,用经典的算法、编码技术和原理来求解计算机科学的一些经典问题。全书共9章,不仅介绍了递归、结果缓存和位操作等基本编程组件,还讲述了常见的搜索算法、常见的图算法、神经网络、遗传算法、k均值聚类算法、对抗搜索算法等,运用了类型提示等Python高级特性,并通过各级https://www.epubit.com/bookDetails?id=UB71fac289a9240
13.量子计算机美国的洛斯阿拉莫斯和麻省理工学院、IBM、和斯坦福大学、武汉物理教学所、清华大学四个研究组已实现7个量子比特量子算法演示。 20世纪60年代至70年代,人们发现能耗会导致计算机中的芯片发热,极大地影响了芯片的集成度,从而限制了计算机的运行速度。研究发现,能耗来源于计算过程中的不可逆操作。那么,是否计算过程必须要用https://baike.sogou.com/v323052.htm
14.生活中的算法教案.doc导入新课:通过展示一些生活中的问题,如如何快速找出100元钞票、如何将一堆鞋子快速排序等,引导学生思考如何用算法解决这些问题。 2. 讲解概念:介绍常见的算法概念,如排序、查找、计数等,并解释其原理和用途。 3. 实例分析:通过分析实际生活中的问题,让学生了解如何将算法应用于解决这些问题。例如,通过演示快速排序https://m.book118.com/html/2023/1122/5233332323011012.shtm