■それでは「やさしい機械学習」を始めましょう。
『機械学習(Machine Learning・MLと略します)』とは、機械にデータを学習させ、データに潜むパターンや特性を発見し、予測させることです。
この機械学習は、人工知能(AI)における研究課題として、1960年頃から研究されてきました。何度かAIブームがありましたが、その長い研究期間に、大学では様々なMLアルゴリズムが考え出され試されてきました。
そして近年、成績が良く実績あるMLアルゴリズムは、コンピューターパワーの急激な進化と伴って、大学などの研究機関がオープンソース(OSS)化しました。このOSSのフレームワークが火付け役となり、機械学習は一気に実用化段階に入ってきます。
それではまず、そもそも機械学習は、何の役に立つのでしょうか?
■その応用先を(2015年末の時点ですが)大まかに分類すると、次のようになります。
・予測:最も実用化が進んでいる領域です。一般的に、数値処理なら機械学習は比較的簡単に実用化ができ、その出力精度も高いので、現時点で最も使われている領域です。
・識別:近年のディープラーニングの登場により、一気にその精度が高まり、実用化が急速に始まったばかりの領域です。今後はさらに注目されていくことでしょう。
・実行:自動車の自動運転技術がAI技術の応用として、最も分かりやすいため、マスコミに頻繁に取り上げられている領域です。目に見えて分かりやすいのですが、実用化はもう少し先の話です。しかし最近、日本語のいわゆる「AI会話」が急速に発達したので、自然言語処理分野では一気に実用化が始まると思われます。
なお、ここで紹介している『新卒採用の推定』や『英単語の正規化』の実例は、実際に私がクラウドMLで試作したものです。
■では、この機械学習・MLを実際にビジネスで活用したい場合には、何が必要なのでしょうか。
機械学習を実際にビジネスにおいて活用するためには、上図にあるような3要素が必要となります。
・アルゴリズム:最も重要なのが、このアルゴリズムです。様々なアルゴリズムがありますが、その利用目的に合致したアルゴリズムでないと、期待する結果は得られません。しかし適切なアルゴリズムを確定できると、その後はデータを入れ替えるだけで機械学習の成果を、何度でも簡単に得ることができるようになります。
・計算環境:機械学習では大量の演算が必要となるため、2014年まではHPCなどの大規模な計算機リソースを準備する必要がありました。しかし2015年以降からは、各パブリッククラウドベンダーからアルゴリズムとセットになった「クラウドML」のサービスが開始されたため、今では独自の計算環境を準備する必然性はなくなりました。ただし、クラウドベンダー毎にアルゴリズムの種類に大きな差があるので、注意が必要です。
・データ:機械学習を活用する目的に沿ったデータは、非常に重要です。このデータの種類・精度・量で、その結果は大きく異なってきます。基本的には、データの種類とデータ量が多ければ多いほど、その出力精度は向上します。ただし、データの中に無用なゴミデータや誤ったデータが混ざっていたりするなど、データの質が悪い場合には、まったく成果は得られないので、注意が必要です。
■機械学習と言っても、様々な種類があります。この分類方法にもいくつかありますが、ここでは「教師データ」の有無で分類します。
・教師あり学習:最も一般的な機械学習です。まず様々な種類の大量にある正解付きのデータを分析し、予測モデルを作成します。そのMLモデルを用いて、未知のデータから予測を行う方法です。ベテランのデータアナリストでも、データ量が大きすぎて手に負えないようなビッグデータから、比較的簡単に精度の良い結果が得られるため、一気に普及してきました。
・教師なし学習:未知のビッグデータのため、どの観点で分析すべきか不明な場合の方法です。おもに「クラスタリング(後述)」で用いますが、試行錯誤が必要になります。最近は深層学習(Deep Learning)の登場で、その応用が広がりつつあります。
・強化学習:試行錯誤をしながら、目的に合った結果を得られると「報酬」が得られ、最も報酬が得られるように学習していく方法。最もAIらしい学習方法ですが、まだまだ研究段階です。2016年前半の時点で実用例は、ほとんどないと思います、というか私は知りません。
■機械学習を実際に活用するには、その用途に合ったアルゴリズムを選択する必要があります。
・回帰( Regression):売上予測などのような、過去の実績ある数値から、未知の数値を予測する際に用います。単回帰分析、重回帰分析など、統計学で古くから用いられている手法です。
・クラス分類(Classification):迷惑メールの判定などのように、データを適切なクラスに割り当てる手法です。2項分類のロジスティック回帰(Logistic regression)、多項分類(Multinomial classification)、決定木(Decision tree)などのアルゴリズムがあります。
・クラスタリング(Clustering):クラス分類と似ていますが、教師なし学習です。値やデータの類似性をもとに、データを自動的にグループ化する手法で、k-means法が有名です。
・情報圧縮・次元圧縮(Dimensionality Reduction):かつて顔認証で用いられてきた手法で、(画像)データの特徴的傾向をできる限り残しながら、データ総量を減らします。
※顔認証の手法は、今では Deep Learning が代表格です。
・レコメンデーション(Recommendation):Amazon などのECサイトで、以前から用いられてきた手法です。協調フィルタリングが代表格ですが、機械学習には含めない場合もあります。
★アルゴリズムの種類は多数あるため、利用目的に適したアルゴリズムを見つけるには、試行錯誤するしか現状ではありません。