関連キーワードAIソリューション[前後のお話]【第4回】「教師あり学習」の仕組み【第5回】教師あり学習で作成した「モデル」の性能を測る【第7回】教師なし学習を使ってクラスタリングしてみよう一覧はこちら前回までに「機械学習とは何か」、そして機械学習の手法の1つである「教師あり学習」の仕組みについて説明しました。今回からは、教師あり学習とは反対の「教師なし学習」について説明していきたいと思います。「教師なし」で学習できるのはすごい?まず最初に、教師あり学習と教師なし学習の違いについて説明します。それぞれ適している用途が異なるので、違いを知っておくことは非常に重要です。第4回で説明した教師あり学習の例では、「パンの名前を入力すると飲み物の名前を出力する」ことを考えました。出力する飲み物の名前は、あらかじめ用意した「教師データ(パン、またはパンの組み合わせに対応する飲み物が記述されたデータ)」に基づいた出力となるよう学習したことを思い出してください。出力される飲み物の名前は、そのデータに記述された「牛乳」か「コーヒー」のどちらかでした。ここで、この課題に対する見方を少し変えてみましょう。「パンの名前を入力すると、特定の飲み物の名前のいずれかを出力する」というのは、「パン(またはパンの組み合わせ)を『牛乳』か『コーヒー』のいずれかのグループに分類する」と考えることができます。「あんパン」は「牛乳」グループに分類し、「クリームパンとあんパン」なら「コーヒー」グループに分類するわけです。コーヒーグループ「パンの名前を入れると飲み物の名前を出力する」というのは、「飲み物別にパンを分類する」のと同じことすなわち、前回までに説明した教師あり学習で行っていたことは、ある種の分類問題を解いていたのと同じなのです※。した視点の切り替えは、「解きたい課題」を「機械学習で解ける問題」に落とし込むために有効なので覚えておいてください。教師なし学習とは、その名の通り正解データを与えない学習方法のことです。機械学習において、正解がわからない、または正解のないデータを使う場合は、教師なし学習を行います。一言で言えば、データが暗黙的に持つ規則性を抽出することができる学習方法なのです。教師「なし」学習という名前から、「教師データがないのにルールを抽出してくれるなんてすごい!」「教師あり学習の上位互換なのでは?」と思ってしまいがちですが、実際には適材適所なので、どちらが優れているというようなことはありません。「教師なし」と言ってはいますが、実際には明示的な正解がないだけで、与えているデータ全てが教師データのようなものだと考えていただければと思います。明示的な正解が与えられていないデータを使う場合によくある課題として、データのグループ化問題があります。これは、「データを複数のまとまりに分割する」というものです。データをグループ化することを「クラスタリング」と呼びます。クラスタリングによってできるグループを「クラスタ」と呼びます。教師なし学習は、このクラスタリングを行う際に、非常に役に立つ学習方法です。役に立つというだけで「教師なし学習=クラスタリング」というわけではないので、その点はご留意ください。教師あり学習が解ける課題は、分類問題以外にもあります。ここでは割愛しますが、いずれ説明したいと思っています。分類とクラスタリングは何が違うの?分類とクラスタリングは、非常に混同しやすい言葉です。自分が解きたい問題がどちらに属するのかを見極め、用途に応じて教師あり学習と教師なし学習を使い分けると良いでしょう。以下に、それぞれについて簡単に表にまとめてみました。パンを甘いパンか、甘くないパンかに分類するためのモデル学習によって得られたモデルを用いることにより、未知のデータ(未知のパン名)が入力された際に、それが甘いパンと甘くないパンのどちらに分類されるのかを推測することができます。使用したデータから作成された2つのクラスタ「使用したデータから作成された2つのクラスタ」は、例えば以下のようになります。クラスタ1:ジャムパン、クリームパン、メロンパン、チョコチップパン、あんパン、シナモンロールクラスタ2:焼きそばパン、ソーセージパン作成された2つのクラスタここで重要なポイントは、クラスタリングで得られたクラスタ1とクラスタ2が、どういう特徴を持ったデータが集まったクラスタなのかは、人が中身を見て類推する必要があるということです。今回の例では、クラスタ1は甘いパン、クラスタ2は甘くないパンだとすぐわかりますが、使用するデータや得られたクラスタ数によっては、一見するだけではどんな理由で集められたものかよくわからないこともあります。使用するクラスタリング方法によって結果が変わることにも注意してください。先のクラスタリング結果はたまたまパンの味で分かれていましたが、方法が違えば、以下のようなクラスタが得られることも考えられます。――パンの中に具材が完全に包み込まれているものがクラスタ1、包み込まれていないものがクラスタ2となっています。このように、教師なし学習を使ったクラスタリングでは、クラスタリングの方法や取得するクラスタ数、使うデータによって得られる結果が異なります。得られたクラスタがどういった特徴を持つ集まりなのかは、人間が見て類推しなければなりません。クラスタリングによって得られた結果が期待と大きく違っていた場合は、クラスタ数やクラスタリング方法、必要に応じてデータ自体も見直して試行錯誤すると良いでしょう。実際にクラスタはどのように作成されるのでしょうか。