教師なし学習のための最も強力な戦略

教師なし学習のための最も強力な戦略

[[279087]]

MLKはMachine Learning Knowledgeの略で、機械学習の重要な知識を整理して今後の復習に役立てることを目的としたコラムです。内容は主に書籍『機械学習百面相』から引用し、私自身の経験や考えを元に要約・誘導したものです。この講義の主な内容は、機械学習における教師なし学習の古典的な原理とアルゴリズムです。教師なしとは、ターゲット(ラベル)のないアルゴリズム モデルを意味します。

索引

  • K平均法クラスタリングアルゴリズム
  • ガウス混合モデル
  • 自己組織化マップニューラルネットワーク
  • クラスタリングアルゴリズムの評価指標
  • 一般的なクラスタリングアルゴリズムの比較
  • 一般的なクラスタリングアルゴリズムのPython実装

機械学習には、モデルにターゲットがないという問題があります。大量の特徴データが機械に入力され、機械がそれらの共通点、構造、または関連性を学習できることが期待されます。教師あり学習のように、特定の予測値を出力する必要はありません。

K平均法クラスタリングアルゴリズム

K-Mean の基本的な考え方は、クラスタリング結果に対応するコスト関数が最小になるように、K 個のクラスターの分割スキームを反復的に見つけることです。一般的に、K-Mean のコスト関数は、各サンプルが属するクラスターの中心点からの二乗誤差の合計であり、式は次のとおりです。

ここで、Xi は i 番目のサンプル、Ci は Xi が属するクラスター、μci はクラスターに対応する中心点、M はサンプルの総数を表します。

まず、K-Mean アルゴリズムの具体的な手順を見てみましょう。

1) 正規化や外れ値処理などのデータ前処理。

2) K 個のクラスターをランダムに選択します (K は手動で設定します)。

3) コスト関数を定義する:

4) CF が収束するまで、次の手順を繰り返します。

  • 各サンプルXiを、最も近い距離を持つクラスターに割り当てます。

  • 各クラスターについて、クラスターの中心を再計算します。

K平均法の利点

1) 大規模なデータセットの場合、アルゴリズムは比較的効率的で、計算複雑度は O(NKt) です。ここで、N はサンプル数、K はクラスター数、t は反復回数です。

2) 一般的に言えば、クラスタリングのニーズを満たすことができます。

K平均法の欠点

1) K 値は手動で決定する必要があり、ビッグデータの K 値の手動予測はあまり正確でない場合があります。

2) K-Meanは局所最適性になりやすいため、効果は初期値によって大きく左右されます。

3) 外れ値やノイズの影響を受けやすい。

K平均法のチューニングアイデア

1) データの正規化と外れ値の処理。

K-Mean は本質的にユークリッド距離測定に基づくデータクラスタリング手法であるため、少数の極端な値がクラスタリング効果に影響を与え、異なる次元のデータも異なる影響を与えるため、前処理が必要です。

2) K値を適切に選択します。

K 値は即座に計算することはできず、科学的な方法を使用して決定する必要があります。一般的には、エルボー法などの複数のテスト結果を通じて判定できます。

このうち、横軸はKの値、縦軸は二乗誤差の合計で定義される損失関数です。

K 値が大きいほど、距離と値が小さくなることがわかります。K = 3 の場合、曲線に「変曲点」があるため、通常はこの点を K 値として選択します。

また、GS(ギャップ統計)法についてもここで紹介しますので、以下を参照してください。

https://blog.csdn.net/baidu_1...

3) カーネル関数を使用する。

従来のユークリッド距離測定法では、K-Mean アルゴリズムは基本的に各クラスターのデータが同じ事前確率を持ち、球状または高次元球状分布を示すと想定します。ただし、この分布は実際には一般的ではありません。今回は、主に非凸データ分布を扱うカーネル K-Mean アルゴリズムを紹介します。

