教師なし学習は、機械学習手法の一種で、ラベル付けされていないデータから推論を行います。教師なし学習は、結果に関する予備知識なしで、データ内の隠れたパターンや関係性を特定することを目的としています。
教師なし学習アルゴリズムは、結果に関する予備知識なしで、データ内の隠れたパターン、構造、グループを発見します。このアルゴリズムは、事前定義されたラベルが付加されていないデータに依存します。
教師なし学習の一般的なプロセスでは、まずデータを準備し、そのデータに適切な教師なし学習アルゴリズムを適用して、最後に結果の解釈と評価を行います。この手法は、類似したデータポイントをまとめてグループ化することを目的としたクラスタリングや、特徴量 (次元) の数を削減することによりデータを簡略化する次元削減などのタスクで特に役立ちます。教師なし学習は、データに内在する構造を分析することで、データセットの理解を深めることができます。
また、教師なし学習を教師あり学習の前に適用することで、探索的データ解析で特徴量を特定し、グループ化に基づいてクラスを設定することもできます。これは、特徴量エンジニアリング プロセスの一部で、生データを教師あり機械学習に適した特徴量に変換します。

教師なし学習を用いてラベルなしデータをグループに整理します。
教師なし学習手法の種類
クラスタリング
クラスタリングは、最も一般的な教師なし学習手法で、データセットの自然なグループ化や内在する構造を理解するのに役立ちます。これは、探索的データ解析、パターン認識、異常検出、画像セグメンテーションなどに使用されます。k-means や階層クラスタリングなどのクラスタリング アルゴリズムでは、同じグループ (クラスター) 内のデータポイントが、別のグループ内のデータポイントよりも相互に類似するようにデータポイントをグループ化します。
たとえば、携帯電話会社が携帯電話基地局を設置する場所を最適化する際に、機械学習を用いて、基地局を利用するユーザーのクラスター数を推定することができます。携帯電話は同時に 1 つの基地局としか通信できないため、携帯電話会社のチームはクラスタリング アルゴリズムを使用して、利用者グループ (クラスター) の信号受信が最適化されるように基地局の最適な配置を計画することができます。
クラスタリングを使用してデータの隠れたパターンを見つけ出します。
クラスタリングは主に次の 2 つのカテゴリに分かれます。
- ハードまたは排他的クラスタリング。各データポイントが 1 つのクラスターのみに属します。よく利用される k-means 法などが該当します。
- ソフトまたはオーバーラップ クラスタリング。各データポイントが複数のクラスターに属すことができます。混合ガウスモデルなどが該当します。
よく利用されるクラスタリング アルゴリズムには、次のようなものがあります。
- 階層クラスタリングは、クラスターツリーを作成することにより、クラスターの多重レベルの階層を構築します。
- k-means は、クラスターの重心までの距離に基づいて、データを k 個の異なるクラスターに分割します。
- 混合ガウスモデルは、多変量正規密度成分の混合としてクラスターを形成します。
- Density-based spatial clustering of applications with noise (DBSCAN) は、密度の高い領域の互いに近接したデータポイントをグループ化し、密度の低い領域の外れ値を追跡します。これは任意の非凸形状を扱うことができます。
- 自己組織化マップは、データのトポロジと分布を学習するニューラル ネットワークを使用します。
- スペクトル クラスタリングは、入力データをグラフベースの表現に変換し、元の特徴空間よりもクラスターがより明確に分離されるようにします。クラスター数はグラフの固有値を学習することで推定できます。
- 隠れマルコフモデルは、バイオインフォマティクスにおける遺伝子やタンパク質など、シーケンス内のパターンを発見するために使用できます。
- Fuzzy c-means (FCM) はデータを N 個のクラスターにグループ化し、データセット内のすべてのデータポイントが、ある程度すべてのクラスターに属しているようにします。
クラスタリングは画像セグメンテーション、異常検出、パターン認識などのさまざまな用途に使用されます。

