教師なし学習

教師なし学習は、機械学習手法の一種で、ラベル付けされていないデータから推論を行います。教師なし学習は、結果に関する予備知識なしで、データ内の隠れたパターンや関係性を特定することを目的としています。

教師なし学習の仕組み

教師なし学習アルゴリズムは、結果に関する予備知識なしで、データ内の隠れたパターン、構造、グループを発見します。このアルゴリズムは、事前定義されたラベルが付加されていないデータに依存します。

教師なし学習の一般的なプロセスでは、まずデータを準備し、そのデータに適切な教師なし学習アルゴリズムを適用して、最後に結果の解釈と評価を行います。この手法は、類似したデータポイントをまとめてグループ化することを目的としたクラスタリングや、特徴量 (次元) の数を削減することによりデータを簡略化する次元削減などのタスクで特に役立ちます。教師なし学習は、データに内在する構造を分析することで、データセットの理解を深めることができます。

また、教師なし学習を教師あり学習の前に適用することで、探索的データ解析で特徴量を特定し、グループ化に基づいてクラスを設定することもできます。これは、特徴量エンジニアリング プロセスの一部で、生データを教師あり機械学習に適した特徴量に変換します。

異なる色の図形の集まり (ラベルなしデータ) が教師なし学習アルゴリズムに入力されると、結果として 3 つの同種グループ (クラス) が出力されます。

教師なし学習を用いてラベルなしデータをグループに整理します。

教師なし学習手法の種類

クラスタリング

クラスタリングは、最も一般的な教師なし学習手法で、データセットの自然なグループ化や内在する構造を理解するのに役立ちます。これは、探索的データ解析、パターン認識異常検出画像セグメンテーションなどに使用されます。k-means や階層クラスタリングなどのクラスタリング アルゴリズムでは、同じグループ (クラスター) 内のデータポイントが、別のグループ内のデータポイントよりも相互に類似するようにデータポイントをグループ化します。

たとえば、携帯電話会社が携帯電話基地局を設置する場所を最適化する際に、機械学習を用いて、基地局を利用するユーザーのクラスター数を推定することができます。携帯電話は同時に 1 つの基地局としか通信できないため、携帯電話会社のチームはクラスタリング アルゴリズムを使用して、利用者グループ (クラスター) の信号受信が最適化されるように基地局の最適な配置を計画することができます。

ラベルなしポイントを含むプロットが、クラスタリング (教師なし学習の一種) を経て、3 つに色分けされたデータポイントのクラスターが形成されます。

クラスタリングを使用してデータの隠れたパターンを見つけ出します。

クラスタリングは主に次の 2 つのカテゴリに分かれます。

  • ハードまたは排他的クラスタリング。各データポイントが 1 つのクラスターのみに属します。よく利用される k-means 法などが該当します。
  • ソフトまたはオーバーラップ クラスタリング。各データポイントが複数のクラスターに属すことができます。混合ガウスモデルなどが該当します。

よく利用されるクラスタリング アルゴリズムには、次のようなものがあります。

  • 階層クラスタリングは、クラスターツリーを作成することにより、クラスターの多重レベルの階層を構築します。
  • k-means は、クラスターの重心までの距離に基づいて、データを k 個の異なるクラスターに分割します。
  • 混合ガウスモデルは、多変量正規密度成分の混合としてクラスターを形成します。
  • Density-based spatial clustering of applications with noise (DBSCAN) は、密度の高い領域の互いに近接したデータポイントをグループ化し、密度の低い領域の外れ値を追跡します。これは任意の非凸形状を扱うことができます。
  • 自己組織化マップは、データのトポロジと分布を学習するニューラル ネットワークを使用します。
  • スペクトル クラスタリングは、入力データをグラフベースの表現に変換し、元の特徴空間よりもクラスターがより明確に分離されるようにします。クラスター数はグラフの固有値を学習することで推定できます。
  • 隠れマルコフモデルは、バイオインフォマティクスにおける遺伝子やタンパク質など、シーケンス内のパターンを発見するために使用できます。
  • Fuzzy c-means (FCM) はデータを N 個のクラスターにグループ化し、データセット内のすべてのデータポイントが、ある程度すべてのクラスターに属しているようにします。

クラスタリングは画像セグメンテーション異常検出パターン認識などのさまざまな用途に使用されます。

3 種のアヤメの花弁の幅と長さの測定値を示す 2D プロットと、GMM クラスタリングを使用して得られた 3 つのクラスターを示すプロット。

