Rにt-SNEを実装すると、デフォルトで重複が削除されるのはなぜですか?


7

具体的には、Rtsneパッケージのt-SNEのR実装には「check_duplicates」引数があり、ドキュメントでは、「特に重複がないことを確認し、このオプションをFALSEに設定することをお勧めします(特に大規模なデータセットの場合)」。

さらに、重複しているRのデータセットでt-SNEを実行しようとすると、「[ユーザーがコマンドを削除したときにエラーが発生しました]:TSNEを実行する前に重複を削除してください」というエラーメッセージが表示されます。

では、なぜこの動作が発生するのでしょうか?複数のサンプルが偶然同じ測定値を持っているデータセットがあります。

それは単に「削減後の重複したデータポイントはとにかく同じデータポイントを持つので、処理能力を無駄にしないでください」ですか?重複の存在はプロセスの計算に影響しますか?

回答:


2

このアルゴリズムは、重複する情報のないデータセットを処理するように設計されているため、パッケージは、手法を適用する前にチェックを行います。重複を削除check_duplicates = FALSEし、パフォーマンス向上のために設定することをお勧めします。

Rでの実装は次のとおりです。

if (check_duplicates & !is_distance){
if (any(duplicated(X))) { stop("Remove duplicates before running TSNE.")}

デフォルト値check_duplicates = TRUEis_distance = FALSE

方法についてもっと理解したい人のための論文がここにあります


7
あなたの答えは基本的に質問を言い換えます。重複したデータポイントを削除する必要がある理由は回答していません。
Daniel Falbel 2016年

最初の文は正しくありません。この方法は、時間領域の重複がないように設計されていません。Rtsneパッケージは、主に時間領域で重複をチェックします。--また、tsneパッケージはそのようなチェックを行いませんRtsne。--設定check_duplicates=FALSEは性能向上のためではありません。それは主要な議論ではありません。--多くの実装には、距離行列のチェックなどの実験的な機能がいくつかあります。これは、デフォルトでオフになっています。繰り返しますが、あなたは質問に答えていません。--あなたの参照は質問に関連していません。
レオ・レオポルド・ヘルツ준 영

2

t-SNEメソッドは、重複の削除を必要としません。がデフォルトの機能であることは、Rtsneその要件を意味するものではありません。いくつかの短期的なイベント監視に役立ちます。ビッグデータセットを使用して長期的な傾向やパターンを特徴付けるために、ほとんど役に立たないようです。Rtsneデフォルトの設定は、より多くのフーリエドメイン内の任意の研究せずに、時間領域でのイベントを特徴づけるために傾斜させることができます。

時間領域にポイントがあると仮定します。重複チェックは主に時間領域信号に基づいて設計されているため、重複アルゴリズムは大量の誤検知を引き起こします。フーリエ空間は、アルゴリズムの複製によって考慮されるこれらのイベントが不要であることを示すことができます。

したがって、私の観察では、アルゴリズムは時間領域の重複ポイントについて貪欲です。これは、長期的な信号、長期的なトレンド、および長期的なパターンを検討する場合、私には役立ちません。ポイントが時間領域で重複しているという事実は、実際にはフーリエ領域でも重複していることを意味しません。現実のアプリケーションの時間領域で重複している場合、それは偶然でしょう。したがって、機能をオフにしても問題ありません。両方のドメインで実際に重複しているポイントの量を推定することは、ケーススタディによって異なります。多くの実際のアプリケーションで重複チェックを行わずに長期データセットを検討することで、イベントや現象の記述子が大幅に改善されます。

Rtsneドキュメントは、[オフにしcheck_duplicatesて]処理能力を無駄にしないでくださいと言った場合については明確ではないと思います。上記のようcheck_duplicatesに、メソッドの他のいくつかの実装でも実現できるようにオフにすることができる理由は、他にもあります。check_duplicates=TRUE個人的な選択であるRtsne現時点では、デフォルトでは、開発者。決定の実装理由があるかどうか聞いてみたいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.