![]() |
|
|||||
![]() |
前回は、機械学習の「教師あり学習」についてお伝えしました。 今回は機械学習の「教師なし学習」を紹介させていただこうと思います。
図1は「教師あり学習」と「教師なし学習」の違いを示しています。 「教師あり学習」は、前回説明したように、人工知能から得られた結果と正しい結果の誤差を元に人工知能内のパラメータを更新することで学習を行います。 一方、「教師なし学習」では正しい結果との比較はせず、入力データのみで学習を行います。

図1 「教師あり学習」と「教師なし学習」の違い
正しい結果が分からずに学習するとはどういうことなのでしょうか?
また、入力データから何を学習しているのでしょうか?
教師なし学習では入力データの特徴を元に学習を行うのです!
と言っても、なかなかイメージしづらいと思いますので、教師なし学習の一種であるクラスタリング(分類分け)を例にして説明させていただきます。 表1に、今回利用する入力データを示します。 入力データは40個あり、各入力データは2つデータ(A、B)で構成されています。 表1を見る限り、入力データにどのような特徴があるのか全く検討がつきません。
| データ名 | A | B | データ名 | A | B |
| データ1 | 2.605097 | 1.225296 | データ21 | 0.64004 | 4.124011 |
| データ2 | 0.532377 | 3.313389 | データ22 | 2.441163 | 1.309416 |
| データ3 | 0.802314 | 4.381962 | データ23 | 1.132804 | 3.876739 |
| データ4 | 0.528537 | 4.497239 | データ24 | 1.048292 | 5.030924 |
| データ5 | 2.618585 | 0.357698 | データ25 | -1.26637 | 2.629988 |
| データ6 | 1.591415 | 4.904977 | データ26 | 2.316906 | 0.81189 |
| データ7 | 1.74266 | 5.038467 | データ27 | 2.362307 | 1.358767 |
| データ8 | 2.375333 | 0.089186 | データ28 | 1.209101 | 3.535665 |
| データ9 | -2.12133 | 2.664474 | データ29 | -2.54225 | 3.950129 |
| データ10 | 1.720396 | 5.251732 | データ30 | 1.481533 | 0.678754 |
| データ11 | 3.136886 | 1.565928 | データ31 | -1.59488 | 3.486328 |
| データ12 | -0.37495 | 2.387874 | データ32 | -1.82556 | 2.798921 |
| データ13 | -1.84562 | 2.719246 | データ33 | -1.13374 | 2.684673 |
| データ14 | 0.721444 | 4.08475 | データ34 | -1.7587 | 3.158623 |
| データ15 | 0.161171 | 4.535178 | データ35 | 0.349872 | 4.692533 |
| データ16 | -1.99913 | 2.712857 | データ36 | 1.685486 | 1.669171 |
| データ17 | -1.47804 | 3.209359 | データ37 | 2.989047 | 1.350686 |
| データ18 | 1.870677 | 0.777974 | データ38 | 1.737344 | 1.23588 |
| データ19 | -1.59334 | 2.768987 | データ39 | 0.659109 | 4.122417 |
| データ20 | 2.035626 | 0.313617 | データ40 | 1.154453 | 4.657074 |
では、表1の入力データを散布図にしてみましょう。 図2に、その散布図を示します。 すると、40個の入力データを3つのグループに分けることができそうです。 表1の入力データはグループ化可能という特徴があると言えます。

図2 入力データの散布図
表1の各入力データは40個と少なく、また、AとBだけで構成されているため、人間でも散布図を利用することでクラスタリングできそうですが、実際に活用されている入力データは数十から数百ものデータで構成されています。 また、入力データ数は何万から何千万オーダーにもなります(ビッグデータと呼ばれるもの)。 このような場合、人手でクラスタリングすることは不可能です。
そこで、機械学習の教師なし学習により入力データの特徴を自動で捉えてクラスタリングするのです!
それでは、教師なし学習でクラスタリングをしてみましょう。 今回はk-means法※1と呼ばれる手法で表1の入力データをクラスタリングしてみます。

図3 教師なし学習によるクラスタリング
図3は、k-means法によるクラスタリングの結果です。 図3から分かるように、表1の各入力データは3つのグループ(Group1、Group 2、Group 3)に分けられています。
ここで注目していただきたいのは各グループの中心点を示す星印です。 また、図3の状態は最終結果であるという点にも気をつけて頂きたいと思います。 各入力データは最も近い星印のグループに属しています。 k-means法では各入力データと星印の距離を計算していく過程で、各グループの中心点である星印は移動します。
この星印の移動が教師なし学習の一つであるk-means法の学習なのです!そして、指定した条件を満たした時点で星印の移動(学習)が終了し、最終結果(図3)を出力します。
k-means法によるクラスタリングを教師なし学習の一例として紹介させていただきました。 この例から分かるように、「教師あり学習」とは違い正しい結果は利用していません。 先にも述べたように、入力データだけで学習をしているのです。 これは、事前に正解が分からないものに対して処理を行っていると言えます。
したがって、入力データにどのような特徴があるのかを調査するために、教師なし学習はよく利用されているのです。
※1 k-means法の詳細はWikipediaの「k平均法」に詳しく書かれています。
(URL:https://ja.wikipedia.org/wiki/K%E5%B9%B3%E5%9D%87%E6%B3%95 )

