![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 76
像在吹
None
展开
-
Largevis算法
Largevis是国内某博士在TSNE基础上加工得到的一种新型算法,其改进处在于用一种半并行的树搜索算法+低维空间中基于核距离的概率分布,并采用了大量的百万级以上数据作为例子,画出了非常炫酷的散点图,我只能说他的计算机太厉害了,SNE系列的算法一直都有一个最大的毛病,就是计算成本大,消耗内存,每次迭代都需要所有样本参与进行。在计算高维分布之前,邻域图的重建采用以下算法,就是多个点同时进原创 2017-04-30 10:55:54 · 4536 阅读 · 0 评论 -
流形学习
经典流形学习:1、MDS2、ISOMAP3、LLE4、SpecturalEmbeding6、SNE系列MDS是在降维后保持样本之间的相对距离不变,ISOMAP对MDS进行改进,讲相对距离改成了测地线距离(机除了领域点之外,其他的之间距离都为无穷大,再通过最小路径求得这些距离无穷大的点间距离),LLE与ISOMAP思想类似,不过LLE绕了一个弯,它构建出高维空间中的领域点间线原创 2017-05-06 10:21:53 · 1029 阅读 · 1 评论 -
TSVD截断奇异值分解
从某种程度上来说,PCA和SVD是一对表亲,PCA对特征的协方差矩阵进行分解,找到一堆特征的线性组合,尽可能多的表示出原始特征中成分,SVD则对原始数据直接进行奇异值分解,找到原始数据中尽可能大的特征值,以这些特征值多对应的特征向量作为新的特征。本文在这里介绍一种正则化办法——截断奇异值分解技术(TSVD)。对于线性方程组,进行奇异值分解,得到则方程原本的解可写成截取前p项原创 2017-05-13 11:32:38 · 13451 阅读 · 0 评论 -
PCA与KPCA
PCA是利用特征的协方差矩阵判断变量间的方差一致性,寻找出变量之间的最佳的线性组合,来代替特征,从而达到降维的目的,但从其定义和计算方式中就可以看出,这是一种线性降维的方法,如果特征之间的关系是非线性的,用线性关系去刻画他们就会显得低效,KPCA正是应此而生,KPCA利用核化的思想,将样本的空间映射到更高维度的空间,再利用这个更高的维度空间进行线性降维。如果样本的维度是k,样本个数是n(n>k原创 2017-04-30 13:49:35 · 9121 阅读 · 2 评论 -
TSNE动态可视化
这里将上一篇博客中的迭代数据保存下来,用matplotlib一次次更新数据,利用moviepy合成一个小视频,效果看上去有点酷酷的,因为mp4格式无法上传。。。。所以:生成视频链接:http://pan.baidu.com/s/1ge7BYXd# -*-encoding:utf-8-*-from sklearn import manifoldfrom sklearn import deco原创 2017-04-30 13:30:50 · 4123 阅读 · 2 评论 -
Python实现TSNE
TSNE的实现总体上并不复杂,麻烦的是其超高的浮点运算和大型矩阵的操控,在上一篇Largevis的算法中,TangJian大神很明显用的是MATLAB,我这里贴出Python版本的代码,和大家一起学习。代码分为几个模块1、计算高维空间分布P2、计算低维空间分布Q3、计算梯度4、主函数,进行迭代1、计算高维空间分布Pdef cal_matrix_P(X,neigh原创 2017-04-30 12:28:30 · 24004 阅读 · 5 评论 -
Python_sklearn_回归
所用模块:sklearn,numpy,time实现功能:(1)一般回归(2)岭回归(3)Lasso回归(4)lars回归(5)贝叶斯回归(6)ARD回归(7)RBF的逼近原创 2016-10-23 11:19:31 · 3247 阅读 · 0 评论 -
RBF的一维和二维逼近
RBF在函数逼近上有非常好的表现,这里给出了RBF在单自变量单因变量,以及二自变量单因变量的逼近方法,进行Python实现,多维问题的逼近同样很方便,只需增加相应的维度即可,只是需要更多的数据。一、原理(公式难写,如需具体文档可私信)假设有n个样本,每个样本有m个属性,设第i个样本Xi的第j个属性为aij,其对应的目标值为fi,那么可以构建逼近函数F=A*a,A为n*m阶的矩阵,a为m*1原创 2016-10-23 11:22:16 · 2854 阅读 · 1 评论 -
MDS算法
非常传统的降维的方法,以距离为标准,将高维坐标中的点投影到低维坐标中,保持彼此之间的相对距离变化最小,更新的方法是T-SNE,基于分布概率变化最小进行投影。假定原始高维数据样本的距离矩阵为D,则在低维下的距离矩阵为Z,我们可以用优化算法选取初始点,用梯度下降法求最佳逼近,使得||D-Z||最小,同时,也可以利用內积来求的低维映射。前者在样本较多时容易陷入局部最优,后者较稳定,但在样本不多时,效原创 2017-04-07 23:51:58 · 30761 阅读 · 7 评论 -
SVM人脸识别
SVM在中等维度的分类问题中,有较好的表现,其在某种程度上构建了一个简单的网络结构,类似于神经网络中的RBF神经网络。人脸数据集是经典的分类和聚类问题中经常使用的数据集,维度相对不高,灰度图像,这里选用64*64的人脸图像,将其reshape从1*64^2的一维数组,共40类样本,每组10个。通常在SVM解决较高维度问题时,需要将其适度降维,这里选用传统的线性降维方法PCA(KPCA同样适原创 2017-04-09 15:17:37 · 2925 阅读 · 0 评论 -
Isomap
Isomap算法是在MDS算法的基础上衍生出的一种算法,MDS算法是保持降维后的样本间距离不变,Isomap算法引进了邻域图,样本只与其相邻的样本连接,他们之间的距离可直接计算,较远的点可通过最小路径算出距离,在此基础上进行降维保距。计算流程如下:设定邻域点个数,计算邻接距离矩阵,不在邻域之外的距离设为无穷大;求每对点之间的最小路径,将邻接矩阵矩阵转为最小路径矩阵;输入MDS算法,原创 2017-04-09 11:14:11 · 14488 阅读 · 6 评论 -
SNE、TSNE
TSNE是由SNE衍生出的一种算法,SNE最早出现在2002年,它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而Tsne将低维中的坐标当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。从SNE到TSNE之间,还有一个对称SNE,其对SNE有部分改进作用。S原创 2017-04-16 00:21:01 · 16846 阅读 · 0 评论 -
集成方法(随机森林)
随机森林是集成方法中优势非常强的一种方法,它以决策树为基础学习器,每棵树独立建立,天然具有并行特性,相对于GradientBoosting和Bagging方法而言,它耗内存更大,速度也相对慢些,但能获得更稳定的结果,尤其是在与CV验证相结合时,泛化能力大大增强。决策树基本算法随机森林算法应用随机森林1、决策树基本算法(1)寻找最优化分节点的办法有信息增益量和原创 2017-05-07 10:58:28 · 1653 阅读 · 0 评论