pca

c# winform利用PCA(主成分分析)算法实现矩阵降维

白昼怎懂夜的黑 提交于 2020-02-27 18:25:26
PCA(principal components analysis)即主成分分析技术,又称主分量分析。主成分分析也称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标。 程序运行截图: 文档撰写截图: 资源下载: c# winform利用PCA(主成分分析)算法实现矩阵降维 完整项目打包及设计报告下载 来源: CSDN 作者: vivi_and_qiao 链接: https://blog.csdn.net/vivi_and_qiao/article/details/104535992

Do you need a for loop for IncrementalPCA in order to keep constant memory usage?

回眸只為那壹抹淺笑 提交于 2020-02-25 05:27:07
问题 In the past, I've tried to use scikit-learn's IncrementalPCA in order to reduce memory usage. I used this answer as a template for my code. But as @aarslan said in the comment section: "I've noticed that the explained variance seems to decrease at every iteration." I've always suspected the last for loop in the given answer. So, my question is: Do I need a for loop in order to keep a constant memory usage during partial_fit step or batch_size is alone enough? Below you can find the code:

Do you need a for loop for IncrementalPCA in order to keep constant memory usage?

倖福魔咒の 提交于 2020-02-25 05:26:48
问题 In the past, I've tried to use scikit-learn's IncrementalPCA in order to reduce memory usage. I used this answer as a template for my code. But as @aarslan said in the comment section: "I've noticed that the explained variance seems to decrease at every iteration." I've always suspected the last for loop in the given answer. So, my question is: Do I need a for loop in order to keep a constant memory usage during partial_fit step or batch_size is alone enough? Below you can find the code:

Coursera 吴恩达 Machine Learning 课程 week 8 quiz

蹲街弑〆低调 提交于 2020-02-21 17:47:31
完整编程作业代码 GitHub 地址: https://github.com/coco-1998-2/Andrew-NG-Machine-Learning-Coursera 100%本地运行通过,不要直接拷贝,debug有问题的时候参考下就好。若是感觉有用,别忘记Star哦~ K-means algorithm 内嵌试题: Optimization Objective: Choosing the number of K: Unsupervised Learning: 表示第i个样本属于的cluster,计算了下距离,离1最近. Motivation I: Data Compression 解析:数据数量不变,维度降低。 PCA Algorithm: How to choose K: PCA: 1.Consider the following 2D dataset: 来源: CSDN 作者: coco_1998_2 链接: https://blog.csdn.net/coco_1998_2/article/details/104373888

Computer Vision_33_SIFT:PCA-SIFT A More Distinctive Representation for Local Image Descriptors——2004

有些话、适合烂在心里 提交于 2020-02-21 12:18:46
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面。对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献。有一些刚刚出版的文章,个人非常喜欢,也列出来了。 33. SIFT 关于SIFT,实在不需要介绍太多,一万多次的引用已经说明问题了。SURF和PCA-SIFT也是属于这个系列。后面列出了几篇跟SIFT有关的问题。 [1999 ICCV] Object recognition from local scale-invariant features [2000 IJCV] Evaluation of Interest Point Detectors [2006 CVIU] Speeded-Up Robust Features (SURF) [2004 CVPR] PCA-SIFT A More Distinctive Representation for Local Image Descriptors [2004 IJCV] Distinctive Image Features from Scale-Invariant Keypoints [2010 IJCV] Improving Bag-of-Features for Large Scale Image Search [2011 PAMI]

PCA主成份分析学习记要

冷暖自知 提交于 2020-02-15 01:04:15
前言 主成份分析,简写为PCA(Principle Component Analysis)。用于提取矩阵中的最主要成分,剔除冗余数据,同时降低数据纬度。现实世界中的数据可能是多种因数叠加的结果,如果这些因数是线性叠加,PCA就可以通过线性转化,还原这种叠加,找到最原始的数据源。 PCA原理 P.S: 下面的内容需要一定线性代数基础,如果只想了解如何在R 中使用,可以跳过此节 本质上来讲,PCA主要是找到一个线性转换矩阵P,作用在矩阵X(X的列向量是一条记录,行向量是一个feature)上,使其转换(或称之为投影,投影可以使用矩阵形式表示)到一个新的空间中,得到矩阵Y。目的是使得Y的协方差矩阵具有如下特点: 1) 对角线元素重左上角到右下角降序排列 2) 非对角线元素全部为0 为什么要这样达到这个目的呢? 对角线上的元素是Y的行向量的方差,非对角线上的元素是协方差。方差越大,表示保留的信息越多越重要;协方差越小,表示相关性越低,冗余性越小。这个也是PCA的主要目的。 下面形式的描述PCA的原理 矩阵X,纬度为m*n,m是变量个数,n是数据数量,处理之前需要对X的行向量做均值化,也就是每一个元素减去行均值,为了简化方差和协方差的计算。令Y=PX,使得 是对角矩阵,且对角线上的值从大到小排列。 展开S,如下所示: 令A= ,很容易证明A是对称矩阵,那么 实对称均值的对角化

