「機械学習を勉強しているけど回帰ってなんだかよくわからない!」からと、機械学習についての本などで必ずと言ってもいいくらい見かけるもののなかなかわかりづらいですよね。
回帰と一口に言っても単回帰や重回帰という言葉があったり、機械学習のアルゴリズムにも回帰という言葉の入った用語が出てくることも。しかし回帰という言葉自体がそもそも何を指しているのか、機械学習の中でどのような位置づけにあるのか混乱しやすいのも事実です。
そこで今回は、機械学習入門として回帰とは何か、機械学習で頻繁に見かける用語である「分類」との違い、代表的なアルゴリズムや評価指標など回帰にフォーカスを当てて学んでいきましょう。
それではまず、そもそも回帰とは何であるかからお伝えします。
機械学習でよく聞く回帰(Regression)とは
私達が数学で一次関数や二次関数を学んでいた時xとyの関係を重視してましたよね。回帰でもそれは同じ。データからxとyの関係を関数で表し、xが未知のデータであってもそれに対するyの値を予測していくことになります。
単回帰と重回帰を学ぼう
機械学習で回帰と見ると単回帰と重回帰の2つが出てきます。そこで単回帰と重回帰の違いも整理していきましょう。
初めに単回帰。
これは体重を求めたい値(目的変数)とする場合、体の要素から一つだけを体重を左右する変数(説明変数)として考えていくというものです。ここでは身長としましょう。
2つの変数の関係性はy=ax+bという一次関数で表すことが可能。ここで傾きとなるaと切片となるbがわかれば身長だけですぐに体重を計算できるということになります。
とはいっても同じ身長でも違った体重の人はたくさんいますよね。
そこで重回帰。
単回帰では体重を求めるのに身長だけで考えていたのに対し、重回帰では腹囲や胸囲など複数の要素も説明変数として考えていくことになります。
機械学習の基本!回帰(Regression)と分類(Classification)の違い
ところで、機械学習の中で分類という用語も見かけますよね。そこで回帰とどう違っているのか解説していきます。
これだとざっくりしているので分類についてもう少し見ていきます。
機械学習の中で分類を使うのは先程挙げた新しいレストランの好き嫌いなどデータがどのクラスに属するかを予測する時です。
好きか嫌いかといった評価軸だとクラスは2つとなるので2値分類。口コミサイトのような感じで好きか嫌いかを1から5の5段階で予測するなどクラスの数が2つより多い場合は多クラス分類と言います。
これまでの章で述べたように、回帰は変数と変数の間にある関係性を推測し未知の値からでも目的変数の答えを推測していくというもの。
目的に応じて適切な手法を選択しないと満足のいく結果が得られなくなる可能性があるので注意しましょう。
代表的な回帰(Regression)アルゴリズム
回帰と分類の違いに触れたので、回帰にどのようなアルゴリズムがあるか見ていきましょう。
ここでご紹介するのはリッジ回帰、Lasso回帰、Elastic Netの3つ。どれも線形回帰を正則化したもので、コスト関数に対し重みをどう扱うかによって3つのパターンに分かれます。
まずはそれぞれの項目に入る前に線形回帰、正則化、コスト関数、重みについて触れ、それを基に各アルゴリズムの説明に入っていきましょう。
数式は
y = w0 × x0 + w1 × x1 + w2 × x2 +・・・+ wm × xm
と表現されます。この数式を覚えておきましょう。
正則化ではこれを防ぐために正則化項というものをつけることで、学習したモデルが複雑にならないようにしています。
線形回帰、正則化、コスト関数、重みについて触れたのでそれぞれのアルゴリズムにも触れていきます。
ただ、ここだと重みは性質上完全に0になることはないため説明変数が多いと複雑になるというのが弱点。
これらの内容は以下の記事でも詳しくお伝えしています。ぜひ参考にしてください。
回帰で使われる評価指標
アルゴリズムを見てきたので評価指標も見ていきましょう。
機械学習では予測の正確さなど目的に応じ様々な評価の仕方があります。その中で回帰においてよく使われるのは平均絶対誤差、平均二乗誤差、二乗平均平方根誤差、決定係数の4つ。
・平均絶対誤差
平均絶対誤差は、実際の値と予測で出てきた値の絶対値を平均したもの。これが小さければ小さいほど誤差も小さく予測は正確であると判断することができます。
平均二乗誤差
平均二乗誤差は実際の値と予測して出てきた値の絶対値の二乗を平均したもの。二乗することによって大きな誤差が存在することになり値も大きくなるのが特徴。平均絶対誤差と同じく小さいほど正確な予測ができていると判断できます。
二乗平均平方根誤差
二乗平均平方根誤差は平均二乗誤差に平方根をとったもの。ここで平方根は二乗したことによる影響を補正するという役割を担っています。正確さの判断は平均絶対誤差や平均二乗誤差と同様。
決定係数
決定係数は回帰式がどれくらい実際のデータと当てはまっているかを表したもの。数字は0から1までで、1に近い数値であるほどうまくいっているということになります。
今回は機械学習入門として回帰にフォーカスを当てていきました。
今回お伝えしたものをまとめると、回帰は変数と変数の間にある関係性を推測し未知の値からでも目的変数の答えを推測していくというもの。目的変数の予測に使い変数が一つかそれ以上かで単回帰と重回帰に分かれます。
機械学習で回帰とともに見かける分類は、データを基にクラス分けをしていくもので、数値を予測する回帰と求めるもので性質が異なっていますよね。
また、代表的なアルゴリズムは「リッジ回帰」「Lasso回帰」「Elastic Net」。線形回帰に正則化させたうえでコスト関数に重みをどう扱うかでそれぞれ分かれます。
そして精度の評価を行うのは大きく分けて2つです。誤差の計算をすることと実際のデータとの当てはまりを確かめることで、前者で用いられるのは平均絶対誤差、平均二乗誤差、二乗平均平方根誤差の3つ。後者では決定係数でした。
これらの概念を理解することで機械学習をさらに理解する足掛かりとなるでしょう。ですから着実に押さえて機械学習を学んでいきましょう。