左: 3 種のアヤメのいくつかの標本から得られた花弁の測定値の MATLAB 散布図。右: 混合ガウスモデル (GMM) クラスタリング手法を使用して 3 つのクラスターにセグメント化された花弁の測定値。

次元削減

多変量データには、多くの変数や特徴量が含まれることがよくあります。これは実行時間とメモリ要件に影響する可能性があります。次元削減手法では、元データの必要な情報を保持しながら特徴量 (次元) の数を削減します。教師なし学習で次元削減を用いると、計算負荷の軽減や、機械学習アルゴリズムの処理速度と効率の向上に役立ちます。

また、多くの変数が含まれるデータには、可視化という別の問題が内在します。次元削減手法は、重要な情報を失うことなくデータを簡略化することで、可視化と解析を容易にします。

5 種類の活動 (座る、立つ、歩く、走る、踊る) を行う際にスマートフォンの加速度センサーを使用して収集された 60 個の次元をもつ人の行動データを例として取り上げます。高次元のデータは、可視化や解析が難しくなります。次元削減を使用することで、重要な情報を失うことなくこれらの次元を 2 つか 3 つに削減できます。

次元削減に広く使用されている教師なし学習手法には、次のようなものがあります。

  • 主成分分析 (PCA) は、データを直交成分の集合に変換し、より少ない変数で最大分散を捉えます。新しい変数は主成分と呼ばれます。それぞれの主成分は、元の変数との線形結合です。第 1 主成分は、空間内の 1 つの軸です。各観測をこの軸上に射影したとき、結果の値は 1 つの新しい変数を形成します。この値の分散は、最初の軸を決定するときに最大量を選択します。第 2 主成分は、空間内の別の軸で、第 1 主成分に直交します。この軸に観測を射影すると、新しい変数が発生します。この変数の分散は、この 2 番目の軸を決定する場合に、最大量を選択します。主成分の数は元の変数の数と同じですが、多くの場合、最初の数成分で元のデータの分散合計の 80% 以上を捉えます。
  • t 分布型確率的近傍埋め込み法 (t-SNE) は、高次元データの可視化に適しています。これは、ポイント間の類似性が反映されるように高次元のデータポイントを低次元に埋め込みます。通常は、低次元のポイントを可視化して、元の高次元データにおける自然なクラスターを確認できます。
  • 因子分析は、多変量データにモデルを当てはめて、変数間で観察される相関を説明する潜在的な因子を特定することによって、変数間の相互依存を推定する方法です。この教師なし学習手法では、測定された変数は、少数の観測されない (潜在的な) 因子に依存します。各因子は複数の変数に対して共通に影響を与える可能性があるので、共通因子と呼ばれます。各変数は、共通因子の線形結合に依存すると仮定されます。また、係数は負荷と呼ばれます。測定された各変数には、独立したランダムな変動による成分も含まれます。これは、1 つの変数に固有であるという理由から、独自因子の分散として知られています。
  • 自己符号化器は、入力データを複製するように学習させたニューラル ネットワークです。自己符号化器は、画像、時系列、テキストなどのさまざまなデータ型で使用できます。これらは異常検出テキスト生成イメージ生成イメージのノイズ除去デジタル通信など、多くの用途で役立ちます。自己符号化器は、次元削減でよく利用されます。自己符号化器は、符号化器と復号化器という 2 つの小さいネットワークで構成されます。学習中に、符号化器は入力データから潜在表現という一連の特徴量を学習します。同時に、復号化器はこの特徴量に基づいてデータを再構成できるよう学習します。
自己符号化器により画像 (白い背景に黒い点パターンと赤い曲線) 内の異常値 (赤い曲線) を検出。

自己符号化器を使用したイメージベースの異常検出。

相関ルール

相関ルール学習では、大規模データベース内の変数間に存在する有意な関係を特定します。たとえば取引データの場合、相関ルールを用いて、ユーザーが同時に購入する可能性が最も高いアイテムを特定できます。相関ルールマイニングで使用されるアルゴリズムには、次のようなものがあります。

  • Apriori アルゴリズムは、幅優先検索を実行してデータ内の頻出するアイテムセットを特定し、これらのアイテムセットから相関ルールを導出します。
  • ECLAT (Equivalence class clustering and bottom-up lattice traversal) アルゴリズムは、深度優先検索手法を使用して、頻出するアイテムセットを見つけます。

