このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
t分布型確率的近傍埋め込み
フィッシャーのアヤメのデータセットには,アヤメの4次元測定値および対応する種への分類が格納されています。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),物种)标题(“欧几里得”)
この場合,コサイン,チェビシェフおよびユークリッド距離計量でクラスターが適切に分離されています。しかし,マハラノビス距離計量では適切に分離されません。
南
入力データと結果のプロットtsne
は,南
エントリが含まれている入力データ行を削除します。したがって,プロットを行う前に,このような行を分類データから削除しなければなりません。
たとえば,フィッシャーのアヤメのデータでいくつかのランダムなエントリを南
に変更します。
负载fisheririsrng默认的%的再现性meas(rand(size(meas)) < 0.05) = NaN;
tsne
を使用して4次元データを2次元に埋め込みます。
Y = tsne(量,“算法”,“准确”);
警告:在X或'InitialY'值中NaN缺失值的行将被删除。
埋め込みから除去された行数を調べます。
长度(物种)长度(Y)
ans = 22
南
値が含まれていない量
の行を特定することにより,結果のプロットを準備します。
goodrows =没有(任何(isnan(量),2));
南
値が含まれていない量
の行に対応する物种
の行のみを使用して,結果をプロットします。
gscatter (Y (: 1), Y(:, 2),物种(goodrows))
フィッシャーのアヤメのデータについて2次元と3次元の両方の埋め込みを求め,各埋め込みの損失を比較します。3次元の埋め込みの方が,元のデータに一致する自由度が大きいので,損失が小さくなると考えられます。
负载fisheririsrng默认的%的再现性(Y,亏损)= tsne(量,“算法”,“准确”);rng默认的为了公平比较(Y2, loss2) = tsne(量,“算法”,“准确”,“NumDimensions”3);流('2-D嵌入损失%g, 3-D嵌入损失%g.\n'、损失、loss2)
二维嵌入损失0.124191,三维嵌入损失0.0990884。
予想どおり3次元の埋め込みの方が損失が小さくなっています。
埋め込みを表示します。RGBカラー(1 0 0)
、(0 1 0)
および(0 0 1)
を使用します。
3次元プロットに分类
コマンドを使用して種を数値に変換してから,次のように関数稀疏的
を使用して数値を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
行米
列の行列データ点。n
行米
列の行列を指定します。各行は1つの米
次元の点です。
tsne
は,埋め込みを作成する前に,南
値が含まれている行をX
から削除します。南入力データと結果のプロットを参照してください。
データ型:单
|双
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
Y = tsne (X,“算法”,“准确”,“NumPCAComponents”,50)
算法
- - - - - -tsne
アルゴリズム“barneshut”
(既定値) |“准确”
tsne
アルゴリズム。“barneshut”
または“准确”
を指定します。“准确”
アルゴリズムは,元の空間と埋め込まれた空間の間の分布のカルバック・ライブラーダイバージェンスを最適化します。“barneshut”
アルゴリズムは,データの行数が多い場合に近似最適化をより高速に実行し,メモリ使用量を削減します。
メモ
“barneshut”
アルゴリズムの場合,tsne
はknnsearch
を使用して最近傍を求めます。
例:“准确”
距离
- - - - - -距離計量“欧几里得”
(既定値) |“seuclidean”
|“cityblock”
|“chebychev”
|闵可夫斯基的
|“mahalanobis”
|的余弦
|“相关”
|“枪兵”
|“汉明”
|“jaccard”
|関数ハンドル距離計量。次のいずれかを指定します。距離計量の定義については,pdist
を参照してください。
“欧几里得”
——ユークリッド距離。
“seuclidean”
——標準化されたユークリッド距離。X
の行とクエリ行列の行の間の各座標差は,S =性病(X, omitnan)
から算出される標準偏差の対応する要素で除算することによりスケーリングされます。
“cityblock”
——市街地距離。
“chebychev”
——チェビシェフ距離。これは最大座標差です。
闵可夫斯基的
——指数2のミンコフスキー距離。これはユークリッド距離と同じです。
“mahalanobis”
——正定値共分散行列X (X, omitrows)
を使用して計算されたマハラノビス距離。
的余弦
- 1から,ベクトルとして扱われる観測間の夾角の余弦を引きます。
“相关”
- 1から,一連の値として扱われる観測間の標本線形相関係数を引きます。
“枪兵”
- 1から,一連の値として扱われる観測間の標本スピアマン順位相関係数を引きます。
“汉明”
——ハミング距離。異なる座標の比率です。
“jaccard”
- 1からジャカード係数(異なる非ゼロ座標の比率)を引きます。
カスタム距離関数-@
を使用して指定された距離関数(@distfun
など)。詳細は,詳細を参照してください。
どの場合も,tsne
はペアワイズ距離の二乗を使用してX
の同時分布におけるガウスカーネルを計算します。
例:“mahalanobis”
NumDimensions
- - - - - -出力Y
の次元2
(既定値) |正の整数NumPCAComponents
- - - - - -PCAの次元削減0
(既定値) |非負の整数PCAの次元削減。非負の整数を指定します。tsne
は,高次元データを埋め込む前に,関数主成分分析
を使用してデータの次元をNumPCAComponents
に削減します。NumPCAComponents
が0
の場合,tsne
はPCAを使用しません。
例:50
データ型:单
|双
困惑
- - - - - -各点の局所的近傍の有効数30.
(既定値) |正のスカラー各点の局所的近傍の有効数。正のスカラーを指定します。t-SNEアルゴリズムを参照してください。
パープレキシティが大きくなると,tsne
はより多くの点を最近傍として使用します。データセットが大きい場合は,困惑
の値を大きくします。一般的な困惑
の値の範囲は,5
~50
です。Barnes-Hutアルゴリズムでは,tsne
は最近傍の個数として分钟(3 *困惑,n - 1)
を使用します。tsneの設定を参照してください。
例:10
データ型:单
|双
标准化
- - - - - -入力データの正規化假
(既定値) |真正的
入力データの正規化。假
または真正的
を指定します。真正的
の場合,tsne
は標準偏差で列を除算することによりX
のセンタリングとスケーリングを行います。
スケールが異なる特徴量がX
に含まれている場合は,“标准化”
を真正的
に設定します。これは,学習プロセスは最近傍を基本とすることから,スケールの大きい特徴量がスケールの小さい特徴量の寄与を無効化する可能性があるためです。
例:真正的
データ型:逻辑
克尔
- - - - - -初期の埋め込み点1 * randn的军医(N, NumDimensions)
(既定値) |n
行NumDimensions
列の実数行列初期の埋め込み点。n
行NumDimensions
列の実数行列を指定します。n
はX
の行数です。tsne
の最適化アルゴリズムでは,これらの点を初期値として使用します。
データ型:单
|双
LearnRate
- - - - - -最適化プロセスの学習率500
(既定値) |正のスカラー最適化プロセスの学習率。正のスカラーを指定します。通常は、One hundred.
~1000
の値を設定します。
LearnRate
が小さすぎる場合,適切ではない局所的最小値にtsne
が収束する可能性があります。LearnRate
が大きすぎる場合,最適化の初期段階でカルバック・ライブラーダイバージェンスが減少するのではなく増加する可能性があります。tsneの設定を参照してください。
例:1000
データ型:单
|双
NumPrint
- - - - - -反復表示の頻度20.
(既定値) |正の整数反復表示の頻度。正の整数を指定します。名前と値のペア详细的
が0
ではない場合,tsne
は反復がNumPrint
回行われるたびに反復表示を返します。名前と値のペア选项
に空ではない“OutputFcn”
エントリが含まれている場合,反復がNumPrint
回行われるたびに出力関数が実行されます。
例:20.
データ型:单
|双
选项
- - - - - -最適化オプション“麦克斯特”
、“OutputFcn”
および“TolFun”
というフィールドが含まれている構造体最適化オプション。“麦克斯特”
、“OutputFcn”
および“TolFun”
というフィールドが含まれている構造体を指定します。statset
または结构体
を使用して,“选项”
を作成します。
“麦克斯特”
——最適化反復の最大回数を指定する正の整数。既定の設定:1000
。
“OutputFcn”
- - - - - -NumPrint
回の最適化反復ごとに呼び出す関数を1つ以上指定する関数ハンドルまたはその细胞配列。構文の詳細は,t-SNEの出力関数を参照してください。既定の設定:[]
。
“TolFun”
——最適化の停止条件。カルバック・ライブラーダイバージェンスの勾配のノルムが“TolFun”
より小さくなると,最適化が終了します。既定の設定:1平台以及
。
例:选择= statset(麦克斯特,500)
データ型:结构体
θ
- - - - - -Barnes-Hutのトレードオフパラメーター0.5
(既定値) |0 ~ 1のスカラーBarnes-Hutのトレードオフパラメーター。0 ~ 1のスカラーを指定します。値を大きくすると最適化が高速になりますが,精度は低下します。算法
が“barneshut”
の場合のみ適用されます。
例:0.1
データ型:单
|双
Y
——埋め込み点n
行NumDimensions
列の行列埋め込み点。n
行NumDimensions
列の行列として返されます。各行は1つの埋め込み点を表します。n
は,データX
の南
エントリが含まれていない行の数です。南入力データと結果のプロットを参照してください。
损失
——カルバック・ライブラーダイバージェンスモデル化された入力分布と出力分布の間のカルバック・ライブラーダイバージェンス。非負のスカラーとして返されます。詳細は,t-SNEアルゴリズムを参照してください。
カスタム距離関数の構文は次のとおりです。
函数ZJ D2 = distfun(子)
tsne
は子
とZJ
をカスタム関数に渡し,カスタム関数が距離を計算します。
子
は,X
またはY
の1行が含まれている1行n列のベクトルです。
ZJ
は複数行のX
またはY
を含むm行n列の行列です。
カスタム関数では,m行1列の距離のベクトルD2
を返します。D2
のj番目の要素は,観測値子
およびZJ (j,:)
の間の距離です。
ヒント
データがスパースではない場合,組み込みの距離関数の方が関数ハンドルより高速です。
tsne
は,相対的な類似度が元の高次元点の類似度に似ている一連の埋め込み点を低次元空間内に構築します。埋め込み点は,元のデータのクラスタリングを示します。
大まかに説明すると,このアルゴリズムは,元の点がガウス分布に由来し,埋め込み点がスチューデントのt分布に由来するとしてそれぞれをモデル化します。そして,埋め込み点を移動することにより,これらの2つの分布の間におけるカルバック・ライブラーダイバージェンスを最小化しようとします。
詳細は,t-SNEを参照してください。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。