t-分布随机邻域嵌入
Fisher虹膜数据集对虹膜进行了四维测量,并进行了相应的物种分类。通过减少使用的维度来可视化该数据徐
.
加载fisheririsRNG.默认的重复性的%y = tsne(meas);G箭头(Y(:,1),Y(:,2),物种)
使用各种距离指标尝试在Fisher IRIS数据中获得物种之间的更好分离。
加载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(量,“算法”那“准确”那“距离”那'chebbychev');子图(2,2,3)G谓词(Y(:,1),Y(:,2),物种)标题(“Chebychev”)提高(“默认”)公平比较%Y = tsne(量,“算法”那“准确”那“距离”那“欧几里得”);次要情节(2,2,4)gscatter (Y (: 1), Y(:, 2),物种)标题(“欧几里得”)
在这种情况下,余弦,Chebychev,和欧几里德距离度量给出了合理的良好的集群分离。但是马氏距离度量并没有给出一个很好的分离。
南
输入数据徐
删除包含任何的输入数据行南
条目。因此,在绘图之前必须从分类数据中删除任何此类行。
例如,将费雪虹膜数据中的一些随机项改为南
.
加载fisheririsRNG.默认的重复性的%meas(rand(size(meas))) < 0.05) = NaN;
使用四维数据嵌入两个维度徐
.
Y = tsne(量,“算法”那“准确”);
警告:删除了x或'inally'值中的NaN缺失值的行。
确定从嵌入中删除了多少行。
长度(物种)长度(Y)
ans = 22
准备通过定位行绘制结果量
那没有南
值。
goodrows =没有(任何(isnan(量),2));
仅使用行的行绘制结果物种
对应于量
没有南
值。
gscatter (Y (: 1), Y(:, 2),物种(goodrows))
找到Fisher虹膜数据的二维和三维嵌入,并比较每种嵌入的损失。3-D嵌入的损失可能更小,因为这种嵌入有更多的自由来匹配原始数据。
加载fisheririsRNG.默认的重复性的%[y,损失] = tsne(meas,“算法”那“准确”);RNG.默认的公平比较%(Y2, loss2) = tsne(量,“算法”那“准确”那'numdimensions'3);流('2-D嵌入有损失%g,3-d嵌入有损失%g。\ n'、损失、loss2)
二维包埋损失0.124191,三维包埋损失0.0990884。
正如预期的那样,三维嵌入具有较低的损耗。
查看嵌入式。使用RGB颜色(1 0 0)
那(0 1 0)
,(0 0 1)
.
对于3-D图,使用分类
命令,然后使用疏
函数如下。如果V.
是正整数1,2或3的矢量,对应于物种数据,然后是命令
稀疏(1:元素个数(v), v, 1(大小(v)))
是一个稀疏矩阵,它的行是物种的RGB颜色。
gscatter (Y (: 1), Y(:, 2),物种,眼(3))标题('2-D嵌入')
图v =双(类(种));c =全(稀疏(1:元素个数(v), v,(大小(v))的元素个数(v), 3));scatter3 (Y2 (:, 1), Y2 (:, 2), Y2(:, 3), 15日,c,'填充')标题('3-D嵌入')视图(-50 8)
X
-数据点N
——- - - - - -m
矩阵指定可选的逗号分离对名称,价值
参数。的名字
是参数名称和价值
是对应的值。的名字
必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家
.
Y = tsne (X,“算法”,“准确”,“NumPCAComponents”,50)
“算法”
-徐
算法“barneshut”
(默认)|“准确”
徐
算法,指定为“barneshut”
或“准确”
.这“准确”
算法优化原始空间与嵌入式空间之间的分布的Kullback-Leibler分歧。这“barneshut”
算法执行近似优化,当数据行的数量大时,较快的优化并使用较少的内存。
笔记
为“barneshut”
算法,徐
使用knnsearch.
找到最近的邻居。
例子:“准确”
“距离”
-距离度量“欧几里得”
(默认)|“seuclidean”
|“cityblock”
|'chebbychev'
|'minkowski'
|“mahalanobis”
|'余弦'
|“相关”
|“枪兵”
|'汉明'
|“jaccard”
|功能手柄距离度量,由下列之一指定。有关距离度量的定义,请参见Pdist.
.
“欧几里得”
- 欧几里德距离。
“seuclidean”
-标准化欧氏距离。每个坐标行之间的差异X
查询矩阵通过除以所计算的标准差的相应元素进行缩放s = std(x,'omitnan')
.
“cityblock”
-城市街区距离。
'chebbychev'
-切比切夫距离,即最大坐标差。
'minkowski'
- Minkowski与指数2.这与欧几里德距离相同。
“mahalanobis”
-马氏距离,使用正定协方差矩阵计算X (X, omitrows)
.
'余弦'
- 1减少观察之间夹角的余弦(作为载体处理)。
“相关”
- 1减去观测值之间的样本线性相关性(作为值序列处理)。
“枪兵”
- 一个减去样本Spearman之间的检测之间的秩相关性(视为值序列)。
'汉明'
-汉明距离,即不同坐标的百分比。
“jaccard”
- 1减去Jaccard系数,它是不同的非零坐标的百分比。
自定义距离功能 - 使用的距离功能@
(例如,@distfun
).有关详细信息,请参阅更多关于.
在所有情况下,徐
的联合分布中使用平方对距离计算高斯核X
.
例子:“mahalanobis”
'numdimensions'
-输出的尺寸y
2
(默认)|正整数“NumPCAComponents”
-PCA降维0.
(默认)|非负整数PCA降维,指定为非负整数。之前徐
嵌入高维数据,首先将数据的维度降低到NumPCAComponents
使用PCA.
函数。什么时候NumPCAComponents
是0.
那徐
不使用PCA。
例子:50
数据类型:单
|双
“标准化”
-标准化输入数据错误的
(默认)|真正的
规范化输入数据,指定为错误的
或真正的
.什么时候真正的
那徐
中心和尺度X
用标准差除以各列。
当特征X
在不同的尺度上,设置“标准化”
来真正的
.这样做是因为学习过程是基于最近邻的,所以大尺度特征可以覆盖小尺度特征的贡献。
例子:真正的
数据类型:逻辑
“则”
-初始嵌入点1 * randn的军医(N, NumDimensions)
(默认)|N
——- - - - - -NumDimensions
真实矩阵初始嵌入点,指定为N
——- - - - - -NumDimensions
真正的矩阵,N
行数是多少X
.这徐
优化算法使用这些点作为初始值。
数据类型:单
|双
'学习'
-优化过程的学习率500.
(默认)|正标量优化过程的学习率,指定为一个正标量。通常,设置值One hundred.
通过1000
.
什么时候学习
太小,徐
能收敛到一个可怜的局部最小值。什么时候学习
太大了,优化可以最初具有kullback-leibler发散增加而不是减少。看tsne设置.
例子:1000
数据类型:单
|双
“NumPrint”
-迭代显示频率20.
(默认)|正整数迭代显示频率,指定为一个正整数。当verb
名称 - 值对不是0.
那徐
每次后返回迭代显示Numprint.
迭代。如果是选项
名称-值对包含一个非空值“OutputFcn”
条目,然后输出函数在每一个之后运行Numprint.
迭代。
例子:20.
数据类型:单
|双
“选项”
-优化选项“麦克斯特”
那“OutputFcn”
,“TolFun”
'theta'
-Barnes-Hut Tressoff参数0.5
(默认)|从0到1的标量y
——嵌入式分N
——- - - - - -NumDimensions
矩阵嵌入点,作为一个返回N
——- - - - - -NumDimensions
矩阵。每一行代表一个嵌入点。N
是数据行数吗X
不包含任何南
条目。看绘图结果与NAN输入数据.
损失
- Kullback-Leibler分歧模型输入和输出分布之间的Kullback-Leibler发散,以非负标量返回。有关详细信息,请参阅T-SNE算法.
自定义距离函数的语法如下。
函数ZJ D2 = distfun(子)
徐
通过子
和ZJ
你的函数,你的函数计算距离。
子
是一个1-by-N中包含单行的向量X
或y
.
ZJ
是一个m——- - - - - -N包含多行的矩阵X
或y
.
您的功能返回D2
,这是一个m-by-1距离矢量。这jTh元素D2
是观测之间的距离吗子
和ZJ (j,:)
.
小费
如果你的数据不是稀疏的,那么内置的距离函数通常比函数句柄快。
徐
在一个低维空间中构造一组嵌入点,其相对相似性与原来的高维点相似。嵌入点在原始数据中表现出聚类特征。
粗略地说,该算法将原始点建模为来自高斯分布的点,并将嵌入点建模为来自学生的点T.分布。该算法试图通过移动嵌入点来最小化这两个分布之间的kullbeck - leibler散度。
有关详细信息,请参阅t-SNE.
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。