相関ルールは、マーケットバスケット分析で最もよく使用されますが、予知保全にも利用できます。たとえば、異なるセンサーのデータに基づき、アルゴリズムを使用して故障パターンを特定し、コンポーネントの故障を予測するルールを作成できます。

教師なし学習を適用できるその他の手法として、半教師あり学習や、教師なし学習の特徴量ランク付けなどがあります。半教師あり学習は、教師あり学習でのラベル付きデータの必要性を削減します。データセット全体にクラスタリングを適用することで、ラベル付きデータとラベルなしデータの間に類似性が確立され、それまでラベルが付いていなかった類似するクラスタメンバーにラベルが伝播されます。教師なし学習の特徴量ランク付けでは、予測ターゲットや応答変数が与えられていない状態で特徴量にスコアを割り当てます。

教師なし学習が重要な理由

教師なし学習は、機械学習人工知能 (AI) の主要な分野であり、データの探索と理解において重要な役割を果たします。モデルの学習にラベル付けされたデータを利用する教師あり学習とは異なり、教師なし学習はラベルなしデータを利用するため、計算量が多く、時間やコストがかかるデータのラベル付けが非現実的であることが多い実世界のシナリオで特に役立ちます。

教師なし学習でデータ内の隠れたパターンや構造、関係性を明らかにすることで、企業や研究機関はこれまでアクセスできなかった有意義なインサイトを得られるようになります。教師なし学習の一般的なタスクには、パターン認識、探索的データ解析、セグメンテーション、異常検出、特徴量削減などがあります。

教師あり学習と教師なし学習の違い

教師あり学習は、ラベル付けされたデータセットでモデルの学習を行い、分類や回帰を実行します。つまり、それぞれの学習例が出力ラベルと対になっています。このモデルは、既知のデータセット (学習データセット) を使用して、既知の入力データ (特徴量) と既知の応答を基に学習し、予測を行います。教師あり学習の例として、家の大きさや部屋数などの特徴量に基づいた住宅価格の予測が挙げられます。よく利用される機械学習モデルには、線形回帰、ロジスティック回帰、k 最近傍法 (KNN)、サポート ベクター マシンがあります。ディープラーニング モデルでも、大規模な一連のラベルデータを使用して学習が行われ、手動での特徴抽出を必要とせずにデータから特徴量を直接学習できる場合が多くあります。

対照的に、教師なし学習ではラベルなしデータを扱います。教師なし学習アルゴリズムは、予備知識なしでデータに潜在する構造を学習しようと試みます。教師なし学習の主な目的は、入力データ内の隠れたパターンや内在する構造を見つけ出すことです。教師なし学習の例として、果物の種類を識別せずに、色、大きさ、味の類似性に基づいて果物をグループ化することができます。一般的な教師なし学習アルゴリズムには、k-means階層クラスタリングなどのクラスタリング手法や、主成分分析 (PCA) などの次元削減手法があります。

教師なし学習の結果は、ラベル付きデータがないため、一般的に教師あり学習の結果よりも精度が低くなります。しかし、ラベル付きデータの取得は、人の介入が必要で時間がかかることがあり、生物学データなどの一部のケースでは不可能な場合もあります。グラウンドトゥルースのラベル付けでも、よくあるオブジェクトの画像ではなく、複雑な信号にラベル付けを行う場合は特に分野の専門知識が必要になることがあります。

機械学習手法: 教師なし学習 (クラスタリング) および教師あり学習 (分類と回帰)。

教師あり学習と教師なし学習は機械学習の一種です。

教師なし学習の例

教師なし学習は、事前定義されたラベルを必要とせずに隠れたパターンや関係性を特定できるため、さまざまな用途に欠かせないツールとなっています。以下はその例です。

  • 探索的データ解析: 教師なし学習手法は、データを探索して隠れた内在構造を明らかにし、そこからインサイトを引き出すために広く利用されています。たとえば、因子分析を使用して、同じセクター内の企業の株価が週ごとに類似した変化を示しているかどうかを分析できます。
  • 異常検出: アイソレーション フォレストや混合ガウスモデル (GMM) などの教師なし学習手法は、異常を検出するために使用されます。
  • 医用画像処理: 教師なし学習手法であるクラスタリングは、画像セグメンテーションに極めて有用です。クラスタリング アルゴリズムは医用画像への適用が可能で、ピクセルの密度や色などの特徴量に基づいてセグメント化できます。医師はこの情報を用いて、健康な組織と腫瘍の識別や、脳を白質、灰白質、脳脊髄液にセグメント化するなど、関心領域を同定することができます。
  • ゲノミクスとバイオインフォマティクス: 遺伝子のクラスタリングや配列解析は、バイオインフォマティクスで使用されます。たとえば、クラスタリングを使用して、遺伝子発現プロファイルの関係を特定することができます。 
  • 推奨システム: 特異値分解 (SVD) などの教師なし学習手法を協調フィルタリングで使用して、ユーザーとアイテムの相互作用行列を分解できます。この手法は、利用者数の多い動画ストリーミング プラットフォームで個々のユーザーにコンテンツを推奨するために使用されます。
  • 自然言語処理 (NLP): 自然言語処理では、教師なし学習手法がトピックモデリング、文書クラスタリング、AI 言語モデルの構築などのタスクに使用されます。

