特徴量からアルゴリズムの選択まで行う機械学習プロセスの自動化サービス

課題

手元にあるデータを基にデータ分析や予測を行うために、様々な機械学習のモデルを利用することが一般的になってきています。機械学習を用いてデータ分析をするには、データの前処理や特徴量選択、またアルゴリズムの選択やそのパラメータ決定など様々な作業が必要となります。しかしこれらの作業は非常に多くの経験と知識が要求するものであり、またその評価にも多くのリソースを必要とします。
このような課題に対して、MicrosoftやGoogleは解析対象のデータセットを用意するだけでデータの前処理やアルゴリズム選択など機械学習モデルの構築を自動化するサービスをそれぞれ提供しています。

解決方法

通常データ解析のための機械学習モデルを構築する際には、解析データの前処理、アルゴリズム選択、アルゴリズムで利用するパラメータの調整、モデル評価、データの更新と再評価を行う必要があります。例えば全国各地の日中気温と飲料水の販売量に関する情報があり、そこから東京都内での対象飲料の販売量予測を予測するモデルを構築する場合では、データの前処理として東京都の気温のみを選択する、アルゴリズム選択としてニューラルネットワークを採用する、パラメータ調整としてニューラルネットワークの学習を行う、モデル評価として未学習データから飲料水の売上量を推定する、データの更新と再評価として月単位で古いデータを捨て新しいデータに変更すし再度モデルを学習させ評価する、という作業を行う必要があります。
Microsoftが提供を開始したAutomated Machine Learningでは、ベイズ最適化と呼ばれる手法を用いることで希望するデータ処理の達成目標(例えば認識率など)を達成するために必要なアルゴリズム選択やパラメータ調整を自動的に行います。現在は分類問題及び回帰分析のみに対応しています。
Googleの提供するCloud AutoMLでも同様に、グラフィカルユーザーインターフェースを用いながら簡単に分析したいデータに対する機械学習モデルを選択し、その評価を行うことができます。AutoMLには画像処理を行うためのAutoML Vision、テキスト分類を行うためのAutoML Natural Language、言語翻訳を行うためのAutoML translationがそれぞれ提供されています。

どうなったか

これらの機械学習プロセスの自動化サービスを利用することによって、専門的知識を有しない技術者でも機械学習モデルの構築を行うことができます。またMicrosoftのAutomated Machine Learningでは、ユーザーの持つデータをMicrosoft側が解析することなく、解析のための機械学習モデルをユーザーに提供し、ユーザー側で解析を行うことでデータのプライバシー保護にも貢献することができます。

まとめ

機械学習の一連のプロセスを自動化するためのサービスについて紹介をしました。これらのサービスを利用することで、機械学習やデータ処理に関する専門的知識が無い方でも簡単に機械学習を用いたデータ解析を行うことができます。今後はこのようなサービスを利用することでデータの取得から分析までを高速に処理し、より短い時間でサービスを提供することが重要になると考えられます。

参考資料

(堀井隆斗)