このタイプのカーネル クラスタリング メソッドは、主に、非線形マッピングを通じて入力コントロールのデータ ポイントを高次の特徴空間にマッピングし、新しい特徴空間でクラスタリングします。非線形マッピングにより、データ ポイントが線形に分離できる確率が高まり、より正確なクラスタリング結果が得られます。

2つのアルゴリズムについて話しましょう

1) K-Mean++アルゴリズム

名前からわかるように、これは K-Mean の改良版であり、主な改良点は初期値の選択にあります。オリジナルの K-Mean アルゴリズムは初期値をランダムに選択しますが、K-Mean++ アルゴリズムは次のようになります。

  • 最初のクラスター中心もランダムです。
  • 次のクラスター センター、つまり 2 番目のクラスター センターは、現在のクラスター センターから可能な限り離れています。
  • 上記の考え方に従って、k 個の初期クラスター中心が選択されます。
  • 初期値を選択した後のプロセスは K-Mean と同じです。

2) ISODATAアルゴリズム

K の値が不明な場合は、反復自己組織化データ分析という正式名称を持つ ISODATA アルゴリズムを使用できます。 ISODATA アルゴリズムは、K-Mean アルゴリズムに基づいて 2 つの操作を追加します。

  • 分割操作はクラスター中心の数を増やすことに相当する。
  • マージ操作は、クラスター センターの数を減らすことに相当します。

ISODATA のアプリケーションも比較的複雑で、より多くのパラメータを入力する必要があります。

  • 予想されるクラスター中心データ K0: クラスター中心の数は ISODATA 操作中に自動的に変更される可能性があり、ここでの K0 は単なる参照値です。
  • 各クラスに必要な最小サンプル数 Nmin: 分割後のサブクラス内のサンプル数がしきい値より少ない場合、分割操作は拒否されます。
  • 最大分散シグマ: 特定のカテゴリ内のサンプルの分散を制御するために使用されます。サンプルの分散が特定のしきい値を超え、分割後の最初の要件が満たされると、分割操作が実行されます。
  • 2 つのクラスター センター間で許可される最小距離 Dmin: 2 つのクラスターが非常に近い場合は、結合されます。

ガウス混合モデル

ガウスモデルはガウス分布に対応しており、通常は正規分布と呼ばれます。ガウス混合モデル (GMM) もクラスタリング アルゴリズムであり、K-Mean アルゴリズムに似ており、反復計算に EM アルゴリズムを使用します。ガウス混合モデルでは、各クラスターのデータが正規分布に準拠し、現在のデータによって示される分布が各正規分布の混合結果であると想定されます。

ガウス混合モデルの核となる考え方は、各サブモデルが標準的なガウス分布モデルであり、その平均と分散が推定されるパラメータであり、重み(またはデータを生成する確率)として理解できるパラメータπもあり、その式は次のようになるというものです。

これは生成モデルであり、EM アルゴリズム フレームワークを通じて解決されます。具体的な反復プロセスは次のとおりです。

まず、各パラメータの値がランダムに選択され(平均、分散、重みの合計 3 つのパラメータ)、次に収束するまで次の 2 つのステップが繰り返されます。

1) ステップ E: 現在のパラメータに基づいて、各ポイントが特定のサブモデルによって生成される確率を計算します。

2) M ステップ: E ステップで推定された確率を使用して、各サブモデルの平均、分散、重みを改善します。

ガウス混合モデルと K-Mean アルゴリズムの類似点:

1) これらはすべてクラスタリングのためのアルゴリズムであり、どちらも K 値を指定する必要があります。

2) すべてEMアルゴリズムを使用して解決されます。

3) 多くの場合、局所最適値が得られます。

K-Mean アルゴリズムに対する利点は、確率密度を推定し、新しいサンプル ポイントを生成するためにも使用できることです。

生成モデル: 結合分布確率 p(x,y) をモデル化します。一般的な生成モデル

モデルには、隠れマルコフモデル HMM、ナイーブベイズモデル、ガウス混合モデル GMM、LDA が含まれます。

待って。

識別モデル: 条件付き確率 p(y|x) を直接モデル化します。

