はじめの一歩に役立つ資料を集めました
機械学習を始めたくなる!機械学習アルゴリズム解説スライドまとめ
コンピュータに過去のデータを分析させ、未来のデータを予測させる機械学習。商品のレコメンドシステムや写真の顔検出など、身近なところに機械学習は広く活用されています。また、Microsoftの「Azure Machine Learning」、Amazonの「Amazon Machine Learning」、Googleの「Cloud Machine Learning」、といったクラウド機械学習サービスが公開されたことで、機械学習を専門としないエンジニアでも活用できるようになりました。
そこで今回は、「機械学習でどんなことができるか」をつかんでもらうために、機械学習にはどんな手法があるのかをざっくり把握できるスライドをまとめました。機械学習に興味をお持ちの方はぜひご参照ください。
パーセプトロン
パーセプトロンは1957年に考案され、1960年代にブームを巻き起こしたアルゴリズムです。たとえば「送られてきたメールがスパムメールか否かを判別する」といったように、与えられたデータを2つに分類する際に用いられます。パーセプトロンは機械学習の基礎となる部分が多いため、最初の一歩を学ぶにはオススメです。下記のスライドではパーセプトロンをわかりやすく説明しているので、機械学習を学ぶ際のはじめの一歩としてご参照ください。
目に見えるパーセプトロン
https://speakerdeck.com/tkengo/mu-nijian-erupaseputoron
単純パーセプトロン基本のき
Deep Learning
Deep Learningは、人間の脳のような学習を行うニューラルネットワークの層が複数層にも重なった機構を持つアルゴリズムです。Googleによる、「コンピュータが猫を認識できるようになった」という有名な事例をはじめ、Deep Learningといえば画像認識ばかりが先に立ちますが、Deep Learningの応用分野はそれだけにとどまりません。テキストデータを用いた株価予測や、MIDIファイルの楽曲からオリジナルのジャズを作曲するDeepJAZZなど幅広い分野に用いられています。ここではDeep Learningの概要を説明した2つのスライドを紹介します。
一般向けのDeep Learning
機械学習チュートリアル@Jubatus Casua
ロジスティック回帰
ロジスティック回帰は統計学や医学の分類などに用いられるアルゴリズムです。ロジスティック回帰の特徴は、データを分類する際に、分類に対する信頼度が得られるという点です。たとえば、「ダイレクトメールをユーザーへ送った際に、各属性のユーザーが何%で反応するか」といったように、“0か1”かでなく、確率を予測することができます。データ分析に関心がある方は、一度チェックしてみてはいかがでしょう。
ロジスティック回帰の考え方・使い方 - TokyoR #33
SVM(サポートベクターマシン)
SVMはパーセプトロンの発展形ともされるアルゴリズムです。基本的には与えられたデータを2種類に分類するために用いられるもので、他のアルゴリズムと比べ精度の高い分類ができるとされています。下記のスライドでは、SVMの基本的な理論から、実際にアニメのキャプチャ画像を用いた分類の実例を紹介しています。
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
さらに踏み込んだ内容に触れたければ、SVMの利点・欠点や関数の中身などを解説した下記のスライドをチェックすると良いでしょう。
SVMについて
K-means(K平均法)
K-meansは、クラスタリングと呼ばれる、データを性質の近い分類同士でグループ分けするためのアルゴリズムのひとつです。用途としては、顧客の分類などのマーケティングが一例になります。クラスタリングの中では古典的かつメジャーな手法のため、押さえておく価値があるでしょう。下記のスライドでは、K-meansを用いたクラスタリングをわかりやすく解説しています。
今日から使える! みんなのクラスタリング超入門
トピックモデル
トピックモデルは、先述したクラスタリングの手法のひとつで、大量の文章から話題になっているトピックを抽出したり、文章とトピックの関連付けを行ったりするなど、主にテキスト分類に用いられるアルゴリズムです。
特徴のひとつを挙げると、たとえばK-meansでクラスタリングした場合は、分類したデータは必ずいずれかのグループに分けられますが、トピックモデルの場合は分類されたデータが複数のグループに重複することを許すという性質があります。
ニュース記事をクラスタリングするケースを例として考えてみると、複数のグループに属するような単語をいずれかの1つのグループに分けてしまうと、うまく分析をできなくなる可能性があります。トピックモデルでは重複を許容することで、文章の多様性に対応しやすくなっています。
下記のスライドでは、女性のファッションコーディネートアプリ「iQON」にて、ユーザーへ適切なコンテンツを表示するために、トピックモデルを活用した事例を紹介していますのでご参照ください。
トピックモデルを用いた 潜在ファッション嗜好の推定
ナイーブベイズ(単純ベイズ分類器)
ナイーブベイズは主にテキスト分類などに使われるアルゴリズムで、メールのスパム/非スパム判定やWebに投稿された記事のタグ付けなどに活用されます。テキストなどのデータを分類するアルゴリズムは他にもありますが、ナイーブベイズはベイズの定理と呼ばれる確率の概念が持ち込まれている点が特徴的です。下記のスライドではナイーブベイズの基礎だけでなく、一歩進んでMahaut(機械学習を行うためのライブラリ)実装までを解説しています。
はじめてでもわかるベイズ分類器 -基礎からMahout実装まで-
決定木学習(樹木モデル)
決定木学習は、たとえば「ユーザーがある商品を購入する/しないを分ける条件は何か」といったデータを分析するためのアルゴリズムのひとつです。先述した例でいうと、商品を購入した/購入しなかったユーザーのデータの数々を、性別・年齢・地域などの条件ごとに分岐させていき、「どういった条件のユーザーならば商品を購入するのか」といった分類を行います。決定木学習では、条件ごとに枝分かれしていく樹形図のようなグラフ――決定木が作られるため、人間が見てもコンピュータがどのように分類を行ったのかという過程を理解しやすいという性質があります。
パターン認識 第10章 決定木
決定木学習
Random Forest
Random Forestは、先述した決定木学習を複数活用し、それぞれの結果を組み合わせることで分析の精度を高めるアルゴリズムです。Random Forestは大量のデータを必要としますが、精度の高い予測/分類を行えるという特徴があります。身近なところでいうと、Microsoftから発売されている、ジェスチャー入力や音声認識を可能にするセンサーデバイス「Kinect」の人体パーツ識別技術には、Random Forestが応用されています。
機械学習ハッカソン:ランダムフォレスト
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
(多腕/マルチアーム)バンディットアルゴリズム
バンディットアルゴリズムとは、限られた試行回数の中でより良い選択をするためにはどうすればいいか、を探すためのアルゴリズムです。ここまで紹介したアルゴリズムが「与えられたデータを基に、未来を予測する」ものである中で、バンディットアルゴリズムは「学習用データがない状況から、目的変数を最大化させるために試行錯誤しながら学習していく」という点で、ちょっと毛色が異なります。選択肢の検証と効率的な選択の割合を最適化するアルゴリズムであるため、ビジネス向きだとされることもあります。
身近なところでは、「クックパッド」の検索結果で表示させるコンテンツの最適化にも用いられており、他にもマーケティングやゲームなどにも応用されているバンディットアルゴリズム。興味をお持ちになった方は、下記のスライドを参考にしてみてください。
バンディットアルゴリズム入門と実践
まとめ
今回ご紹介したスライドは、機械学習の基礎を解説している内容のものを選びました。とはいえ、アルゴリズムを完璧に理解するためには高度な数学的理解が求められます。そのため、「機械学習を始めたい」という方がアルゴリズムを理解してからコーディングを始めようとすると、いつまでたっても先に進めないおそれがあります。概要を掴んだら、アルゴリズムの理解が完璧でなくともサンプルコードを書いてみる、といったところから始めてみるのも一つの手でしょう。
フリーランス(個人事業主)とは、特定の企業・...