機械学習とは何か
機械学習とは、データとアルゴリズムを用いて機械に「学習」させることです。wikiには「人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。」とありました。より効率的にデータの分類をしたり、人間が気がつかなかった発見を可能にします。またデータを元に学習し、新たなアルゴリズムを機械が勝手に構築してくれるので、人間の負担が減るというメリットもあります。
##機械学習に必要なもの
###機械に入力する元データ
機械学習の基本として、データを元に反復的な処理を繰り返す事で「学習」を可能にしています。そのため、元データは必要不可欠ですし、逆にデータが不十分だとあまり信頼性は期待できません。(被験者の少ない確率問題などと一緒です)
###機械学習のためのアルゴリズム
データを処理し新たなアルゴリズムを構築していくためには、その元となるアルゴリズムが必要です。後述していますが、アルゴリズムにもいくつかの分類があり、どんなデータが欲しいのかによって使い分けます。また、機械学習にとって何度も繰り返し「反復」して学習することが重要なため、反復プロセスとそれを自動化するプロセスを組み込む必要があります。いくつか例を紹介します。
####・ディープラーニング
通常の機械学習では人間がコンピュータに対して基準を設定するのに対し、ディープラーニングはその基準をコンピュータ自らで発見します。将棋や囲碁のAIのやつです。
####・パーセプトロン
人間の神経細胞は他の細胞から複数の入力を受け取り、入力が一定値に達すると信号を出力しますが、これをモデル化し、発展させたのがパーセプトロンです。スパムメールのジャッジなど、単純な識別の機械学習に利用されてます。
####・ロジスティック回帰
統計学や医学の分類で活用されるアルゴリズムです。パーセプトロンのように「0か1」かではなく、物事の発生確率を分析するために使用します。仕組みは分かりませんが、分析に対する信頼が得られるようです。
####・トピックモデル
大量の文章の中から関連する事項や、話題になっているトピックを抽出する際に使用されています。単語が発生する確率を分析しているため、著作権違反を検査するためのコピペチェックツールなどにも活用されています。
###アンサンブル・モデル
複数のモデルを作って精度を高めようという考え方のことで、アルゴリズムではないです。簡単にまとめると、1つのアルゴリズムから抽出されたデータより、複数のアルゴリズムから抽出したデータをすり合わせたほうが正確なデータがとれる!だからモデルをいくつか作ろうという!感じです。人間でいうグループワークみたいな感じでしょうか。
#機械学習の主な使い方は識別or予測
機械学習の使い道として多いのが、識別や予測です。それぞれについて解説しますが、両者とも主に、「教師あり学習」と呼ばれる仕組みを利用しています。これは「教師あり」という名の通り、既に答えが決まっているデータを機械に反復させるアルゴリズムのことです。一方で、勝手に機械が学習していくアルゴリズムでは、答えのないデータを使用することが多いです。
###分類・識別する
入力されたデータを正しく解析することが出来るようになります。例えばカメラの顔検出などがこれにあたります。答えのあるビックデータを利用し、入力データと答え(画像と顔の特定)の紐づきを「学習」させることで、新たな入力データに対する識別を可能にします。
###予測する
入力されたデータに対し、精度の高い予想ができるようになります。例えば株式市場の予想などがこれにあたります。入力データとすでに決められた出力(A時点とB時点)の関係性を「学習」させ、より精度の高い予想を可能にします。
###発見する
これは少し特殊で、分類や予測が既に設定された基準に対して整合性を上げていくのに対し、こちらはアルゴリズムで反復する中で、関係性や規則(ルール)を発見していきます。機械が勝手に関係性を発見していくため、人間の命令を必要としません。そのため機械がどんどん賢くなり、ターミネーターのような世界がくるかもしれません。
###身の回りの機械学習例
・通販サイトなどの商品レコメンド
・カメラなどの顔検出
・顧客セグメンテーション(顧客の行動によって提案を変える)
・Siriなどの会話認識
他にも、数字や文字の認識や将棋アプリなど様々な所で使われています。
#まとめ
機械学習ってよくわかんないから調べてみようという思いから書いてみたのですが、思ったより表層的な部分で終わってしまいました、、、
どんなプログラムで機械学習が進んでいくのか正直まだピンと来ていないので、やはり実際に触れてみないといけないと感じました。来月の勉強会のネタはこれにしよう。あとqiita記事のネタも。
面白いなと思ったのは、昔は「こうやったら売れる」みたいなのが会社に勤めてきた経験値とかないと分からなかったけど、機械がデータという経験値を持てるようになって、そういった差はなくなってくる(むしろデータ蓄積量なら比にならない)のかなということ。
サイバーや博報堂などAI活用の事例は増えているし、AIを使うためのプラットフォーム整備もMicrosoftやamazonを始めとして進んでいることからも、今度どんどん機械学習を見ることは増えていくと思います。