AIで「未来の数字」を予測する仕組み 単回帰・重回帰・回帰木入門【学習記録③】

AIで「未来の数字」を予測する仕組み 単回帰・重回帰・回帰木入門【学習記録③】

記事
IT・テクノロジー
シリーズ最終回のテーマは「回帰」です。第1回で人工知能の歴史を、第2回で分類(決定木・ナイーブベイズ・SVM)を扱いました。今回は、教師あり学習のもう一つの柱である「回帰」について、できるだけかみ砕いて解説します。

・回帰問題とは:数値を予測する問題

前回扱った「分類」は、答えが「犬か猫か」のようなカテゴリでした。一方「回帰」は、答えが「年収はいくらか」「気温は何度か」といった数値になる問題のことです。

回帰問題では、予測のもとになるデータのことを「説明変数」、予測したい数値のことを「目的変数」と呼びます。たとえば「年齢から年収を予測する」場合、年齢が説明変数、年収が目的変数です。学習データとして「20歳で年収400万円」「30歳で年収620万円」といった実際のデータの組を大量に用意し、そこから「年齢と年収の関係」を表す数式(モデル)を導き出す、というのが回帰の基本的な流れです。

・単回帰分析:直線でデータの傾向を捉える

説明変数が1つだけの場合を「単回帰」と呼びます。年齢と年収のように、1つの要素から1つの結果を予測するパターンです。

単回帰分析では、y = ax + b という直線の式を仮定し、この直線が実際のデータにできるだけフィットするように a と b を決めていきます。

「フィットする」の基準としてよく使われるのが「二乗誤差」です。それぞれのデータ点と直線との差(誤差)を求めて2乗し、それをすべて足し合わせた値が最小になるように a と b を調整します。差を2乗する理由は、プラスの誤差とマイナスの誤差が打ち消し合わないようにするためです。この「誤差の二乗の合計を最小にする」というアプローチは「最小二乗法」と呼ばれ、統計学の基本中の基本になっている考え方です。

導き出された直線がどれくらい「良い」モデルかを判断する際には、すべてのデータの平均値を通る水平な直線(何の工夫もしていない基準線)と比較して、どれだけ誤差が小さくなったかを見る、という考え方も使われます。

・重回帰分析:複数の要素から予測する

現実の問題では、結果に影響する要素が1つだけということは、むしろ稀です。たとえば年収は、年齢だけでなく勤続年数や役職、業界によっても変わってきますよね。

このように、説明変数が複数ある場合の回帰を「重回帰」と呼びます。式で表すと y = a1x1 + a2x2 + a3x3 + … + b のようになり、単回帰の「直線」が、重回帰では「平面」や、さらに高次元の「超平面」に拡張されたイメージになります。

重回帰分析を行うと、「どの説明変数が、目的変数にどれくらい強く影響しているか」を数値として把握できるようになります。「年収に一番効いているのは年齢より勤続年数だった」といったことがわかるわけです。ビジネスの現場で「何が売上に効いているのか」を分析するときなどにも、この考え方がよく使われています。

・回帰木:数値でもYes/No分岐で予測する

前回紹介した「決定木」を覚えているでしょうか。実は回帰にも、決定木と似た考え方を使う「回帰木」という手法があります。

回帰木は、数値データを「出力の近いデータ同士が同じグループに集まるように」Yes/No の質問で分割していく手法です。たとえば「Xは17以下か?」という条件でデータを2つに分け、さらにそれぞれのグループを別の条件でさらに2分割……という具合に木を伸ばしていきます。そして、末端のノード(これ以上分割しないと決めたグループ)には、そのグループに属するデータの平均値を予測結果として設定します。

決定木と回帰木は似ていますが、いくつか違いがあります。

* 決定木は「天気は?(晴れ・曇り・雨)」のように質問への回答が3つ以上になることもありますが、回帰木は必ずYes/Noの2択で分岐します。
* 決定木の出力は「カテゴリ」ですが、回帰木の出力は「数値」です。しかも回帰木は、学習データそのものには存在しなかった数値も出力できるという特徴があります(該当グループの平均値を返すため)。

分割の良し悪しを判断する考え方も、分類の決定木で登場した「情報利得」と似ています。回帰木の場合は、「分割前のデータと平均値との差」と「分割後のデータと平均値との差」を比較し、差が小さくなるように分割していきます。

・単回帰、重回帰、回帰木、どう使い分ける?

単回帰:説明変数が1つ。シンプルで解釈しやすい。まず全体の傾向をつかみたいときに。
重回帰:説明変数が複数。どの要素がどれくらい効いているかを分析したいときに。
回帰木:直線や平面では捉えきれない、複雑でデコボコした関係性を捉えたいときに。

・シリーズを振り返って

全3回にわたって、AIの歴史から教師あり学習の分類・回帰まで、大学の講義資料をもとに自分なりに整理してきました。

第1回で触れた「機械学習は万能ではない」という話を、最後にもう一度思い出しておきたいと思います。決定木でもナイーブベイズでも、単回帰でも回帰木でも、精度を左右するのは結局「どんな学習データを、どう用意するか」です。データにも手法にも唯一の正解はなく、目的に応じて適切な選択をしていくことが大切なのだと感じました。

まだまだ勉強中の身ですが、これから機械学習やAIの活用について、実践的な内容も含めて発信していきたいと思っています。もしこの記事が「なんとなく分かった」きっかけになったなら嬉しいです。最後まで読んでいただき、ありがとうございました。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す