主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

t-SNE

t-SNEとは

t-SNE (tsne)は,高次元デ,タの可視化に適している次元削減アルゴリズムです。名前はt-distributed随机邻居嵌入(t分布型確率的近傍埋め込み)を表します。考え方は,点の間の類似度が反映されるように高次元の点を低次元に埋め込む,というものです。高次元空間の近接点は低次元に埋め込まれた近接点に対応し,高次元空間の遠隔点は低次元に埋め込まれた遠隔点に対応します(一般に,高次元空間と低次元空間で正確に距離を一致させることは不可能です)。

関数tsneは,高次元デ,タから低次元の点の集合を作成します。通常は,低次元の点を可視化して,元の高次元デ,タにおける自然なクラスタ,を調べます。

このアルゴリズムでは,以下の一般的なステップを使用してデ,タを低次元に埋め込みます。

  1. 高次元の点の間のペアワ@ @ズ距離を計算する。

  2. 高次元の各点の“パ,プレキシティ”が所定のレベルになるように,各点Iにいて標準偏差σを作成する。パプレキシティの定義にいては,距離,ガウス分散および類似度の計算を参照してください。

  3. "類似度行列"を計算する。これは,式 1によって定義されるxの結合確率分布です。

  4. 低次元の点の初期集合を作成する。

  5. 高次元空間のガウス分布と低次元空間のt分布の間のカルバック・ライブラーダイバージェンスが最小になるように,低次元の点を繰り返し更新する。この最適化手順は,このアルゴリズムで最も時間がかかる部分です。

van der Maaten和Hinton[1]を参照してください。

t-SNEアルゴリズム

基本的なt-SNEアルゴリズムでは,以下のステップを実行します。

デ,タの準備

はじめにtsneは,値が含まれている行を入力デタxから削除します。そして,名前と値のペア标准化真正的の場合,tsneは各列の平均を減算することによりXをセンタリングし,列を標準偏差で除算することによりXをスケーリングします。

原著者のvan der MaatenとHinton[1]は,主成分分析(pca)を使用して元のデ,タxを低次元デ,タに縮小することを推奨しています。tsneの名前と値のペアNumPCAComponentsは,50など任意の次元数に設定できます。このステップをより細かく制御するには,関数主成分分析を使用してデ,タを前処理します。

距離,ガウス分散および類似度の計算

