t-Distributed随机邻居嵌入
费舍尔虹膜数据集有四维测量的虹膜,和相应的分类到物种。使用可视化数据通过减少维度tsne
。
负载fisheririsrng默认的%的再现性Y = tsne(量);gscatter (Y (: 1), Y(:, 2),物种)
使用各种距离指标,试图获得一个更好的物种之间在费舍尔虹膜数据分离。
负载fisheririsrng (“默认”)%的再现性Y = tsne(量,“算法”,“准确”,“距离”,“mahalanobis”);次要情节(2,2,1)gscatter (Y (: 1), Y(:, 2),物种)标题(“Mahalanobis”)提高(“默认”)%对公平的比较Y = tsne(量,“算法”,“准确”,“距离”,的余弦);次要情节(2 2 2)gscatter (Y (: 1), Y(:, 2),物种)标题(的余弦)提高(“默认”)%对公平的比较Y = tsne(量,“算法”,“准确”,“距离”,“chebychev”);次要情节(2,2,3)gscatter (Y (: 1), Y(:, 2),物种)标题(“Chebychev”)提高(“默认”)%对公平的比较Y = tsne(量,“算法”,“准确”,“距离”,“欧几里得”);次要情节(2,2,4)gscatter (Y (: 1), Y(:, 2),物种)标题(“欧几里得”)
在这种情况下,余弦、Chebychev和欧氏距离度量提供相当不错的集群分离。但距离度量并没有给出很好的分离。
南
输入数据tsne
删除输入包含任何数据行南
条目。因此,您必须删除任何行策划之前从你的分类数据。
例如,改变一些随机费舍尔虹膜数据条目南
。
负载fisheririsrng默认的%的再现性量(兰德(大小(量))< 0.05)=南;
将四维数据嵌入到二维tsne
。
Y = tsne(量,“算法”,“准确”);
警告:行南缺失值X或“则”的值将被去除。
确定从嵌入中消灭了多少行。
长度(物种)长度(Y)
ans = 22
准备策划结果的行定位量
没有南
值。
goodrows =没有(任何(isnan(量),2));
绘制结果只使用的行物种
对应于行量
没有南
值。
gscatter (Y (: 1), Y(:, 2),物种(goodrows))
发现费舍尔的2 d和3 d嵌入的虹膜数据,并比较每个嵌入的损失。很可能失去3 d嵌入较低,因为这个嵌入有更多的自由来匹配原始数据。
负载fisheririsrng默认的%的再现性(Y,亏损)= tsne(量,“算法”,“准确”);rng默认的%对公平的比较(Y2, loss2) = tsne(量,“算法”,“准确”,“NumDimensions”3);流(“二维嵌入损失% g, 3 d嵌入% g。\ n损失”、损失、loss2)
二维嵌入损失0.124191,0.0990884和3 d嵌入有损失。
正如所料,3 d嵌入有较低的损失。
查看嵌入。使用RGB颜色(1 0 0)
,(0 1 0)
,(0 0 1)
。
的3 d图,将物种数值使用分类
命令,然后将数值转换为RGB颜色使用稀疏的
函数如下。如果v
是一个向量的正整数1、2或3,对应于该物种数据,然后命令
稀疏(1:元素个数(v), v, 1(大小(v)))
是一个稀疏矩阵的行RGB颜色的物种。
gscatter (Y (: 1), Y(:, 2),物种,眼(3))标题(“二维嵌入”)
图v =双(分类(物种));c =全(稀疏(1:元素个数(v), v,(大小(v))的元素个数(v), 3));scatter3 (Y2 (:, 1), Y2 (:, 2), Y2(:, 3), 15日,c,“填充”)标题(“3 d嵌入”)视图(-50 8)
X
- - - - - -数据点n
——- - - - - -米
矩阵指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
Y = tsne (X,“算法”,“准确”,“NumPCAComponents”, 50)
算法
- - - - - -tsne
算法“barneshut”
(默认)|“准确”
tsne
算法,指定为“barneshut”
或“准确”
。的“准确”
算法优化Kullback-Leibler背离原始之间的分布空间和嵌入式空间。的“barneshut”
算法执行一个近似优化时速度更快,使用更少的内存大的数据行数。
请注意
为“barneshut”
算法,tsne
使用knnsearch
找到最近的邻居。
例子:“准确”
距离
- - - - - -距离度量“欧几里得”
(默认)|“seuclidean”
|“cityblock”
|“chebychev”
|闵可夫斯基的
|“mahalanobis”
|的余弦
|“相关”
|“枪兵”
|“汉明”
|“jaccard”
|函数处理距离度量,指定下列之一。距离度量的定义,请参阅pdist
。
“欧几里得”
——欧氏距离。
“seuclidean”
——标准化的欧氏距离。每个坐标行之间的区别X
和查询矩阵是通过除以相应的扩展元素的标准差计算S =性病(X, omitnan)
。
“cityblock”
——城市街区的距离。
“chebychev”
——Chebychev距离最大值坐标的差异。
闵可夫斯基的
-闵可夫斯基距离指数2。这是欧氏距离相同。
“mahalanobis”
——Mahalanobis距离,使用正定协方差矩阵计算X (X, omitrows)
。
的余弦
- 1 -之间的夹角的余弦值观察(视为向量)。
“相关”
- 1 -样本线性相关性的观察(作为序列的值)。
“枪兵”
- 1 -样本之间的斯皮尔曼等级相关的观察(作为序列的值)。
“汉明”
——汉明距离、坐标不同的百分比。
“jaccard”
- 1 - Jaccard系数非零坐标的比例不同。
自定义距离函数——一个距离函数指定使用@
(例如,@distfun
)。有关详细信息,请参见更多关于。
在所有情况下,tsne
使用两两距离平方来计算高斯内核的联合分布X
。
例子:“mahalanobis”
NumDimensions
- - - - - -输出的维度Y
2
(默认)|正整数NumPCAComponents
- - - - - -PCA降维0
(默认)|非负整数PCA降维,指定为一个非负整数。之前tsne
嵌入在高维数据时,它首先会降低数据的维数NumPCAComponents
使用主成分分析
函数。当NumPCAComponents
是0
,tsne
不使用PCA。
例子:50
数据类型:单
|双
标准化
- - - - - -正常输入数据假
(默认)|真正的
正常输入数据,指定为假
或真正的
。当真正的
,tsne
中心和尺度X
列除以标准差。
当特征X
在不同的尺度上,准备好了吗“标准化”
来真正的
。这样做是因为学习过程是基于最近的邻居,所以与大尺度特性与小尺度可以覆盖特性的贡献。
例子:真正的
数据类型:逻辑
克尔
- - - - - -最初的嵌入点1 * randn的军医(N, NumDimensions)
(默认)|n
——- - - - - -NumDimensions
真正的矩阵最初的嵌入点,指定为一个n
——- - - - - -NumDimensions
真正的矩阵,n
的行数X
。的tsne
优化算法使用这些点作为初始值。
数据类型:单
|双
LearnRate
- - - - - -学习速率的优化过程500年
(默认)|积极的标量学习速率的优化过程,指定为一个积极的标量。通常,设置值One hundred.
通过1000年
。
当LearnRate
太小了,tsne
可以收敛到局部最小值。当LearnRate
太大,优化可以最初Kullback-Leibler散度增加而不是减少。看到tsne设置。
例子:1000年
数据类型:单
|双
NumPrint
- - - - - -迭代显示频率20.
(默认)|正整数迭代显示频率,指定为一个正整数。当详细的
名称-值对不0
,tsne
返回迭代显示每次NumPrint
迭代。如果选项
名称-值对包含一个非空的“OutputFcn”
追求每一个条目,然后输出功能NumPrint
迭代。
例子:20.
数据类型:单
|双
选项
- - - - - -优化选项“麦克斯特”
,“OutputFcn”
,“TolFun”
θ
- - - - - -Barnes-Hut权衡参数0.5
(默认)|标量从0到1Y
——嵌入式分n
——- - - - - -NumDimensions
矩阵嵌入点,作为一个返回n
——- - - - - -NumDimensions
矩阵。每一行代表一个嵌入点。n
行数据的数量吗X
不包含任何南
条目。看到图结果与南输入数据。
损失
——Kullback-Leibler散度Kullback-Leibler建模的输入和输出之间的分歧分布,作为一个非负标量返回。有关详细信息,请参见t-SNE算法。
一个自定义距离函数的语法如下。
函数ZJ D2 = distfun(子)
tsne
通过子
和ZJ
你的函数,函数计算距离。
子
是1 -n向量包含单个行X
或Y
。
ZJ
是一个米——- - - - - -n矩阵包含多个行X
或Y
。
你的函数返回D2
,这是一个米1的向量距离。的jth元素D2
是观察之间的距离子
和ZJ (j,:)
。
提示
如果你的数据没有稀疏,那么通常内置的距离函数的速度比一个处理函数。
tsne
构造一组嵌入点在低维空间的相对相似模拟的原始高维点。嵌入点显示原始数据的聚类。
约,算法模型原始分,来自一个高斯分布,以及嵌入点来自学生的t分布。算法试图最小化Kullback-Leibler散度这两个发行版之间通过移动嵌入式点。
有关详细信息,请参见t-SNE。
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano万博1manbetx comandi MATLAB。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。