機械学習はどうやって使うのか――意外と地道な積み重ね:いまさら聞けない機械学習入門(後編)(1/4 ページ)
前編では、AI(人工知能)と機械学習、ディープラーニングといった用語の説明から、AIを実現する技術の1つである機械学習が製造業を中心とした産業界にも徐々に使われ始めている話をした。後編では、機械学習を使ったデータ分析と予測モデル作成について説明する。
1.IoTと機械学習
前編では、AI(人工知能)と機械学習、ディープラーニングといった用語の説明から、AIを実現する技術の1つである機械学習が、製造業を中心とした産業界にも徐々に使われ始めている話をした。背景に少し触れると、産業界に訪れたIoT(モノのインターネット)の普及により産業機器のデジタルデータ化が進んだことで、機械学習に必要となる大量のデジタルデータの提供が可能になったことがあげられるだろう。機械学習で作成した予測モデルをIoTアプリケーションに結合して、リアルタイムでの予測機能を実現する事例も出てきている。
AIのイメージが肥大化しているせいか、データさえ用意すれば機械学習ツールが自動で何でもやって予測してくれるイメージを持たれているかもしれない。しかし機械学習という言葉とは裏腹に、そのプロセスは意外と地道な手作業と試行錯誤の積み重ねである。そこで今回の後編では、機械学習を使ったデータ分析と予測モデル作成について説明したい。なお機械学習ツールとしてはPTCの「ThingWorx Analytics」を使用している。
2.データの収集と整理
機械学習をやってみようと言っても、とにかくデジタルデータがないと始まらない。機器のデータを取得するといってもどんな種類のセンサーをどこに取り付けるのか、収集の頻度をどうするのか、収集する期間はどのくらいにするのか、といったパラメーターは作業を知る人間が決めるしかない。ツールベンダーによっては特定の作業の知見を持っていることもあるが、ほとんどの場合は現場によって異なるので試行錯誤をするしかない。
また作業者による記録、顧客からの不具合の通知内容など、別々のソースから上がってくるデータをどのようにまとめるのかも、自動ではできずに人間が決める必要がある。秒単位で上がってくるセンサーデータと、時間単位や日単位になる手入力データを合わせるとしたら、時間軸をどうするか。また、記入ミスを訂正したり、データに欠落があった場合にはその記録をどう取り扱うのか(0を入れるか、平均値を埋めるのか、削除するのか)、重複するデータの削除といった地道な作業が必要となる。
そして何よりも重要なのは、ゴール変数の設定である。機械学習のゴールは連続値(いわゆる数値)もしくは文字列により、明確に定義する必要がある。何を知りたいのか、また集めたデータから何を読み取れそうか、といったところを考慮して人間が決めなくてはならない。
例えば、ある機器が設置現場からメンテナンスのために戻して工場で実施した検査結果のデータを用いて、90日以内に起きる機器の故障の予兆を診断するシナリオを考えてみよう(図1)。ここでのゴール変数は1(故障する)か0(故障しない)と定義している。しかし、単純に検査結果がNGのときにゴール変数を1としてしまうと、予兆は予測対象とならず、検査結果がNGとなる予測になってしまう。90日以内に起きる予兆を知りたいのであれば、同一シリアル番号の機器における90日以内の各項目の値にこそ予兆が隠れているだろう。従って、図1の下の表にあるように、2017年12月10日の検査結果OKのレコードのゴール変数が1(故障する)となる。
実はこのデータの準備こそが一番手間が掛かる上に自動化が難しい。しかもデータは重要だ。なにせ、この後の分析/予測では、用意したデータこそが機械学習ツールにとっての世界の全てとなるのだ。
人間であれば長年蓄えてきた経験や知識といった基礎データがあるが、機械学習ツールは入力したデータだけが分析対象となる。しかも、対象となるデータの件数はある程度の量が必要となる。これもケース毎に異なるので、1000〜10万件以上と幅は広いが、いずれにせよ大量のデータを整理する必要がある。最近ではデータの編集作業に特化したデータラングリング(Data Wrangling:直訳すると「データを飼いならす」)ツールが登場しており、編集ルールをプログラムできるようになってきている。ただし、そのルールを決めるのはあくまで人間であり、最初は手探りの作業であることは心に留めておいてほしい。
Copyright © ITmedia, Inc. All Rights Reserved.