教師なし学習には、さまざまな分野において多種多様な用途があります。教師なし学習は、隠れたパターンや関係性を明らかにすることで、エンジニアや研究者が情報に基づいた意思決定を行えるよう支援します。データが指数関数的に増加し続ける中で、教師なし学習の重要性と影響は今後も拡大し続けるでしょう。

MATLAB による教師なし学習

MATLAB® を使用すると、データの準備からモデルの評価、展開まで、教師なし学習のパイプラインを作成できます。

  • Statistics and Machine Learning Toolbox™ を使用すると、クラスタリングや次元削減などの教師なし学習手法をデータに適用して、モデルの性能を評価できます。
  • Deep Learning Toolbox™ を使用すると、自己符号化器ニューラル ネットワークで教師なし学習を行うことができます。
  • MATLAB Coder™ を使用すると、教師なし学習手法をさまざまなハードウェア プラットフォームに展開するための C/C++ コードを生成できます。
MATLAB を使用して、データにアクセスして探索し、前処理を行い、教師なし学習アルゴリズムを適用して結果を評価し、インサイトを引き出して共有します。

MATLAB での教師なし学習の拡張ワークフロー。

データの準備

データをプログラムでクリーニングしたり、ローコードのデータクリーナー アプリやテキストデータの前処理ライブ エディター タスクを使用して、対話形式でのデータ準備や自動コード生成を行うこともできます。

クラスタリング

MATLAB は、k-means、階層型、DBSCAN、GMM など、よく利用されるあらゆるクラスタリング アルゴリズムをサポートしています。Fuzzy Logic Toolbox™ を使用すると、対象のデータセット上で Fuzzy c-means クラスタリングを実行することもできます。

また、[データのクラスタリング] ライブ エディター タスクを使用して、k-means や階層クラスタリングを実行することもできます。クラスタリング アルゴリズム、クラスター数、距離計量を指定すると、タスクがクラスター インデックスを計算し、クラスター化されたデータを可視化して表示します。

ライブ エディターにおける [データのクラスタリング] タスクのユーザー インターフェイスと、結果として得られた 2D 散布図 (PCA)。

[データのクラスタリング] ライブ エディター タスクを使用した k-means クラスタリング。(MATLAB ドキュメンテーションを参照)

次元削減

MATLAB は、PCA、t-SNE、因子分析など、よく利用されるあらゆる次元削減手法をサポートしています。組み込み関数を使用して、これらの手法をデータに適用できます。PCA の場合、次元削減ライブ エディター タスクを使用して、手順を対話的に実行することもできます。

ライブエディターにおける次元削減タスクのインターフェイスと、結果として得られるスクリープロット。

ライブ エディター タスクを使用した次元削減。(MATLAB ドキュメンテーションを参照)

MATLAB では、ラプラシアンスコアを使用して教師なし学習の特徴量をランク付けすることもできます。

結果の評価

散布図、樹形図シルエットプロットを使用して、クラスターを可視化し、クラスタリングの結果を評価できます。また、evalclusters 関数を使用してデータクラスターの最適な数を評価することで、クラスタリング結果を評価することもできます。特定のクラスター数に対してデータがどの程度よく当てはまるかを判断するために、ギャップやシルエットなどの異なる評価基準を使用してインデックス値を計算することができます。

次元削減については、散布図、スクリープロット、バイプロットを使用して、結果を検証できます。次元削減ライブ エディター タスクを使用すると、95% や 99% などの固定比率の分散を説明するために必要な成分数を判断できます。

活動 (走る、歩く、踊る、座る、立つ) ごとに色分けされたグループ構造。

t 分布型確率的近傍埋め込み法 (t-SNE) を使用して、元の 60 個の高次元データを 2 次元に削減した散布図。(MATLAB コードを参照)