前回までに「機械学習とは何か」、そして機械学習の手法の1つである「教師あり学習」の仕組みについて説明しました。今回からは、教師あり学習とは反対の「教師なし学習」について説明していきたいと思います。

「教師なし」で学習できるのはすごい?

まず最初に、教師あり学習と教師なし学習の違いについて説明します。それぞれ適している用途が異なるので、違いを知っておくことは非常に重要です。

第4回で説明した教師あり学習の例では、「パンの名前を入力すると飲み物の名前を出力する」ことを考えました。出力する飲み物の名前は、あらかじめ用意した「教師データ(パン、またはパンの組み合わせに対応する飲み物が記述されたデータ)」に基づいた出力となるよう学習したことを思い出してください。また、出力される飲み物の名前は、そのデータに記述された「牛乳」か「コーヒー」のどちらかでした。

ここで、この課題に対する見方を少し変えてみましょう。

「パンの名前を入力すると、特定の飲み物の名前のいずれかを出力する」というのは、「パン(またはパンの組み合わせ)を『牛乳』か『コーヒー』のいずれかのグループに分類する」と考えることができます。例えば、「あんパン」は「牛乳」グループに分類し、「クリームパンとあんパン」なら「コーヒー」グループに分類するわけです。

  • あんパン → 牛乳グループ
  • クリームパン、あんパン → 牛乳グループ
  • クリームパン → コーヒーグループ
  • メロンパン、ソーセージパン → コーヒーグループ
  • ジャムパン、あんパン → 牛乳グループ
  • ジャムパン、メロンパン → コーヒーグループ

「パンの名前を入れると飲み物の名前を出力する」というのは、「飲み物別にパンを分類する」のと同じこと

すなわち、前回までに説明した教師あり学習で行っていたことは、ある種の分類問題を解いていたのと同じなのです。こうした視点の切り替えは、「解きたい課題」を「機械学習で解ける問題」に落とし込むために有効なので覚えておいてください。

一方、教師なし学習とは、その名の通り正解データを与えない学習方法のことです。機械学習において、正解がわからない、または正解のないデータを使う場合は、教師なし学習を行います。一言で言えば、データが暗黙的に持つ規則性を抽出することができる学習方法なのです。

教師「なし」学習という名前から、「教師データがないのにルールを抽出してくれるなんてすごい!」「教師あり学習の上位互換なのでは?」と思ってしまいがちですが、実際には適材適所なので、どちらが優れているというようなことはありません。また、「教師なし」と言ってはいますが、実際には明示的な正解がないだけで、与えているデータ全てが教師データのようなものだと考えていただければと思います。

明示的な正解が与えられていないデータを使う場合によくある課題として、データのグループ化問題があります。これは、「データを複数のまとまりに分割する」というものです。データをグループ化することを「クラスタリング」と呼びます。また、クラスタリングによってできるグループを「クラスタ」と呼びます。

教師なし学習は、このクラスタリングを行う際に、非常に役に立つ学習方法です。なお、役に立つというだけで「教師なし学習=クラスタリング」というわけではないので、その点はご留意ください。

※ 教師あり学習が解ける課題は、分類問題以外にもあります。ここでは割愛しますが、いずれ説明したいと思っています。

分類とクラスタリングは何が違うの?

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら