一步步教你轻松学主成分分析PCA降维算法 (白宁超 2018年10月22日10:14:18) 摘要:主成分分析(英语:Principal components analysis,PCA)是一种分析.简化数据集的技术.主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征.常常应用在文本处理.人脸识别.图片识别.自然语言处理等领域.可以做在数据预处理阶段非常重要的一环,本文首先对基本概念进行介绍,然后给出PCA算法思想.流程.优缺点等等.最后通过一个综合案例去实现应用.(本文原…
一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分解,在生物信息学.信号处理.金融学.统计学等领域有重要应用,SVD都是提取信息的强度工具.在机器学习领域,很多应用与奇异值都有关系,比如推荐系统.数据压缩(以图像压缩为代表).搜索引擎语义层次检索的LSI等等.(本文原创,转载必须注明出处.) 目录 1 机器学习:一步步教你轻松学KNN模型算法 2 …
一步步教你轻松学支持向量机SVM算法之案例篇2 (白宁超 2018年10月22日10:09:07) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于分类的范畴.首先,支持向量机不是一种机器,而是一种机器学习算法.在数据挖掘的应用中,与无监督学习的聚类相对应和区别.广泛应用于机器学习,计算机视觉和数据挖掘当中.(本文原创,转载必须注明出处.) 目录 1 机器学习:一步步教你轻松学KNN模型算法 2 机器学习:一步步教你轻松学决策树算法 3 机器学…
一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于分类的范畴.首先,支持向量机不是一种机器,而是一种机器学习算法.在数据挖掘的应用中,与无监督学习的聚类相对应和区别.广泛应用于机器学习,计算机视觉和数据挖掘当中.(本文原创,转载必须注明出处.) 目录 1 机器学习:一步步教你轻松学KNN模型算法 2 机器学习:一步步教你轻松学决策树算法 3 机器学…
一步步教你轻松学关联规则Apriori算法 (白宁超 2018年10月22日09:51:05) 摘要:先验算法(Apriori Algorithm)是关联规则学习的经典算法之一,常常应用在商业等诸多领域.本文首先介绍什么是Apriori算法,与其相关的基本术语,之后对算法原理进行多方面剖析,其中包括思路.原理.优缺点.流程步骤和应用场景.接着再通过一个实际案例进行语言描述性逐步剖析.至此,读者基本了解该算法思想和过程.紧接着我们进行实验,重点的频繁项集的生成和关联规则的生成.最后我们采用综合实例…
一步步教你轻松学K-means聚类算法(白宁超  2018年9月13日09:10:33) 导读:k-均值算法(英文:k-means clustering),属于比较常用的算法之一,文本首先介绍聚类的理论知识包括什么是聚类.聚类的应用.聚类思想.聚类优缺点等等:然后通过k-均值聚类案例实现及其可视化有一个直观的感受,针对算法模型进行分析和结果优化提出了二分k-means算法.最后我们调用机器学习库函数,很短的代码完成聚类算法.(本文原创,转载必须注明出处:一步步教你轻松学K-means聚类算法 目…
一步步教你轻松学朴素贝叶斯深度篇3(白宁超   2018年9月4日14:18:14) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对于朴素贝叶斯的学习,本文首先介绍理论知识即朴素贝叶斯相关概念和公式推导,为了加深理解,采用一个维基百科上面性别分类例子进行形式化描述.然后通过编程实现朴素贝叶斯分类算法,并在屏蔽社区言论.垃圾邮件.个人广告中获取区域倾向等几个方面进行应用,包括创建数据集.数据预处理.词集模型和词袋模型.朴素贝叶斯模…
一步步教你轻松学KNN模型算法( 白宁超 2018年7月24日08:52:16 ) 导读:机器学习算法中KNN属于比较简单的典型算法,既可以做聚类又可以做分类使用.本文通过一个模拟的实际案例进行讲解.整个流程包括:采集数据.数据格式化处理.数据分析.数据归一化处理.构造算法模型.评估算法模型和算法模型的应用.(本文原创,转载必须注明出处: 一步步教你轻松学KNN模型算法) 目录 1 机器学习:一步步教你轻松学KNN模型算法 2 机器学习:一步步教你轻松学决策树算法 3 机器学习:一步步教你轻松学…
转载地址:http://blog.csdn.net/watkinsong/article/details/38536463 1. 前言 PCA : principal component analysis ( 主成分分析) 最近发现我的一篇关于PCA算法总结以及个人理解的博客的访问量比较高, 刚好目前又重新学习了一下PCA (主成分分析) 降维算法, 所以打算把目前掌握的做个全面的整理总结, 能够对有需要的人有帮助. 自己再看自己写的那个关于PCA的博客, 发现还是比较混乱的, 希望这里能过做好…
opencv基于PCA降维算法的人脸识别(att_faces) 一.数据提取与处理 # 导入所需模块 import matplotlib.pyplot as plt import numpy as np import os import cv2 # plt显示灰度图片 def plt_show(img): plt.imshow(img,cmap='gray') plt.show() # 读取一个文件夹下的所有图片,输入参数是文件名,返回文件地址列表 def read_directory(dire…
一.前述 主成分分析(Principal Component Analysis,PCA), 是一种统计方法.通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分. PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征.这k维特征称为主成分,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征. 二.概念 协方差是衡量两个变量同时变化的变化程度.PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征.这k维…
http://ufldl.stanford.edu/wiki/index.php/主成分分析 if ~exist('train_IM_all','var')||~exist('train_LA_all','var')%为加快程序运行,以便重复运行本文件时不需要重复载入数据    load train_res; %用的还是上次手写数字识别的数据,只是在此之前已经将数据转换为mat文件,所以可以直接用load载入数据end X0_te= train_IM_all(:,train_LA_all ==…
几个概念 正交矩阵 在矩阵论中,正交矩阵(orthogonal matrix)是一个方块矩阵,其元素为实数,而且行向量与列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵:  其中,为单位矩阵.正交矩阵的行列式值必定为或,因为: 对角矩阵 对角矩阵(英语:diagonal matrix)是一个主对角线之外的元素皆为0的矩阵.对角线上的元素可以为0或其他值.因此n行n列的矩阵 = (di,j)若符合以下的性质: 则矩阵为对角矩阵. 性质有: 1. 对角矩阵的和差运算结果还为对角矩阵 2. 对…
主成分分析PCA 降维的必要性 1.多重共线性--预测变量之间相互关联.多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯. 2.高维空间本身具有稀疏性.一维正态分布有68%的值落于正负标准差之间,而在十维空间上只有0.02%. 3.过多的变量会妨碍查找规律的建立. 4.仅在变量层面上分析可能会忽略变量之间的潜在联系.例如几个预测变量可能落入仅反映数据某一方面特征的一个组内. 降维的目的: 1.减少预测变量的个数 2.确保这些变量是相互独立的 3.提供一个框架来解释结果 降维的方法有:主成…
K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis) 管理计算机集群(Organize Computer Clusters) 天文学数据分析(Astronomical Data Analysis) K-Means算法属于非监督式学习的一种,算法的输入是:训练数据集$\{x^{(1)},x^{(2)},\ldots, x^{(m)}\}$(其中$x^…
转自github: https://github.com/heucoder/dimensionality_reduction_alo_codes 网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码:在此通过借鉴资料实现了一些经典降维算法的Demo(python),同时也给出了参考资料的链接. 降维算法 资料链接 展示 PCA https://blog.csdn.net/u013719780/article/details/78352262 https://blog.csdn.net/we…
在主成分分析(PCA)原理总结中,我们对主成分分析(以下简称PCA)的原理做了总结,下面我们就总结下如何使用scikit-learn工具来进行PCA降维. 1. scikit-learn PCA类介绍 在scikit-learn中,与PCA相关的类都在sklearn.decomposition包中.最常用的PCA类就是sklearn.decomposition.PCA,我们下面主要也会讲解基于这个类的使用的方法. 除了PCA类以外,最常用的PCA相关类还有KernelPCA类,在原理篇我们也讲到…
一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼就能看出来,数学,物理,化学这三门课的成绩构成了这组数据的主成分(很显然,数学作为第一主成分,因为数据成绩拉的最开). 那么为什么我们能一眼看出来呢? 当然是我们的坐标轴选对了!! 下面,我们继续看一个表格,下标是一组学生的数学,物理,化学,语文,历史,英语成绩统计: 那么这个表我们能一眼看出来吗?…
1.    相关背景 在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律.多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量.更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性.如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的结论. 因此需要找到一种合理的方法,在减少需要分析的指标同时,尽量减少原指标包含信息的损…
基于sklearn的主成分分析代码实现 一.前言及回顾 二.sklearn的PCA类介绍 三.分类结果区域可视化函数 四.10行代码完成葡萄酒数据集分类 五.完整代码 六.总结 基于sklearn的主成分分析代码实现 一.前言及回顾 从上一篇<PCA数据降维原理及python应用(葡萄酒案例分析)>,我们知道,主成分分析PCA是一种无监督数据压缩技术,上一篇逐步自行写代码能够让我更好地理解PCA内部实现机制,那知识熟悉以及技术成熟后我们可以运用什么提高编码效率? 答案就是:基于sklearn的…
[引言]--PCA降维的作用 面对海量的.多维(可能有成百上千维)的数据,我们应该如何高效去除某些维度间相关的信息,保留对我们"有用"的信息,这是个问题. PCA给出了我们一种解决方案和思路. PCA给我的第一印象就是去相关,这和数据(图像.语音)压缩的想法是一致的.当然,PCA像是一种有损的压缩算法.但是不要紧,去除掉的信息也许是噪声呢,而且损失的信息不是"主要成分". PCA 降维的概念不是简单的去除原特征空间的某些维度,而是找出原特征空间的新的正交基,并且这个…
主成分分析与白化是在做深度学习训练时最常见的两种预处理的方法,主成分分析是一种我们用的很多的降维的一种手段,通过PCA降维,我们能够有效的降低数据的维度,加快运算速度.而白化就是为了使得每个特征能有同样的方差,降低相邻像素的相关性. 主成分分析PCA PCA算法可以将输入向量转换为一个维数低很多的近似向量.我们在这里首先用2D的数据进行试验,其数据集可以在UFLDL网站的相应页面http://ufldl.stanford.edu/wiki/index.php/Exercise:PCA_in_2D…
一步步教你搭建VS环境下用C#写WebDriver脚本http://www.automationqa.com/forum.php?mod=viewthread&tid=3529&fromuid=29…
前言: 如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了. 谈到LDA,就不得不谈谈PCA,PCA是一个和LDA非常相关的算法,从推导.求解.到算法最终的结果,都有着相当的相似. 本次的内容主要是以推导数学公式为主,都是从算法的物理意义出发,然后一步一步最终推导到最终的式子,LDA和PCA最终的表现都是解一个矩阵特征值的问题,但是理解了如何推导,才能更深刻的理解其中的含义.本次内容要求读者有一些…
一步步教你把ubuntu安装到U盘 作者 Val 2452013147@qq.com 原因: 由于某些原因(学生党),需要把ubuntu安装到U盘到处走,百度了一下,教程都不是很好,要么很复杂,要么不清楚,那就让我们一起来见证奇迹的时刻吧. 注意: 1.这里说的是把ubuntu安装到u盘,是可读写的,通俗点说就是在ubuntu修改后,重启后这个修改还是存在的. 2.U盘的速度并不能与硬盘相比,而且U盘的寿命有限,还有个个人经验,闪迪的U盘比金士顿的快多了,本人用的是酷豆. 3.由于本人的酷豆已经…
降维(一)----说说主成分分析(PCA)的源头 降维系列: 降维(一)----说说主成分分析(PCA)的源头 降维(二)----Laplacian Eigenmaps --------------------- 主成分分析(PCA) 在很多教程中做了介绍,但是为何通过协方差矩阵的特征值分解能够得到数据的主成分?协方差矩阵和特征值为何如此神奇,我却一直没弄清.今天终于把整个过程整理出来,方便自己学习,也和大家交流. 提出背景 以二维特征为例,两个特征之间可能存在线性关系的(例如这两个特征分别是运…
上次那篇文章在理论层次介绍了下协方差矩阵,没准很多人觉得这东西用处不大,其实协方差矩阵在好多学科里都有很重要的作用,比如多维的正态分布,再比如今天我们今天的主角——主成分分析(Principal Component Analysis,简称PCA).结合PCA相信能对协方差矩阵有个更深入的认识. PCA的缘起 PCA大概是198x年提出来的吧,简单的说,它是一种通用的降维工具.在我们处理高维数据的时候,为了能降低后续计算的复杂度,在“预处理”阶段通常要先对原始数据进行降维,而PCA就是干这个事的.…
一步步教你读懂NET中IL(附带图) 接触NET也有1年左右的时间了,NET的内部实现对我产生了很大的吸引力,在msdn上找到一篇关于NET的IL代码的图解说明,写的挺不错的.个人觉得:能对这些底部的实现进行了解和熟练的话,对以后自己写代码是有很大帮助的,好了,废话不多说,现摘抄如下: .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM),也就是說,它們的指令集(Instruction Set)都是採用堆叠运算的方式:执行时的资料都是先放在堆叠中,再进行运算.…
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensionality) 维数灾难就是说当样本的维数增加时,若要保持与低维情形下相同的样本密度,所需要的样本数指数型增长.从下面的图可以直观体会一下.当维度很大样本数量少时,无法通过它们学习到有价值的知识:所以需要降维,一方面在损失的信息量可以接受的情况下获得数据的低维表示,增加样本的密度:另一方面也可以达到去噪…
前言 耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进阶,适合没有 .NETCore 编程经验到小白同学,也适合从 .NET Framework 迁移到 .NETCore 的朋友. 本系列从安装环境开始,到认识各种配置文件.然后学习了自定过滤器实现.日志监视.异步任务.多线程.缓存使用.网络通讯.单元测试.常规部署到容器化部署等一系列等文章,每一篇文章都配置了示例代码Demo,大家可以通过每篇文章的末尾找到下载示例代码的链接. 目前,所有的示例代…