Random Projection在k-means的应用】的更多相关文章

这次突然打算写点dimension reduction的东西, 虽然可以从PCA, manifold learning之类的东西开始, 但很难用那些东西说出好玩的东西. 这次选择的是一个不太出名但很有趣的方法, 随机映射. 但某些地方它一直是被当成LSH方法来介绍的, 关于这点我不想过多追究, 这里我认为他是一个降维. Problem Statement 首先我们来看一个问题, 如果你手头有一组数据$X \in R^n$, 它的维数太高, 从而不得不进行降维至$R^k$, 你会怎么办? 相信不少…
1. 随机投影 (Random Projection) 首先,这是一种降维方法.之前已经介绍过相对普遍的PCA的降维方法,这里介绍另一种降维方法Random Project.相比于PCA,他的优势可以这样说: Random Projection与PCA不一样,其操作简单,只要构建一个投影矩阵即可,而PCA降维还要做SVD,计算开销比较大 1.1 Brief Introduction 随机投影的理论依据是J-L Lemma,公式的核心思想总结一句话就是:在高维欧氏空间里的点集映射到低维空间里相对距…
Random Projection在k-means的应用   1. 随机投影 (Random Projection) 首先,这是一种降维方法.之前已经介绍过相对普遍的PCA的降维方法,这里介绍另一种降维方法Random Project.相比于PCA,他的优势可以这样说: Random Projection与PCA不一样,其操作简单,只要构建一个投影矩阵即可,而PCA降维还要做SVD,计算开销比较大 1.1 Brief Introduction 随机投影的理论依据是J-L Lemma,公式的核心思…
參考:http://scikit-learn.org/stable/modules/random_projection.html The sklearn.random_projection module 通过trading accuracy(可控的范围)来降维数据.提高效率.实现了两类unstructured random matrix:: Gaussian random matrix and sparse random matrix. 理论基础:the Johnson-Lindenstraus…
KNN K-Means 1.分类算法 聚类算法 2.监督学习 非监督学习 3.数据类型:喂给它的数据集是带label的数据,已经是完全正确的数据 喂给它的数据集是无label的数据,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序 4.训练过程:没有明显的前期训练过程,属于memory-based learning 有明显的前期训练过程 5.K的含义:来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,就把x的label…
K-means是一种聚类算法: 这里运用k-means进行31个城市的分类 城市的数据保存在city.txt文件中,内容如下: BJ,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64TianJin,2459.77,495.47,697.33,302.87,284.19,735.97,570.84,305.08HeBei,1495.63,515.90,362.37,285.32,272.95,540.58,364.91,188.63…
笔记-python-standard library-9.6 random 1.      random source code:Lib/random.py 1.1.    functions for integers random.randrange(stop) random.randrange(start, stop[, step]) 从range(start, stop, step)中返回一个随机选择的元素.注意并不会生成一个range对象. random.randint(a,b) ret…
random.random() 返回[0,1)之间的浮点数 random.randrange(stop)  /  random.randrange(start,stop[,step]) 返回[0,stop) / [start,stop)且步长为step的整数 random.randint(start,stop) 返回[start,stop]之间的整数 random.choice(seq) 随机返回一个序列内的值 random.shuffle(seq) 随机打乱序列的排序 import rando…
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <…
1.题目分析: 查找无序数组中的第K大数,直观感觉便是先排好序再找到下标为K-1的元素,时间复杂度O(NlgN).在此,我们想探索是否存在时间复杂度 < O(NlgN),而且近似等于O(N)的高效算法. 还记得我们快速排序的思想麽?通过“partition”递归划分前后部分.在本问题求解策略中,基于快排的划分函数可以利用“夹击法”,不断从原来的区间[0,n-1]向中间搜索第k大的数,大概搜索方向见下图: 2.参考代码: #include <cstdio> #define swap(x,y…