モデルには、線形回帰、決定木、サポートベクターマシン (SVM)、k 近傍法、ニューラルネットワークなどが含まれます。

自己組織化マップニューラルネットワーク

自己組織化マップ(SOM)ニューラルネットワークは、教師なし学習法における重要な手法です。クラスタリング、高次元可視化、データ圧縮、特徴抽出などに使用できます。提案者がTeuvo Kohonen教授であるため、Kohonenネットワークとも呼ばれています。

SOM について話す前に、まずいくつかの生物学的研究を紹介しましょう。

1) 人間の脳の知覚経路では、ニューロン組織が整然と配列されています。

2) 外界からの特定の情報に応じて大脳皮質の特定の領域が興奮します。

3) 生物の神経系には側方抑制現象があり、神経細胞が興奮すると、周囲の他の神経細胞を抑制します。この抑制により神経細胞間に競争が生じ、勝ち負けが生じ、勝ち組の細胞は興奮し、負け組の細胞は抑制されるという形で現れます。

私たちの SOM は、上記の生物学的神経系機能の人工ニューラル ネットワーク モデルです。

SOM は本質的に、入力層と出力層で構成される 2 層のニューラル ネットワークです。入力層は外部からの入力情報の知覚をシミュレートし、出力層はそれに反応する大脳皮質をシミュレートします。

1) 出力層では、ニューロンの数はクラスターの数です。

2) トレーニング中に「競合学習」方式が使用されます。入力サンプルごとに、それに最も一致するノードが出力層で見つかります。このノードは「勝利ニューロン」と呼ばれます。

3) 次に、アクティブ化されたノードのパラメータを確率的勾配降下法を使用して更新し、アクティブ化されたノードの近くのノードを適切に更新します(更新の「強度」は距離に応じて選択されます)。

4) 上記の「競争学習」は、ニューロン間の側方抑制接続(負のフィードバック経路)を通じて達成できます。

一般的に、SOM モデルには 1 次元と 2 次元の 2 つの一般的なネットワーク構造があります。

SOM の自己組織化学習プロセスは、次のサブプロセスに要約できます。

1) 初期化: すべての接続重みは小さなランダム値で初期化されます。

2) 競争: ニューロンは各入力パターンに対して独自の判別関数値を計算し、判別関数値が最小の特定のニューロンを勝者として宣言します。各ニューロン j の判別関数は次のとおりです。

3) 協力: 勝利したニューロンは、興奮したニューロンの位相近傍の空間位置を決定し、アクティブ化されたノードを決定した後、隣接するノードを更新します。

4) 適応: 関連する興奮性ニューロンの接続重みを適切に調整して、同様の入力パターンのその後の適用に対する勝利ニューロンの応答が強化されるようにします。

5) 特徴マップが安定するまで手順 2 ~ 4 を繰り返します。

最後の反復の後、各サンプルによってアクティブ化されたニューロンは、対応するカテゴリになります。

SOM と K-Mean アルゴリズムの違い:

1) K-Mean アルゴリズムでは K 値を事前に決定する必要がありますが、SOM は必要ありません。

2) K-Mean アルゴリズムは、各入力データに対して最も類似したクラスを見つけ、このクラスのパラメータのみを更新します。一方、SOM は隣接するノードを更新します。そのため、K-Mean アルゴリズムはノイズの影響を受けやすく、SOM の精度は低くなる可能性があります。

3) SOM は優れた視覚化とエレガントな位相関係図を備えています。

パラメータをトレーニングする方法

1) 出力層のニューロン数を設定します。わからない場合は、できるだけ多くのノードを設定できます。

2) 出力ノードの配置を設計する: さまざまな問題に対して、事前にパターンを選択します。

3) 重みを初期化します。

4) トポロジカル近傍の設計: トポロジカル近傍の設計原則は、近傍を連続的に縮小し、出力平面上の隣接ニューロンに対応する重みベクトルが異なり、かつ非常に類似するようにすることです。これにより、勝利ノードが特定のタイプのパターンに対して最大の応答を生成すると、その隣接ノードも大きな応答を生成することが保証されます。