前処理の後で,tsneはX内の点Xおよびxjの各ペア間の距離d (x, xjを計算します。名前と値のペア距离を使用して,さまざまな距離計量を選択できます。既定では,tsneは標準のユ,クリッド尺度を使用します。tsneは,以後の計算で距離計量の2乗を使用します。

次に,tsneはXの各行iにいて,行iの“パ,プレキシティ”が名前と値のペア困惑と等しくなるように標準偏差σを計算します。パ,プレキシティは,モデルガウス分布に関して次のように定義されます。van der MaatenとHinton[1]が説明しているように,”デ,タ点xに対するデタ点x .jの類似度は,xでガウス分布がセンタリングされた状態で確率密度に比例して近傍が選択された場合にxがxjを近傍として選択する条件付き確率 p j | である。近接するデ,タ点どうしの場合 p j | は比較的大きく,遠く離れたデ,タ点どうしの場合 p j | は(妥当な値のガウス分布の分散σに対して)ほぼ無限小になる”。

与えられた我に対するjの条件付き確率を次のように定義します。

p j | 经验值 d x x j 2 / 2 σ 2 k 经验值 d x x k 2 / 2 σ 2 p | 0.

次に,条件付き確率を対称化することにより結合確率pijを定義します。

p j p j | + p | j 2 N (1)

ここで,nはxの行数です。

この分布では,まだ名前と値のペア困惑に関して標準偏差σが定義されていません。デタ点x .が与えられた場合の他のすべてのデ,タ点における条件付き確率分布をで表すとします。この分布のパ,プレキシティは次のようになります。

困惑 P 2 H P

ここで,h (p)はpのシャノンエントロピ,です。

H P j p j | 日志 2 p j |

パ,プレキシティは,点Iの有効な近傍の個数の尺度です。tsneは,各点Iの複雑さを決定するため,σに対する二分探索を実行します。

埋め込みと発散の初期化

X内の点を低次元空間に埋め込むため,tsneは最適化を実行します。tsneはX内の点のモデルガウス分布と低次元空間における点Yのスチューデントのt分布の間のカルバック・ライブラーダイバージェンスを最小化しようとします。

最小化手順は,点yの初期集合で始まります。既定では,tsneはランダムなガウス分布の点として点を作成します。これらの点を作成してtsneの名前と値のペア“则”に含めることもできます。この場合,tsneはy内の点の各ペア間の類似度を計算します。

点yと点yjの距離の分布の確率モデルqijは次のようになります。

j 1 + y y j 2 1 k l k 1 + y k y l 2 1 0.

この定義と式 1で与えられるX内の距離のモデルを使用すると,同時分布Pおよび问の間のカルバック・ライブラーダイバージェンスは次のようになります。

K l P | | j j p j 日志 p j j

この定義の結果にいては,有用な非線形変形を参照してください。

カルバック·ラ

カルバック·ラ“准确”アルゴリズムでは修正された勾配降下手順を使用します。発散のy内の点に関する勾配は次のようになります。

K l P | | y 4 j Z p j j j y y j

ここで,正規化項は次のとおりです。

Z k l k 1 + y k y l 2 1

変更された勾配降下アルゴリズムでは,いくつかの調整パラメーターを使用して,適切な局所的最小値を求めようとします。

  • “夸张”-勾配降下の最初の99ステップで,tsne式 1の確率pijと強調値を乗算します。このステップは,出力y内のクラスタ,間に,より多くの空間を作成する傾向があります。

  • “LearnRate”- - - - - -tsneは,勾配降下反復の収束を改善するために適応学習を使用します。降下アルゴリズムには,降下の前回のステップと現在の勾配の線形結合である反復ステップがあります。“LearnRate”は,線形結合に対する現在の勾配の乗数です。詳細にいては,Jacobs[3]を参照してください。

t-SNEのBarnes-Hutバリエ,ション

t-SNEアルゴリズムを高速化しメモリ使用量を削減するため,tsneには近似最適化法があります。Barnes-Hutアルゴリズムでは,近接点をグループ化して,t-SNE最適化ステップの複雑さとメモリ使用量を削減します。Barnes-Hutアルゴリズムは,厳密なオプティマザではなく近似オプティマザです。速度と精度のトレドオフに影響を与える非負の調整パラメタθがあります。“θ”の値が大きくなると最適化が高速になりますが,結果の精度は低下します。このアルゴリズムは,範囲(0.2,0.8)では“θ”の値の影響をあまり受けません。

Barnes-Hutアルゴリズムでは,低次元空間で近接点をグループ化し,これらのグループに基づいて近似勾配降下を実行します。考え方は,元々は天体物理学で使用されていたもので,近接点どうしでは勾配が似ているので計算を単純化できる,というものです。

范德马腾[2]を参照してください。

t-SNEの特徴

埋め込みを使用して新しいデ,タを分類することはできない

多くの場合にt-SNEはデータクラスターを十分に分離するので,t-SNEは新しいデータ点を分類できるように思われます。しかし,t-SNEは新しいデ,タ点を分類できません。t-SNEの埋め込みは、データに依存する非線形写像です。低次元空間で新しい点を埋め込むために前の埋め込みを写像として使用することはできません。代わりに、アルゴリズム全体を再度実行します。

パフォマンスがデタサズとアルゴリズムに依存

t-SNEでは,デ,タを処理するために多くの時間がかかる可能性があります。D次元にあるn個のデ,タ点をy次元に写像する場合,

  • 厳密なt-SNEでは,D * N2回のオ,ダ,の演算を行います。

  • Barnes-Hut t-SNEでは,D * Nlog (N) * exp(维度(Y))回のオ,ダ,の演算を行います。

1000年したがってNがを超えるような大規模なデータセットで埋め込み次元Yが2または3である場合,Barnes-Hutアルゴリズムは厳密なアルゴリズムより高速になる可能性があります。

有用な非線形変形

t-SNEでは,変形された低次元の類似物に高次元の距離を写像します。次の図に示されているように,低次元空間におけるスチュ,デントのt分布の方が裾が広いので,多くの場合tsneは,高次元と比較して近くにある点をより近くに,遠くにある点をより遠くに移動します。この図には,密度が0.25および0.025になる点におけるガウス分布とスチュ,デントのt分布の両方が示されています。ガウス密度は高次元の距離に,t密度は低次元の距離に関連します。t密度は,ガウス密度と比較して近くにある点がより近くに,遠くにある点がより遠くになることに相当します。

T = linspace(0,5);Y1 = normpdf(t,0,1);Y2 = tpdf(t,1);情节(t, y1,“k”t y2,“r”)举行X1 = f0 (@(x)normpdf(x,0,1)-0.25,[0,2]);X2 = f0 (@(x)tpdf(x,1)-0.25,[0,2]);Z1 = f0 (@(x)normpdf(x,0,1)-0.025,[0,5]);Z2 = f0 (@(x)tpdf(x,1)-0.025,[0,5]);情节([0 x1], [0.25, 0.25],“k -”。)情节([0,z2]、[0.025,0.025],“k -”。)情节(x1, x1, [0, 0.25],“g -”(x2, x2), [0, 0.25],“g -”)图((z1, z1), [0, 0.025],“g -”, (z2, z2], [0, 0.025],“g -”)文本(1.1,二十五分,low-D中接近点更近)文本(2.4、0。"在low-D中,远点更远")传说(“高斯(0,1)”Student t (df = 1))包含(“x”) ylabel (“密度”)标题('高斯(0,1)和学生t (df = 1)的密度')举行

图中包含一个轴。标题为Density of Gaussian(0,1)和Student t (df = 1)的轴包含10个类型为line, text的对象。这些对象表示高斯(0,1),学生t (df = 1)。

この変形は,当てはまる場合は有用です。ガウス分散が大きい(ガウス分布のピークが小さくなり分布が平らになる)場合などでは,これは当てはまりません。このような場合,tsneは近くにある点を元の空間より遠くに移動する可能性があります。有用な変形を実現するには,

  • 名前と値のペア“详细”2に設定する。

  • 報告される分散の範囲が1より大きく離れず,平均分散が約1になるように,名前と値のペア“困惑”を調整する。

この範囲の分散を実現できる場合,図が当てはまり,tsneの変形が有用になります。

効果的にtsneを調整する方法にいては,Wattenberg, Viegas和Johnson[4]を参照してください。

参照

[1] van der Maaten, laurence和Geoffrey Hinton。可视化数据使用t新力。”[j] .机器学习研究,2008,第9期。

[2] van der Maaten, laurence。Barnes-Hut-SNE。arXiv: 1301.3342 (cs。LG), 2013年。

[3]雅各布斯,罗伯特A。“通过学习率适应提高了收敛速度。”神经网络1.4,1988,pp. 295-307。

[4] Wattenberg, Martin, Fernanda Viégas和Ian Johnson。《如何有效使用t-SNE》蒸馏,2016年。可以在如何有效使用t-SNE

関連する例

詳細