オートエンコーダーをクラスタリングにどのように使用できますか?


9

ラベルのない時間領域信号のセットがあるとします。それらを2つまたは3つのクラスにクラスター化したい。オートエンコーダーは、入力の圧縮を学習する監視なしネットワークです。したがって、入力、重みと、バイアスと、および出力を指定すると、次の関係が見つかります。x(i)W1W2b1b2x^(i)

z(i)=W1x(i)+b1
x^(i)=W2z(i)+b2

したがって、は圧縮形式であり、は後者の再構成です。ここまでは順調ですね。z(i)x(i)x^(i)

私が理解していないのは、これをクラスタリングに使用する方法です(それを行う方法がある場合)。たとえば、このペーパーの最初の図には、よくわからないブロック図があります。フィードフォワードネットワークへの入力としてを使用しますが、そのネットワークのトレーニング方法については言及されていません。私が無視しているものがあるのか​​、それとも論文が不完全なのかわかりません。また、最後のこのチュートリアルは、オートエンコーダーによって学習された重みを示しています。これらは、CNNが画像を分類するために学習するカーネルのようです。ですから...オートエンコーダの重みは、フィードフォワードネットワークで分類のためになんらかの方法で使用できると思いますが、その方法はわかりません。z(i)

私の疑問は:

  1. もし長さの時間領域信号である(すなわち、X ^ {(I)} \で\ mathbb {R} ^ {1 \回N} )、缶Z ^ {(I)}ベクトルだけでも?換言すれば、それはのための理にかなっている^ {(I)} Zことがマトリックスよりもその寸法が大きいのいずれかで1?そうではないと思いますが、確認したいだけです。x(i)Nx(i)R1×Nz(i)z(i)1
  2. これらの量のどれが分類器への入力になりますか?たとえば、信号を分類したいクラスと同じ数の出力ユニットを持つ従来のMLPを使用したい場合、この完全に接続されたネットワークの入力(z(i)x^(i)、他のもの)?
  3. このMLPで学習した重みとバイアスをどのように使用できますか?使用可能なラベル絶対にないと想定しているため、ネットワークをトレーニングすることは不可能です。学習したとは、完全に接続されたネットワークで何らかの形で役立つはずですが、それらの使用方法はわかりません。Wibi

観察:MLPは最も基本的なアーキテクチャであるため、例としてMLPを使用したことに注意してください。ただし、質問は、時間領域信号の分類に使用できる他のすべてのニューラルネットワークに適用されます。

回答:


11

ほとんどのポイントのペア間の距離が類似しているため、高次元でクラスタリングを行うことは困難です。オートエンコーダーを使用すると、低次元の空間で高次元のポイントを表すことができます。それ自体はクラスタリングを行いませんが、2次クラスタリングステップの前処理として役立ちます。各入力ベクトルを、より少ない次元数、たとえば2または3のベクトル(行列ではない...)にマップします。次に、すべての値に対して他のクラスタリングアルゴリズムを使用します。 xizizi

たぶん他の誰かが時系列にオートエンコーダーを使用することに抵抗するかもしれません。レイヤーの1つを1Dたたみ込みレイヤーにしたいと思うのですが、よくわかりません。

一部の人々は、分類のためのデータ前処理ステップとしてオートエンコーダーも使用しています。この場合、最初にオートエンコーダを使用してからへのマッピングを計算し、次にから部分を破棄して、からへのマッピングを最初のレイヤーとして使用します。MLP。xzzx^xz


最後のケースでは、データが完全にラベル付けされていない場合、MLPの他のレイヤーの重みはどのように学習されますか?または、そのアプローチ(つまり、自動エンコーダとMLPの組み合わせ)は、ラベルが利用可能な場合にのみ意味がありますか?
Tendero

はい、MLP(別名フィードフォワードニューラルネットワーク)は、データがラベル付けされている場合にのみ実際に使用されます。そうしないと、重みの更新に使用する情報がありません。オートエンコーダーは、元の入力を予測しようとしてラベルを必要としないため、ニューラルネットワークを使用する「トリック」の一種です。
トム

したがって、NNを使用してクラスタリングを行う唯一の方法は、あなたが言及した方法でしょう。つまり、オートエンコーダを使用してから、K-meansなどの標準のクラスタリングアルゴリズムを実行します。
Tendero

それが私が知っている唯一の方法です。他の誰かがアイデアを持っているなら、私はそれを聞いてうれしいです。ただし、K-means以外のアルゴリズムを試すこともできます。これは、特定のアルゴリズムにかなり厳密な仮定が関連付けられているためです(ただし、最初にb / cを試すのは速くて簡単です)。
トム

1

「オートエンコーダを使用してデータをクラスタリングする方法を教えてください」と尋ねる前に まず、「オートエンコーダーでデータをクラスター化できますか?」


オートエンコーダーは潜在スペースからデータポイントを再作成することを学習するため。オートエンコーダーが潜在空間を「連続的な方法」でマッピングすると想定する場合、同じクラスターからのデータポイントは一緒にマッピングする必要があります。したがって、ある方法で、エンコーダーは同様のポイントを「一緒に」グループ化し、それらを「一緒に」クラスター化します。オートエンコーダーが潜在空間での連続性のこの仮定を保持できないことが文献で見られました。

しかし、私たちの利益のために、変分オートエンコーダはこの方法で正確に動作します。変分エンコーダーは、連続性、完全性の2つの主要なプロパティで潜在空間マッピングを学習します。
  • 連続性プロパティは、潜在空間で互いに近い2つのポイントが、デコード時に2つの完全に異なる出力を出さないことを保証します。
  • 完全性プロパティは、サンプリング時に潜在空間からのポイントがデコードされたときに意味のある出力を提供することを保証します。

したがって、オートエンコーダエンコーディング自体を使用することで、十分な場合もあります。ただし、クラスタリングを明示的に即興/学習する作業が行われています。Xieらによって提案されたアルゴリズム。(2016)2は例であり、「現在のソフトクラスター割り当てから派生した補助ターゲット分布を使用してクラスターを反復的に調整します」。

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