左: 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) アルゴリズムは、深度優先検索手法を使用して、頻出するアイテムセットを見つけます。
相関ルールは、マーケットバスケット分析で最もよく使用されますが、予知保全にも利用できます。たとえば、異なるセンサーのデータに基づき、アルゴリズムを使用して故障パターンを特定し、コンポーネントの故障を予測するルールを作成できます。
教師なし学習を適用できるその他の手法として、半教師あり学習や、教師なし学習の特徴量ランク付けなどがあります。半教師あり学習は、教師あり学習でのラベル付きデータの必要性を削減します。データセット全体にクラスタリングを適用することで、ラベル付きデータとラベルなしデータの間に類似性が確立され、それまでラベルが付いていなかった類似するクラスタメンバーにラベルが伝播されます。教師なし学習の特徴量ランク付けでは、予測ターゲットや応答変数が与えられていない状態で特徴量にスコアを割り当てます。
教師なし学習でデータ内の隠れたパターンや構造、関係性を明らかにすることで、企業や研究機関はこれまでアクセスできなかった有意義なインサイトを得られるようになります。教師なし学習の一般的なタスクには、パターン認識、探索的データ解析、セグメンテーション、異常検出、特徴量削減などがあります。
教師あり学習と教師なし学習の違い
教師あり学習は、ラベル付けされたデータセットでモデルの学習を行い、分類や回帰を実行します。つまり、それぞれの学習例が出力ラベルと対になっています。このモデルは、既知のデータセット (学習データセット) を使用して、既知の入力データ (特徴量) と既知の応答を基に学習し、予測を行います。教師あり学習の例として、家の大きさや部屋数などの特徴量に基づいた住宅価格の予測が挙げられます。よく利用される機械学習モデルには、線形回帰、ロジスティック回帰、k 最近傍法 (KNN)、サポート ベクター マシンがあります。ディープラーニング モデルでも、大規模な一連のラベルデータを使用して学習が行われ、手動での特徴抽出を必要とせずにデータから特徴量を直接学習できる場合が多くあります。
対照的に、教師なし学習ではラベルなしデータを扱います。教師なし学習アルゴリズムは、予備知識なしでデータに潜在する構造を学習しようと試みます。教師なし学習の主な目的は、入力データ内の隠れたパターンや内在する構造を見つけ出すことです。教師なし学習の例として、果物の種類を識別せずに、色、大きさ、味の類似性に基づいて果物をグループ化することができます。一般的な教師なし学習アルゴリズムには、k-means や階層クラスタリングなどのクラスタリング手法や、主成分分析 (PCA) などの次元削減手法があります。
教師なし学習の結果は、ラベル付きデータがないため、一般的に教師あり学習の結果よりも精度が低くなります。しかし、ラベル付きデータの取得は、人の介入が必要で時間がかかることがあり、生物学データなどの一部のケースでは不可能な場合もあります。グラウンドトゥルースのラベル付けでも、よくあるオブジェクトの画像ではなく、複雑な信号にラベル付けを行う場合は特に分野の専門知識が必要になることがあります。
教師あり学習と教師なし学習は機械学習の一種です。
教師なし学習の例
教師なし学習は、事前定義されたラベルを必要とせずに隠れたパターンや関係性を特定できるため、さまざまな用途に欠かせないツールとなっています。以下はその例です。
- 探索的データ解析: 教師なし学習手法は、データを探索して隠れた内在構造を明らかにし、そこからインサイトを引き出すために広く利用されています。たとえば、因子分析を使用して、同じセクター内の企業の株価が週ごとに類似した変化を示しているかどうかを分析できます。
- 異常検出: アイソレーション フォレストや混合ガウスモデル (GMM) などの教師なし学習手法は、異常を検出するために使用されます。
- 医用画像処理: 教師なし学習手法であるクラスタリングは、画像セグメンテーションに極めて有用です。クラスタリング アルゴリズムは医用画像への適用が可能で、ピクセルの密度や色などの特徴量に基づいてセグメント化できます。医師はこの情報を用いて、健康な組織と腫瘍の識別や、脳を白質、灰白質、脳脊髄液にセグメント化するなど、関心領域を同定することができます。
- ゲノミクスとバイオインフォマティクス: 遺伝子のクラスタリングや配列解析は、バイオインフォマティクスで使用されます。たとえば、クラスタリングを使用して、遺伝子発現プロファイルの関係を特定することができます。
- 推奨システム: 特異値分解 (SVD) などの教師なし学習手法を協調フィルタリングで使用して、ユーザーとアイテムの相互作用行列を分解できます。この手法は、利用者数の多い動画ストリーミング プラットフォームで個々のユーザーにコンテンツを推奨するために使用されます。
- 自然言語処理 (NLP): 自然言語処理では、教師なし学習手法がトピックモデリング、文書クラスタリング、AI 言語モデルの構築などのタスクに使用されます。
教師なし学習には、さまざまな分野において多種多様な用途があります。教師なし学習は、隠れたパターンや関係性を明らかにすることで、エンジニアや研究者が情報に基づいた意思決定を行えるよう支援します。データが指数関数的に増加し続ける中で、教師なし学習の重要性と影響は今後も拡大し続けるでしょう。
MATLAB® を使用すると、データの準備からモデルの評価、展開まで、教師なし学習のパイプラインを作成できます。
- Statistics and Machine Learning Toolbox™ を使用すると、クラスタリングや次元削減などの教師なし学習手法をデータに適用して、モデルの性能を評価できます。
- Deep Learning Toolbox™ を使用すると、自己符号化器ニューラル ネットワークで教師なし学習を行うことができます。
- MATLAB Coder™ を使用すると、教師なし学習手法をさまざまなハードウェア プラットフォームに展開するための C/C++ コードを生成できます。

