|
|
シリーズコラム 「社会を支える人工知能」 |
【第4回】 人工知能の機械学習による予測
|
|
|
|
|
|
今回は、人工知能の機械学習(マシンラーニング)とそれによる予測について紹介させていただこうと思います。
機械学習には教師あり学習や教師なし学習など幾つかの手法がありますが、今回は教師あり学習に焦点を当てます。
教師あり学習は、入力データを与えて人工知能に得られた結果とその入力データの正しい結果を比較して、その比較から得られた誤差を元に人工知能内部のパラメータを更新します。
これを様々なデータで繰り返し行うことで、人工知能を賢くしていきます(図1)。
前回の記事で取り上げたディープラーニングも教師あり学習の一つといえます。
教師あり学習はこのような原理で賢くなるため、より賢くするためには多くのデータが必要となります。
近年のインターネット上には、SNSや動画サイトなどのサービスにより多量のデータが存在します。
また、近年のセンサー機器は多様化し、無線通信機能(Bluetoothや携帯通信)も搭載されているため、常に多くのデータを取得できるようになりました。
その結果、目的にもよりますが、これらの情報を利用することで賢い人工知能を実現できるようになりました。
図1 教師あり学習の流れ
実際に、教師あり学習で雪の日を予測してみました。
今回はH2O.ai[1]というオープンソースのフレームワークを利用しました。
H2O.aiはプログラミング不要で、ウェブブラウザだけで機械学習を試すことができます。
日本語版がありませんが、日本語で解説しているサイトがいくつかあるため、それらを参考にすることをお勧めします。
図2 H2O.aiの画面
学習用の入力と正しい結果のデータは気象庁[2]から取得しました。
金沢市の2010年1月1日から2015年12月31日(5年間)の日平均温度、降雨量の日合計、日照時間と日平均風速を入力データとし、天気概要を正しい結果としました(図2)。
正しい結果に関しては「曇り一時雪」など雪という文字がある場合を雪の日としました。
図3 学習用のデータ
上記のデータを用いてディープラーニングで教師あり学習を行い、金沢市の2016年1月1日から2016年12月31日(1年間)の雪の日を予測しました。
H2O.aiにおけるディープラーニングの設定では50以上のパラメータを設定する必要があります。今回は、代表的なパラメータを変更した3パターンで予測してみました。
表1 予測の結果
パターン |
予測ミスした日数 |
パターン1 (ディープラーニングの規模:小,学習回数10回) |
9 |
パターン2 (ディープラーニングの規模:中,学習回数100回) |
12 |
パターン3 (ディープラーニングの規模:大,学習回数100回) |
13 |
予測結果を見てみると、パターン1による予測が最も良い結果となりました。パターン2と3の学習回数はパターン1より多いため、予測精度向上を見込んでいましたが、過学習になったため予測ミスが多くなりました。また、ディープラーニングの規模が大きくなるにつれて、より複雑な分析ができるようになるのですが、入力データが4項目と少なかったため、過度に複雑な分析をしてしまった可能性があります。
これらのことから、人工知能にやらせたい問題に対して、的確にパラメータを設定しないといけないことが分かりました。このあたりは経験と知識が必要となります。これからディープラーニングや機械学習(教師あり学習)を始める方や業務でディープラーニング(教師あり学習)を利用する場合は、まずは色々とパラメータを変更して、ディープラーニングの挙動を確認しながら、トライ&エラーする必要がありそうです。
次回は機械学習の教師なし学習についてお伝えしようと思います。
[1] H2O.ai., http://www.h2o.ai/
[2] 国土交通省 気象庁 http://www.data.jma.go.jp/