5) 学習率の設計: 学習率は減少関数であり、位相近傍と組み合わせて考慮することができます。トレーニングの開始時に、より大きな値を選択して、値がより速く低下し、その後ゆっくりと減少するようにすることができます。

クラスタリングアルゴリズムの評価指標

クラスタリング アルゴリズムには、教師あり学習のようなターゲットがありません。 ほとんどがターゲットなしなので、評価指標も異なります。 よく使われる評価指標は次のとおりです。

1) シルエット係数

シルエットは、ノードとそのクラスター間の類似性を他のクラスターと比較した尺度です。値の範囲は -1 ~ 1 です。値が大きいほど、ノードが隣接するクラスターではなくそのクラスターと一致する可能性が高くなります。ほとんどのノードのシルエット値が高い場合、クラスタリングは適切です。多くのポイントの値が低いか負の値である場合、カテゴリが多すぎるか少なすぎることを意味します。

意味

シルエット係数は凝集力と分離力を組み合わせたもので、計算手順は次のとおりです。

i番目のオブジェクトについて、そのクラスター内の他のすべてのオブジェクトとの平均距離を計算し、ai(凝集性を反映)として記録します。

i番目のオブジェクトと、そのオブジェクトを含まないクラスターについては、bi(分離度を反映)として記録されます。

i番目のオブジェクトのシルエット係数はsi=(bi-ai)/max(ai,bi)です。

2) カリンスキー・ハラバズ指数

ラベルが不明な場合は、sklearn.metrics.calinski_harabaz_score を使用して、Calinski-Harabaz インデックスを使用してモデルを評価できます。Calinski-Harabaz スコアが高いほど、クラスターがより適切に定義されたモデルに関連付けられます。

アドバンテージ:

  • クラスターが密集し、十分に分離されている場合、スコアは高くなります。これは、クラスタリングという標準的な概念に関連しています。
  • クイックスコア計算

欠点:

  • 凸群の Calinski-Harabaz 指数は、DBSCAN を介して取得される密度ベースのクラスタリングなどの他のクラスター概念よりも高いことがよくあります。

3) 調整ランド指数

このインジケーターは、順列と組み合わせを無視して、2 つの割り当ての類似性を測定する関数です。

アドバンテージ:

  • ランダム (均一) ラベル割り当てでは、n_clusters、n_samples のどの値でも ARI スコアは 0.0 に近くなります (これは、元の Rand Index または V 測定の場合は当てはまりません)。
  • 制限された範囲 [-1, 1]: 負の値は不良 (独立した注釈)、類似のクラスターは正の ARI を持ち、1.0 は完全一致スコアです。
  • クラスター構造については仮定が行われません。等方性の塊の形状を想定する k-means などのクラスタリング アルゴリズムの結果と、「折りたたまれた」形状のクラスターを見つけることができるスペクトル クラスタリング アルゴリズムの結果を比較するために使用できます。

欠点:

  • 慣性とは対照的に、ARI ではグラウンド トゥルース ク​​ラスに関する知識が必要ですが、これは実際にはほとんど利用できないか、人間の注釈者による手動割り当て (教師あり学習の設定など) が必要です。
  • ただし、ARI は、クラスタリング モデルの選択に使用できるコンセンサス インデックスの構成要素として、完全に教師なしの設定で使用することもできます (TODO)。

4) 相互情報量に基づくスコア

同じサンプルに対するグラウンド トゥルース ク​​ラスの割り当て labels_true と、クラスタリング アルゴリズムによって割り当てられた知識 labels_pred が与えられた場合、相互情報量は、順列を無視して 2 つの割り当ての一貫性を測定する関数です。この尺度には、正規化相互情報量 (NMI) と調整相互情報量 (AMI) という 2 つの異なる正規化バージョンがあります。文献では NMI がよく使用されていますが、AMI は最近提案され、偶然性に対して正規化されています。