MATLAB での教師なし学習の拡張ワークフロー。
データの準備
データをプログラムでクリーニングしたり、ローコードのデータクリーナー アプリやテキストデータの前処理ライブ エディター タスクを使用して、対話形式でのデータ準備や自動コード生成を行うこともできます。
クラスタリング
MATLAB は、k-means、階層型、DBSCAN、GMM など、よく利用されるあらゆるクラスタリング アルゴリズムをサポートしています。Fuzzy Logic Toolbox™ を使用すると、対象のデータセット上で Fuzzy c-means クラスタリングを実行することもできます。
また、[データのクラスタリング] ライブ エディター タスクを使用して、k-means や階層クラスタリングを実行することもできます。クラスタリング アルゴリズム、クラスター数、距離計量を指定すると、タスクがクラスター インデックスを計算し、クラスター化されたデータを可視化して表示します。
![ライブ エディターにおける [データのクラスタリング] タスクのユーザー インターフェイスと、結果として得られた 2D 散布図 (PCA)。](https://jp.mathworks.com/discovery/unsupervised-learning/_jcr_content/mainParsys/band/mainParsys/lockedsubnav_copy/mainParsys/columns/335ce30a-77fd-4c27-af75-93672733f56b/image_2128876021_cop_1582900074.adapt.full.medium.png/1759144939277.png)
[データのクラスタリング] ライブ エディター タスクを使用した k-means クラスタリング。(MATLAB ドキュメンテーションを参照)
次元削減

ライブ エディター タスクを使用した次元削減。(MATLAB ドキュメンテーションを参照)
MATLAB では、ラプラシアンスコアを使用して教師なし学習の特徴量をランク付けすることもできます。
結果の評価
散布図、樹形図、シルエットプロットを使用して、クラスターを可視化し、クラスタリングの結果を評価できます。また、evalclusters
関数を使用してデータクラスターの最適な数を評価することで、クラスタリング結果を評価することもできます。特定のクラスター数に対してデータがどの程度よく当てはまるかを判断するために、ギャップやシルエットなどの異なる評価基準を使用してインデックス値を計算することができます。

t 分布型確率的近傍埋め込み法 (t-SNE) を使用して、元の 60 個の高次元データを 2 次元に削減した散布図。(MATLAB コードを参照)
リソース
ドキュメンテーション、例、ビデオなどを通じて知識を広げましょう。
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)