LoginSignup
12
20

More than 5 years have passed since last update.

ML基礎 | 回帰や線形という言葉についての初歩の初歩

Posted at

回帰 (regression)

Q. 回帰ってなに?

A. こちらがしっくり。

平均(位置の) 世の中の大半の物事は基本的には 「振り子」と同じように、ある平均 を持っていて、何もしなければ勝手 に平均に「戻る」(回帰する)性質 がある

tjoさんのおかげで救われていますね。。。(pp.18)

物事は振り子のように揺れるけど、なにもしなければ実は平均の位置を中心に移動しているだけで、常に戻る性質あるようですね。これを回帰する、というのか。

別の言い方ではy = a + bxで定式化することを回帰ってのもあったな。x から y を見る。xが原因、yが結果。
x を 独立変数 (independent variable) 予測変数 predictor 説明変数、Y を 従属変数 (dependent variable) 応答関数 response 被説明変数と呼ぶ。

Q. 回帰ともうひとつの種類として分類があるが?

A. 分類は与えられるカテゴリに分けること。回帰はデータの予測を行うこと。ですね。

Q. 線形回帰とは何か

A. 線形回帰とは、あるデータの集合から得た複数のプロット(変数)の関係を定式化すること。y=ax+b (xが独立変数、yが従属変数)など、最適な偏回帰係数(aやb)を求める。

Q. なんとか回帰があるけど何?

A. ざっくりこんな感じ。
- 単回帰: 説明変数が1つだけの線形回帰モデル
- 多項式回帰: 説明変数は1つなのだが次数(x^2とか)を上げた場合の回帰モデル。バイブルでは線形モデルともう呼んでない。
- 重回帰:説明変数が複数ある線形回帰モデル
- ロジスティック回帰:確率予測や、2クラスに分類することに向いている回帰

Q. 多項式回帰で次数が大きくなるとどうなるか?

A. 表現力が上がるが、過学習しやすくなる。

Q. 重回帰について覚えておくことある?
Q. 回帰予測の具体的な流れってどんな感じ?
  • ステップ1.前処理
  • ステップ2.予測関数準備しまーす。
    あるデータの集合の説明変数を使い、選んだ回帰モデルのパラメータ(偏回帰係数)を求める。

  • ステップ3. 識別関数・活性化関数準備しまーす。
    ここはロジスティック回帰でいうシグモイド関数、パーセプトロンでいうヘビサイド関数のこと。線形回帰モデルでは予測関数でそのまま連続値を予測するので、必要じゃないと思う。

  • ステップ4. コスト関数準備しまーす。
    線形回帰モデルでは最小二乗法を用いて推定。

  • ステップ5. 最適化アルゴリズムを準備しまーす
    最急降下法とか確率的勾配法とかですね。

  • ステップ6. 学習→最適な重み(係数)の発見→チューニング
    もしも結果が悪かったら。求めたパラメータや説明変数を増やしたり、高次方程式にすることで、学習モデルを目的のモデルに近づける。最終的に、指標などから判断して、条件を満たす学習モデルを選定し、未知のデータから予測を行う。

  • ステップ7. 最適な重み(係数)を発見。
    (ステップ2-7は、学習でひとくくりでも良いかも。)

  • ステップ8. 性能評価
    性能評価。指標としては以下がよく見ます。

    • MSE:誤差の二乗和の平均値で、学習用データ、検証用データともに小さければモデルの性能が良い
    • 決定係数:モデルの性能が良いほど1に近い量になる(MSEが0の場合に1をとる)。どうやって求めるかは今はパスします。
Q. 回帰問題のモデル評価の登場人物は?

A.

  • 平均二乗和(MSE)
  • 決定係数R^2 ⇦実はMSEの尺度を取り直したものにすぎない。決定係数についてもうちょっとまとめる。
    1. 推定した回帰式がどの程度の説明力を有するかを示す指標。当てはまり具合を表す。
    2. もっとも説明変数が目的変数を説明できる場合、決定係数は1になる。
    3. 実際のデータと推定された回帰式から「全変動」「回帰変動」「残差変動」の3つを求め、以下の式に当てはめる。

参考にしたのはこちら

もちろん他にもいろいろです。

Q. 決定係数をいかなる場合も信じても良いか?

A. 決定係数が高ければ、汎用性があるモデルと言えるのか、かぁ。実は信じるべきではない、ということでした。

自由度調整済み決定係数というものがあって、母集団を意識して自由度を加味した自由度調整済み決定係数のほうが正確。

線形 (linear)

Q. 。。。あれ、そもそも線形って?

A. 説明変数と回帰係数のどちらに着目しているかで記載が異なっている。
記事によってどこまで書いてあるかで線形・非線形の定義が変わっている。

f(x+y)=f(x)+f(y)
f(kx)=kf(x) ただし、kは実数
つまりこの2つの性質が成り立つ関係を線形と言います。
したがって、y=2x+1は線形ではありません。こういうのは非線形と言います。

ここでは、線形は、y = 5x、非線形は、それ以外ってことですね。

線形回帰が「線形」であるのは、目的変数 Y が説明変数 X の係数 β に対して線形であるためである。たとえば

y = β0 + β1*x + β2*x^2+ 誤差項

という回帰は x に対して明らかに線形ではないが、係数 β に対して線形であるから、線形回帰の問題に分類される。

まとめると、線形とは下記の定義を満たす式で、説明変数・係数のそれぞれに対して線形か否かは変わるという感じでしょうか。

f(x+y)=f(x)+f(y)
f(kx)=kf(x) ただし、kは実数

Q) 線形って言葉がたくさんあって錯乱気味。もう一度説明できる?

A. 以下にまとめる。

  • 線形

    • 「線形」というのは、「目的変数」と「説明変数」の関係性が線形(変数と変数の関係が直線的)であることを指す。モデル内の各項が加法であり、項を乗算するパラメータが1つだけ含まれている場合は線形。
    • (式例) 応答 = 定数 + パラメータ * 予測変数 + ... + パラメータ * 予測変数
    • 非線形形状としては、凹、凸、指数的な増加または減少、シグモイド(S)、および漸近曲線など。例えば「exp」とか「log」とかの関係性が入ると、「線形モデル」ではなくなる。
  • 線形モデル

    • 応答 = 定数 + パラメータ * 予測変数 + ... + パラメータ * 予測変数のように線形結合の目的関数をモデル化したもので直線になる。
  • 非線形モデル

    • 非線形モデルは曲線。(例)多項式回帰
  • 線形回帰

    • 目的関数をあるモデル(コスト関数)に当てはめて、パラメータを求めるまでが線形回帰。
    • 多項式回帰での x に対しては線形ではないが、係数 β (パラメータ)に対しては線形であるため、線形回帰の問題に分類される。[参考]
  • 線形分離可能/線形分離不可能

    • 線形分離可能とは、線形モデルによってクラス1と0に分離できること。線形分離不可能は線形モデルで分離できないこと。[参考]
Q. 線形分離とは??

A.
直線を引くことによって分類することを言う。

相関分析 (correlation)

Q. 相関って説明できる?

x と y に区別をもうけず対等に見る。

身長と体重のようにどちらがどちらを決めるという性質にない 2 次元のデータは相関としてとらえることになります。

相関係数の説明は一般的に次のようになります。
- 0.7 <= x < 1.0 強い相関
- 0.4 <= x < 0.7 中程度の相関
- 0.2 <= x < 0.4 弱い相関
- 0.0 <= x < 0.2 ほぼ相関なし

Q. 相関の落とし穴って?
12
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
20