网上看到关于数据降维的文章不少,介绍MDS的却极少,遂决定写一写. 考虑一个这样的问题.我们有n个样本,每个样本维度为m.我们的目标是用不同的新的k维向量(k<<m)替代原来的n个m维向量,使得在新的低维空间中,所有样本相互之间的距离等于(或最大程度接近)原空间中的距离(默认欧氏距离). 举个栗子:原来有3个4维样本(1,0,0,3),(8,0,0,5),(2,0,0,4),显然我们可以用三个新的二维样本(1,3),(8,5),(2,4)来保持维度变小并相互之间距离不变. 那么问题来了,如果不…
注:因为公式敲起来太麻烦,因此本文中的公式没有呈现出来,想要知道具体的计算公式,请参考原书中内容 降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中 1.主成分分析(PCA) 将n维样本X通过投影矩阵W,转换为K维矩阵Z 输入:样本集D,低维空间d 输出:投影矩阵W 算法步骤: 1)对所有样本进行中心化操作 2)计算样本的协方差矩阵 3)对协方差矩阵做特征值分解 4)取最大的d个特征值对应的特征向量,构造投影矩阵W 注:通常低维空间维数d的选取有两种方法:1)通过交叉验证法选…
转自:https://blog.csdn.net/u012162613/article/details/45920827 https://www.jianshu.com/p/d6e7083d7d61 1.思想 t-SNE(t-distributed stochastic neighbor embedding)是用于降维的一种机器学习算法,是由 Laurens van der Maaten 和 Geoffrey Hinton在08年提出来. 此外,t-SNE 是一种非线性降维算法,非常适用于高维数…
监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analysis, 经常用于加快学习算法,同时对于数据可视化以帮助你对数据的理解也有很大的帮助. Unsupervised learning Introduction supervised learning:在前面几课我们学习的都是属于监督性学习的内容,包括回归和分类,主要特点就是我们使用的数据集都是类似(x…
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,manifold def load_data(): ''' 加载用于降维的数据 ''' # 使用 scikit-learn 自带的 iris 数据集 iris=datasets.load_iris() return iris.data,iris.target #多维缩放降维MDS模型 def…
本笔记为Coursera在线课程<Machine Learning>中的数据降维章节的笔记. 十四.降维 (Dimensionality Reduction) 14.1 动机一:数据压缩 本小节主要介绍第二种无监督学习方法:dimensionality reduction,从而实现数据的压缩,这样不仅可以减少数据所占磁盘空间,还可以提高程序的运行速度.如下图所示的例子,假设有一个具有很多维特征的数据集(虽然下图只画出2个特征),可以看到x1以cm为单位,x2以inches为单位,它们都是测量长…
PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维.网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理.这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么. 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的数学推导.希望读者在…
PCA要做的事降噪和去冗余,其本质就是对角化协方差矩阵. 一.预备知识 1.1 协方差分析 对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来.网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧. 用matlab计算这个例子 z=[1,2;3,6;4,2;5,2] cov(z) ans = 2.9167 -0.3333 -0.3333 4.0000 可以看出,matlab计算协方差过程…
上一篇文章讲了PCA的数据原理,明白了PCA主要的思想及使用PCA做数据降维的步骤,本文我们详细探讨下另一种数据降维技术—奇异值分解(SVD). 在介绍奇异值分解前,先谈谈这个比较奇怪的名字:奇异值分解,英文全称为Singular Value Decomposition.首先我们要明白,SVD是众多的矩阵分解技术中的一种,矩阵分解方式很多,如三角分解(LU分解.LDU分解.乔列斯基分解等).QR分解及这里所说的奇异值分解:其次,singular是奇特的.突出的.非凡的意思,从分解的过程及意义来看…
TSNE提供了一种有效的数据降维方式,让我们可以在2维或3维的空间中展示聚类结果. # -*- coding: utf-8 -*- from __future__ import unicode_literals from sklearn.manifold import TSNE import pandas as pd import matplotlib.pyplot as mp inputfile = 'data/consumption_data.xls' outputfile = 'tmp/d…