[python机器学习及实践(6)]Sklearn实现主成分分析(PCA)

大憨熊 提交于 2020-02-14 03:41:37
1.PCA原理 主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 PCA算法: 2.PCA的实现 数据集: 64维的手写数字图像 代码: #coding=utf-8 import numpy as np import pandas as pd from sklearn.decomposition import PCA from matplotlib import pyplot as plt from sklearn.svm import LinearSVC from sklearn.metrics import classification_report #1.初始化一个线性矩阵并求秩 M = np.array([[1,2],[2,4]]) #初始化一个2*2的线性相关矩阵 np.linalg.matrix_rank(M,tol=None) # 计算矩阵的秩 #2.读取训练数据与测试数据集。 digits_train = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/optdigits.tra', header=None)

Coursera 机器学习 第8章(下) Dimensionality Reduction 学习笔记

一笑奈何 提交于 2020-02-13 06:08:33
8 Dimensionality Reduction 8.3 Motivation 8.3.1 Motivation I: Data Compression 第二种无监督问题:维数约简(Dimensionality Reduction)。 通过维数约简可以实现数据压缩(Data Compression),数据压缩可以减少计算机内存使用,加快算法运算速度。 什么是维数约简:降维。若数据库X是属于n维空间的,通过特征提取或者特征选择的方法,将原空间的维数降至m维,要求n远大于m,满足:m维空间的特性能反映原空间数据的特征,这个过程称之为维数约简。 做道题: C 8.3.2 Motivation II: Visualization 数据降维可以可视化数据,使得数据便于观察。 做道题: BD 8.4 Principal Component Analysis 8.4.1 Principal Component Analysis Problem Formulation PCA的正式描述:将n维数据投影至由k个正交向量组成的线性空间(k维)并要求最小化投影误差(投影前后的点的距离)(Projection Error)的平方的一种无监督学习算法。 进行PCA之前,先进行均值归一化和特征规范化,使得数据在可比较的范围内。 PCA和线性回归之间的关系。PCA不是线性回归。左图是线性回归,右图是PCA

Stanford机器学习笔记-10. 降维(Dimensionality Reduction)

北慕城南 提交于 2020-02-13 06:08:17
10. Dimensionality Reduction Content 10. Dimensionality Reduction   10.1 Motivation     10.1.1 Motivation one: Data Compression     10.2.2 Motivation two: Visualization   10.2 Principal Component Analysis     10.2.1 Problem formulation     10.2.2 Principal Component Analysis Algorithm     10.2.3 Choosing the Number of Principal Components     10.2.4 Advice for Applying PCA 10.1 Motivation 10.1.1 Motivation one: Data Compression 如果我们有许多冗余的数据,我们可能需要对特征量进行 降维(Dimensionality Reduction)。 我们可以找到两个非常相关的特征量,可视化,然后用一条新的直线来准确的描述这两个特征量。例如图10-1所示,x1和x2是两个单位不同本质相同的特征量,我们可以对其降维。 图10-1 一个2维到1维的例子 又如图10

主成分分析 —PCA

大城市里の小女人 提交于 2020-02-13 06:06:58
一.定义   主成分分析(principal components analysis)是一种无监督的降维算法,一般在应用其他算法前使用,广泛应用于数据预处理中。其在保证损失少量信息的前提下,把多个指标转化为几个综合指标的多元统计方法。这样可达到简化数据结构,提高分信息效率的目的。   通常,把转化生成的综合指标称为主成分,其中每个成分都是原始变量的线性组合,且每个主成分之间互不相关,使得主成分比原始变量具有某些更优越的性能。   一般,经主成分分析分析得到的主成分与原始变量之间的关系有: (1)每个主成分都是各原始变量的线性组合 (2)主成分的数目大大骚鱼原始变量的数目 (3)主成分保留了原始变量的绝大多数信息 (4)各主成分之间互不相关 二.过程   其过程是对坐标系旋转的过程,各主成分表达式就是新坐标系与原坐标系的转换关系,在新坐标系中,各坐标轴的方向就是原始数据变差最大的方向。(参见《多元统计分析》P114-117,新坐标轴Y1和Y2,用X1和X2的线性组合表示,几何上是将坐标轴按逆时针方向旋转一定的角度而得出)   详细版:数据从原来的坐标系转换到新的坐标系。转换坐标系时,以方差最大的方向作为新坐标轴方向(数据的最大方差给出了数据的最重要的信息)。第一个新坐标轴选择的是原始数据中方差最大的方法,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复以上过程