Azure MLって何? からワークスペース作成まで:Webブラウザーでできる機械学習Azure ML入門(1)(1/2 ページ)
数学的な知識やソフトウェア知識がないと挑戦しにくい印象の機械学習を、Webサービスとして利用できる環境が「Azure Machine Learning」です。全体のプロセスを見ながら体験して理解してみましょう。
本連載では、GUIやWebブラウザーなど手軽な環境を活用して、機械学習そのものの考え方の基本を理解していきます。
いきなりですが、読者の皆さんに質問です
いきなりですが……、
機械学習って興味ありますか?
機械学習を実際にしたことはありますか?
おそらく、こうした問いかけに対して、「興味はあるけど触れたことがない」という読者の方がほとんどだと思います。その理由を筆者は、どうやってやったらいいのか分からないからじゃないかなぁ、と思っています。
実際、機械学習を始めようとしても、まずどんな準備をしたらいいのかが分からない、必要なソフトウェアが分かったとしても、どう使っていいのかが分かりにくい、ということが多かったのではないでしょうか。
機械学習に真正面から挑もうとすると、必ず難解な数式や複雑な理論が登場しますし、それをプログラムに落とし込む場合には、ライブラリの意味や判定の方法を理解している必要があるからです。
そして、多くの方がこう思ってきたはずです。
やっぱり明日からやろう
翌日にはやっぱり明日からやろう
そのまた翌日にもやっぱり明日からやろう
多くの場合は、こう思ってしまって、結局やりません。
記事ではこの状態を脱却するために、Azure Machine Learningを使って機械学習を実際に試して遊んでみるところまで、やっていきます。
Azure Machine Learningとは?
「Azure Machine Learning(以下、Azure ML)」は Microsoft Azureの一つのサービスとして提供されている、機械学習が簡単に始められるサービスです。
「簡単にできると言っても、最初から機械学習を知っていないと使えないんじゃないの?」という疑問があるかもしれませんが、機械学習を知らない人でも、用意されているサンプルを使って、何回もトライアンドエラーをこなしながら、機械学習を学ぶことができるツールになっています。
必要な環境は全て提供されていて、Webブラウザーとインターネットに接続できる回線があれば、すぐに始めることできます。
加えて、お手軽系のサービスにありがちな、ちょっと凝ったことをやろうとした際に、カスタマイズの自由度が少ないために急に役立たずになるという問題もありません。「R」が使えたり、「HDInsight」とつないで「MapReduce」「Hive」「YARN」が使えたりと、かなり柔軟に対応できます。
そして、一度作った機械学習の仕組みはWebサービスとしてデプロイし、利用することもできます。Azure MLで作った機械学習の仕組みは、すぐにAPIで提供できるようになっています。最近はやりのマイクロサービスっぽいですね。
そもそも機械学習って何なんだろう
Azure MLはWebブラウザー一つで機械学習が始められるサービスです。つまり、自身で環境を用意して準備する必要なく、機械学習の仕組みを使うことができます。しかし、それでも取っ付きづらいかもしれません。
それは、多くの皆さんにとって「そもそも機械学習で、何ができて、何ができないのかよく分からない」という状態だからだと思います。
そこで、本稿ではまず、機械学習が何かということを、実際に身近で使われている例を挙げて紹介しておきます。そして、何となく理解できたところで、Azure MLに触れていくようにします。
コンピューターは基本的には決められた手順やルールに従って動作することしかできません。しかし、大量の判断材料と複雑な判断結果があった場合に、その手順をいちいち記述していたのではものすごく大変です。
例えば、迷惑メールの設定もそうです。「このアドレスとこのアドレスと、このドメインとぉ……」と、いちいち、迷惑メールの条件を挙げていって設定していくとします。
届くたびに迷惑メールアドレスを設定しても、迷惑メールを送る側も知恵を使い、次の迷惑メールは違うアドレスから送られてきます。これらをいちいち手作業で設定していくのは、いたちごっこのように不毛な作業ですね。1つ1つを登録してルールを作っても無駄になってしまいます。
そこで過去の例から特徴を学習させ、記述し切れない判断をコンピューターが自ら行えるようにしたのが機械学習です。
まずコンピューターに「このメールは迷惑メールだよ」「このメールは迷惑メールじゃないよ」という判断基準を教えて(学習させて)あげます。
そうするとコンピューターの中では、「迷惑メールっぽさ」が何となく分かってきます。
なんとなく迷惑メールが分かってきたコンピューターは、新しく届いたメールを見て、「あっこれは迷惑メールっぽい(*1)な」ということを判定できるようになります。ただし、「〜っぽいな」だけなので、完ぺきな精度ではないということは理解してください。もし、完ぺきを求めるのであれば大変な手順で膨大かつ複雑なルールを主導で記述し続けるしかありません。
* 機械学習の学術的な世界では、この「〜っぽい」に対して、「尤も(もっとも)」という言葉を使ったりします。妥当性を「尤もらしさ」と表現する感じです。この漢字を知っておくと後々幸せになれるかもしれません。
使ってみれば分かるさ
前置きはこのくらいにして、せっかく難しいことをしなくても機械学習の機能が使えるのですから、体験しながら学んでいきましょう。
まずは環境の準備をします。準備といっても、何かをダウンロードしてきたり、インストールしたり、設定したりといったことはないので安心してください。
ただ、Azureのアカウントを持っていることが前提となっていますので、まだ持っていない人は、フリートライアルの申し込みページから無料のアカウントを作成してください。これが事前準備の全てです*。
* 2014年11月13日、Azure MLで無償のトライアルが始まりました。まだ英語での情報しかありませんが、クレジットカード情報の登録なしにマイクロソフトIDのみで試用できるようです。
http://azure.microsoft.com/en-us/updates/azure-machine-learning-now-offers-free-usage-tier/
本稿ではこちらではなく、日本語化されているフリートライアル(本文リンク参照)を採用して解説を進めます。
Copyright © ITmedia, Inc. All Rights Reserved.