それでは、次に機械学習の基本的な原理を、非常に単純化して説明します。
ここでは機械学習が、「統計学から発達した学問」と考えると、理解しやすいと思います。
例えば、商店がチラシを配布してある商品を販売しようとします。その商品が何個売れるかの予測ですが、チラシの配布数、販売日の曜日、その日の天候などによって、変動することが考えられます。
つまり商品の販売数に影響を与える「因子」は多数あるため、上図の左下のような近似式になります。これを単純化して「チラシの枚数」だけにし、チラシ枚数と商品販売数の実績値をプロットします。
この場合、だいたいチラシが多いほど販売数が増えるような傾向があったとします。これを実績値と誤差が最小になるような直線を引いたのが、左上のグラフです。
この直線式が得られたら、右上のグラフのように、チラシ枚数 x を入力すると、販売予想数 y が求められるようになります。これが最も単純な「単回帰分析」です。この数式の右辺に複数の変数があると、「重回帰分析」になります。
機械学習では、アルゴリズムとはこの数式のことで、教師データとは実績値のことです。学習することで、この式の傾き w や切片 c が自動的に決まります。このようにして、機械学習では「予測」します。
次は、クラス分類です。
クラス分類は、与えられたデータを適切な「クラス」に分類する、教師ありの機械学習です。左の「決定木」は、木構造でクラス分類を行う手法です。この特徴は、分類モデルを視覚的に理解できることです。しかし学習速度は速いのですが、一般的には精度があまりよくないと言われています。
右の「ロジスティック回帰」は、過去のデータをもとに、「あるクラスに該当する確率」を予測します。この確率に対して、「閾値」を設定し、それ以上か未満でクラスを割り当てる手法です。
例題の迷惑メール判定は、迷惑メールか普通のメールかの2種類に分けるので、「2クラス分類」です。迷惑メールの判定閾値を上げると、「誤判定」は減りますが「判定漏れ」が増えるトレードオフの関係にあります。
このロジスティック回帰の「判別式」をクラス毎に用意すると、「多クラス分類」が可能となります。
では、次に教師なし学習の「クラスタリング」を説明します。
クラスタリングとは、与えられたデータの値の類似性をもとに、自動的にグループに分ける手法です。クラス分類と似ていますが、正解付データの不要な教師なし学習です。
例えば、左下のグラフのように学校の生徒たちの体重と身長をプロットします。この場合、大雑把ですが身長が高くても体重の少ない「やせ型」、逆の「肥満型」、中間の「標準型」に分かれます。このようにデータ同士が近くに集まって集団を形成すること、すなわち各変数間の距離が小さいデータをグループにまとめることを、クラスタリングと呼びます。
この変数間の距離とは、右上のグラフのようにデータAとデータBの距離(ユークリッド距離)を例にすると、「三平方の定理」で計算できます。変数が増えるとグラフ化できませんが、変数が100個でも同様な計算で可能です。このように、データとデータの距離が小さいほど類似度が高いとします。
データの類似度を測る方法には、このユークリッド距離以外にも、データとデータのベクトルの向きの近さ(角度)で評価する方法(コサイン類似度)もあります。
次はレコメンデーションです。
レコメンデーションは、ECサイトなどで利用者が興味を持ちそうな商品を推測し、利用者に対して推奨する仕組みです。推測する方法としては、まずECサイト上で投稿したレビュー点数、行動履歴、商品購入の有無などから、その利用者に「評点」を付けます。その評点から利用者の嗜好を分析して、お薦め商品を推測するのが「協調フィルタリング」です。
利用者が高い評点を与えた商品と、類似した商品をお薦めするのが「アイテムベースレコメンド」です。対象者と似た嗜好の利用者を複数選び出して、その利用者の多くが高得点の商品の中で、対象者がまだ購入していない商品をお薦めするのが「ユーザーベースレコメンド」です。
新商品の場合には、評点がないため推薦されない恐れがありますが、この場合には「商品属性」が似ている既存の商品のスコアから判断します。
新規利用者の場合でも、プロフィールが似た既存利用者から情報を代用して、お薦め商品を推測します。
回帰やクラス分類などの「教師あり学習」の場合、この教師データをもとに数式の変数(パラメータ)をコンピュータが自動的に決定します。
・上図グラフの左では、変数が1個の予測式なので大きな誤差が生じます。
・中央のグラフは、変数を4個とした場合の予測式で適切にみえます。
・右のグラフは、変数を7個にした場合の予測式ですが、教師データの些細な誤差を無理に消そうとして、データがない箇所では大きな誤差が生じています。
このように、教師データに合わせ過ぎた状態を「過学習 over-fitting」と呼び注意が必要です。これを避けるためには、教師データとは別に正解付きの評価用のデータも用意して、検証する必要があります。
ただ教師データの件数が膨大にあれば、このような過学習は解消します。しかし実際の利用現場では、入手可能な教師データの数は限られている場合が大半です。したがって、その制約条件の中でいかに精度良い予測モデルを得るのかを考えなければなりません。