アドバンテージ:

  • ランダム (均一) ラベル割り当てでは、n_clusters と n_samples のどの値でも AMI スコアは 0.0 に近くなります (たとえば、相互情報量や V 測定の場合はそうではありません)。
  • 制限された範囲 [0, 1]: ゼロに近い値は 2 つのほぼ独立したラベル割り当てを示し、1 に近い値は有意な一致を示します。さらに、値が正確に 0 の場合は、ラベルの割り当てが完全に独立していることを示し、AMI が正確に 1 の場合は、2 つのラベルの割り当てが等しいこと (順列の有無にかかわらず) を示します。
  • クラスター構造については仮定が行われません。等方性の塊の形状を想定する k-means などのクラスタリング アルゴリズムの結果と、「折りたたまれた」形状のクラスターを見つけることができるスペクトル クラスタリング アルゴリズムの結果を比較するために使用できます。

欠点:

  • 慣性とは対照的に、MI ベースの測定では、グラウンド トゥルース ク​​ラスに関する知識が必要ですが、これは実際にはほとんど利用できないか、人間の注釈者による手動割り当てが必要です (教師あり学習の設定など)。 ただし、MI ベースの尺度は、クラスタリング モデルの選択に使用できるコンセンサス インデックスの構成要素として、完全に教師なしの設定で使用することもできます。

一般的なクラスタリングアルゴリズムの比較

次の図は、Scikit learn でよく使用されるいくつかのクラスタリング アルゴリズムの比較を示しています。

一般的なクラスタリングアルゴリズムのPython実装

これまでクラスタリング アルゴリズムについてたくさん説明してきましたが、最後にアルゴリズムの Python 実装コードを投稿しましょう。

1) K平均法クラスタリング

2) 階層的クラスタリング

3) t-SNEクラスタリング

4) DBSCANクラスタリング

5) ミニバッチK平均

6) 親和性の伝播

参照

「機械学習の百面相」——第 5 章

<<:  人工知能が普及せず、自動運転に支障?

>>:  PyTorch はついに Google Cloud TPU を使用できるようになりました。これにより推論パフォーマンスが 4 倍向上します。これをどのように活用できるでしょうか?

ブログ    
ブログ    

推薦する

Google がオールラウンドな音楽転写 AI を発表: 曲を一度聴くだけでピアノとバイオリンの楽譜がすべて手に入る

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

GAN はたった 1 枚の画像でトレーニングできます。 Adobe が画像生成方法を改善 | オープンソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

Python の高度なアルゴリズムとデータ構造: treap を使用してデュアル インデックスを実装する (パート 1)

\上記で紹介したヒープ構造では、データを部分的にしかソートできません。つまり、一部の要素のソートし...

...

...

40年前、袁龍平が田んぼで教えている姿はこんな感じです!ネットユーザーがAIを使って貴重な動画を復元し悲しみを表現

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

今後 5 年間で最も収益性の高い業界は何ですか?人工知能を勝ち取る者はインターネットを勝ち取るのでしょうか?

[[221537]]今後 5 年間で最も価値のある起業の方向性は何でしょうか?どの起業分野を選択す...

AIビッグモデルがインテリジェント交通の未来を切り開く?

2023年の初め、OpenAIが開発したChatGPTの出現により、インターネット業界の微妙なバラ...

私の国はAIや5Gを含む多くの技術で米国を上回っており、米国が私たちを絞め殺すことはますます困難になっています。

世界大国として、中国と米国は多くの分野、特に科学技術分野で競争している。中国は科学技術分野で比較的目...

デザイナーに必須の AI ツール 11 選

翻訳者 |ブガッティレビュー | Chonglou急速に進化する今日のデザイン環境において、人工知能...

私の国は自動運転とスマート輸送のパイロットプロジェクトを実施します

運輸省によると、運輸省はこのほど「自動運転とインテリジェント船舶の試験運用を組織することに関する通知...

2020 年の AI トレンド トップ 10

デジタル労働力をサポートし維持するために職場で AI が普及することは、2020 年の明確なトレンド...

...