前回は「AIの歴史」を振り返りました。今回からは、いよいよ機械学習の中身に入っていきます。テーマは「教師あり学習」の中でも代表的な問題である「分類」です。
数式も出てきますが、できるだけ直感的なイメージを重視して、初心者目線でかみ砕いていきます。
・おさらい:教師あり学習ってなんだっけ
教師あり学習とは、「データ」と「その正しい答え(正解ラベル)」をセットでコンピュータに与えて学習させる方法です。
たとえば犬と猫の写真をたくさん見せながら「これは犬」「これは猫」と正解を教えていくと、コンピュータは「犬と猫を区別する特徴」を自分なりに見つけ出します。これが「モデル」です。そして、正解のわからない新しい写真を見せたときに、学習したモデルを使って「これはたぶん犬」と予測する。これが教師あり学習の基本的な流れです。
この教師あり学習には大きく2つのタイプがあります。答えが「カテゴリ(犬か猫か、スパムかどうか)」なら「分類」、答えが「数値(年齢や金額)」なら「回帰」と呼ばれます。今回はこのうち「分類」を扱います。
・分類問題とは
分類問題とは、データをあらかじめ決められたグループのどれかに仕分ける問題のことです。「このメールはスパムかどうか」「この画像は犬か猫か」といった問いがこれにあたります。
学習データから「グループを見分けるための特徴」を見つけ出し、その特徴をもとに新しいデータも分類できるようにする、というのが基本方針です。分類の代表的な手法を3つ紹介します。
・手法1:決定木
決定木は、「Yes/Noで答えられる質問」を繰り返しながら、データを枝分かれさせて分類していく手法です。イメージとしては、フローチャートに近いものだと思ってください。
有名な例として、「天気・気温・湿度・風」の条件から「ゴルフに行くかどうか」を予測する、という定番の練習問題があります。過去のデータを見て、「天気で分けると綺麗にグループが分かれる」「湿度で分けるとあまり分かれない」といった具合に、一番きれいにグループ分けできる特徴から順に質問を選んでいきます。
この「どの特徴で分けるのが一番効果的か」を数値で判断する指標が「情報利得」です。少し難しく聞こえますが、考え方はシンプルで、「分割前はグループがごちゃ混ぜだったのに、この特徴で分けたらどれくらいスッキリ分かれたか」を数値化したものです。エントロピーという不純度の指標を使って計算しますが、要は「一番きれいに仕分けできる質問を優先的に選ぶ」ということだけ覚えておけば大丈夫です。
決定木には注意点もあります。学習データに欠けている値がある場合の対処や、学習しすぎて「個々のデータの特徴」をそのまま覚えてしまう過学習の問題です。過学習を防ぐために、学習しすぎたと判断した枝を途中で切ってしまう「枝刈り」という工夫が使われます。
・手法2:ナイーブベイズ
ナイーブベイズは、確率の考え方(ベイズの定理)を使って分類する手法です。
たとえば「天気=晴れ、気温=涼しい、湿度=高い、風=あり」という条件のとき、「ゴルフに行く確率」と「行かない確率」をそれぞれ計算して、確率が高いほうを予測結果として採用します。過去のデータから「晴れの日にゴルフに行った割合」「涼しい日にゴルフに行った割合」といった条件ごとの確率を集計し、それらを掛け合わせることで、複数の条件が重なったときの確率を求めます。
ここでポイントになるのが「ナイーブ(素朴)」という名前の由来です。本来、天気と湿度のように条件同士には関連がある場合が多いのですが、ナイーブベイズではそうした条件同士の関係をあえて無視して、「すべての条件は独立している」と割り切って計算します。厳密には正しくない前提を置いているのに、実用上はかなり良い精度が出ることが多い、というおもしろい手法です。
・手法3:SVM(サポートベクターマシン)
SVMは、2つのグループのデータがあるとき、その境界線(高次元では「超平面」と呼びます)を引いて分類する手法です。
ポイントは、ただ境界線を引くのではなく「どちらのグループのデータからもできるだけ距離が離れるように」境界線を引くことです。この境界線と一番近いデータとの距離のことを「マージン」と呼び、このマージンが最大になるような境界線を求めるのがSVMの考え方です。
境界線ギリギリのデータではなく、余裕を持った境界線を引くことで、未知の新しいデータに対しても間違いにくい、汎用性の高い分類ができるようになります。
・ 3つの手法、結局どう違うの?
決定木:Yes/Noの質問を繰り返して分類する。人間にも「なぜその結果になったか」が説明しやすいのが強み。
ナイーブベイズ:確率の掛け算で「どちらの可能性が高いか」を判定する。計算がシンプルで高速。
SVM:グループ同士の境界線を、余裕を持たせて引く。境界がはっきりしているデータに強い。
どれが一番優れているというわけではなく、データの性質や目的によって使い分けるのが実務での基本スタンスになります。
・次回予告
今回は「分類」について、決定木・ナイーブベイズ・SVMという3つの代表的な手法を見てきました。次回はもう一つの教師あり学習である「回帰」について、数値を予測する仕組みをやさしく解説していきます。回帰は「年収の予測」のように、ビジネスの現場でもよく使われる考え方なので、ぜひ次回もチェックしてみてください。