注目を集めるAmazon Machine Learning
2015年6月2日~3日に開催されたAWS Summit Tokyo 2015のAmazon Machine Learning(Amazon ML)のセッションに参加しました。セッション開始時間よりだいぶ早めに会場に行ったのですが既に満席、結局私も含めて立ち見の人が大勢いました。注目度が高いですね。
弊社でもAmazon MLの中身を評価した上でサービスに組み込めるのであれば活用していきたいと考えています。今回から連載形式でAmazon MLで何ができるのか、どのように使えるのかをレポートしていきます。
フルマネージドサービスでの提供
まずAmazon MLの特徴として、フルマネージドサービスでの提供であるということが挙げられます。これまでMachine Learningでの予測モデルを作ろうとするとRやPythonなどでコードを書いてというのが王道でしたが、Amazon MLですとコーディングの必要なく、サービスとして即座に利用できます。ML as a Service。作業のワークフローがパッケージ化されていることもあり、手軽に利用できますね。
もちろん「手軽に利用できること」と「作り込めること」はトレードオフの関係なので、モデルをチューニングできる要素はあまり残っていないということも言えます。「AmazonさんのMachine Learningの仕組みにデータをおいてプロセスを踏むと、ガラガラポンの学習した予測モデルを作れる。目的変数の予測に足りうる筋のいい説明変数を持ったデータセットだといい結果がでて予測できる。ただ、そうでないと、チューニングはできないし精度がでないときはスパっと別の方法を考えるか」という割り切りは必要なのでしょう。
弊社としては、「安くて、そこそこ精度が出そうな手軽な予測モデルを作れるがあると便利だな。それだけに頼ることはないし、オプションとして持っておきたい」と考えていたので、Amzon MLのサービスとしての思想は弊社のやりたいことにはマッチしています。
(※ちなみに、クラウドのフルマネージドなMachine Learningと言いますと、MicrosoftのAzure Machine Learningが先行して発表されていますね。できることの幅もちがうようですので、Azure Machine Learningについても後日レポートできればと考えています)
二項分類、多項分類、回帰の3モデルで作成可能
では次にAmazon MLで作成できる予測モデルの種類を見ていきましょう。二項分類、多クラス分類、回帰分析の3種類のモデルが用意されています。
二項分類
まず、二項分類モデルはYes or No、0 or 1といった2つの項目のどちらに属するかを予測するものです。例えば、「これはスパムメールであるかないか」とか、「この人は退会するかしないか」など2つの選択肢のうちのどちらに属するかを予測するモデルですね。裏で回っているアルゴリズムはこちらの記事で紹介したロジスティック回帰です。ロジスティック曲線の数式に当てはめて0側によるか、1側によるかを判断できるようにしているわけですね。
多クラス分類
二項モデルがYes/Noや0-1や二項の目的変数をもつのに比して、多項モデルは、目的変数が三項以上になったものです。例えば、複数カテゴリーで「これは本か、車か、食べ物か」というカテゴリー項目を予測します。アルゴリズムは多項式ロジスティック回帰とのことです。
回帰分析(線形回帰)
上述の二項分類、多項分類は、どのカテゴリーに属するかを予測するものですが、回帰分析は連続値での予測になります。こちらは「水曜日で降水量がXmmと予測されている明日の来店客数は○人ぐらい」といった具体的な予測値を実施してくれます。裏で回っているのは線形回帰式ですね。
このように3つのモデルが用意されていて、2つの分類系の予測と数値予測ができるAmazon MLですが、実際のモデル構築と予測はどのように実施するのでしょうか?次回、Amazon ML でのモデル構築プロセスと予測の実行について紹介します。