機械学習(マシンラーニング)というとなんだか新鮮で目新しくカッコいい雰囲気を醸し出していますが、その正体は漠然としか知られていないように見受けられます。
今回は、機械学習(マシンラーニング)とは何ぞやということで、その正体を炙り出してみましょう。
Table of Contents
教師あり学習と教師なし学習
機械学習とはその名の通り、「機械が学習する」ことを指します。
何か特別なものを思い浮かべるかもしれませんが、統計学で出てくる「回帰分析」も機械学習の1つです。
回帰分析の本質は「既知の事実をもとに、未知の状態を推測する」点にあります。
回帰分析の場合、回帰式を導くために「既知の事実に関するデータ」が用いられます。このように法則を見出すために使われるデータを「教師データ」と呼ぶことがあります。
X1ならY1、X2ならY2、・・・というように、入力(X)と出力(Y)の組み合わせをいくつも教え込むことで、機械に学習させるわけですね。
「教師あり学習」に分類される機械学習
回帰
繰り返しになりますが、回帰分析の本質は「既知の事実をもとに、未知の状態を推測する」ところにあります。
単回帰分析、重回帰分析などありますが、通常は一種類の変数で結果を予測することは困難ですから、重回帰分析を用いるケースがほとんどでしょう。
統計学の教科書でも最初の方に学ぶ基礎的な手法です。
回帰分析も機械学習の1つなんですよ。ここ重要。
代表的な手法
- 線形回帰
- ベイズ線形回帰
クラス分け
こちらも古典的な統計学に出てくる手法の1つです。
ロジスティック回帰分析などが有名でしょう。
重回帰分析と同様に、結果を予測するための変数は複数用いられることがほとんどです。
重回帰分析との違いは、予測結果が「クラスに分かれている」点です。
連続変数ではなくて離散変数になっている、とも言えますね。
もう少し具体例を挙げるなら、予測結果が「0か1か」や「AかBかCか」のような、二値変数あるいはカテゴリ変数になっています。
代表的な手法
- ロジスティック回帰
- 多クラス分類
- Decision Tree
- ニューラルネットワーク
- サポートベクターマシン
「教師なし学習」に分類される機械学習
クラスタリング
クラスタリングは、前述の「クラス分け(教師あり学習)」とは区別して使われます。
その大きな理由は、クラスタリングは「教師なし学習」であるためです。
クラスタリングをする際には、AとBはどの程度近いか、ということを数値化します。
「どの程度近いか」を測る方法は、素直に2地点間の距離を測る方法と根本は同じです。
三平方の定理を使うんですね。
直角三角形の斜辺cは、その他の辺の長さをaとbとしたときに、c2=a2+b2 で表されるというあれです。両辺の平方根を取れば c の値が a と b から導けますね。
この時の c の値を、ユークリッド幾何学にちなんでユークリッド距離などと呼びます。
右辺の変数は n 個まで拡張することができ(n次元まで拡張可能)、n個の変数であってもユークリッド距離を計算するときは平方根で計算されます。
情報圧縮
情報圧縮というと難しそうな印象を受けますが「顔認証技術」に使われるような手法です。
大量にある情報の中から、特徴を決めるための決定的な要素を炙り出す手法、ともいえるでしょう。
無駄あるいは冗長なデータを省き、重要なデータのみに絞るために使われることがあります。
結果の予測に有用な変数もありますが、集めてもあまり使いどころのないデータもありますから、その区別をするということですね。
データや情報の優先付けにもなるため、将来のデータ収集の労力をどこに割けばよいか考えるヒントにもなります。
代表的な手法
- 主成分分析
- 特異値分解
「教師あり学習」と「教師なし学習」の両方に分類される機械学習
レコメンデーション
イメージしやすいのは、Amazonや楽天のようなEコマースのサイトで「あなたへのオススメ」として自分が興味のありそうな商品が表示される仕組みです。
代表的なものに「協調フィルタリング」があります。
協調フィルタリングとは、「Aさんに類似した人が持っている商品のうち、Aさんはまだ持っていないものは、Aさんが欲しい商品だろう」という仮定に基づいた手法です。
「Aさんに類似した人」の定義が必要になりますが、この部分に例えばクラスタリングのような「教師なし学習」の手法を用いることもできるでしょう。
同じクラスターにいる人達が、商品Xを買う確率をはじき出すには、過去の購買履歴のデータを用いて、回帰のような「教師あり学習」の手法を用いるのがシンプルです。