重回帰と特徴量 — 行列で書く
ウォームアップ — 第1章の振り返り
傾き w を動かして、原点を通る直線 ŷ = w x の損失(残差二乗和)を最小にしてください。
損失(残差二乗和) = 55.620
入力が1つの直線あてはめを、入力がたくさんある場合へ広げます。ここで「特徴量」という機械学習の中心概念が、実は線形代数の行列積そのものだと分かります。
重回帰 — 内積で予測する
入力が 個の特徴量 になると、予測は重み付き和です。
これは重みベクトル と特徴量ベクトル の内積。全データをまとめると、行列 の各行が1サンプル、 という1つの行列積になります。前レッスンの正規方程式 は、そのまま重回帰でも使えます。特徴量が増えても解き方は変わりません。
触ってみる — 基底関数で曲線を線形回帰に持ち込む
「線形回帰」は直線しか引けない、と思うかもしれません。ところが特徴量を作り替えれば曲線も引けます。入力 から という特徴量を作れば、予測は
これは を新しい特徴量と見れば、やはり重みについて線形。多項式回帰は重回帰の一種です。次数スライダーを動かしてください。
次数 1 訓練データの平均二乗誤差 = 1.112
次数を上げるほど曲線は点に食いつき、訓練誤差は下がります。でも次数を上げすぎると、点と点のあいだで曲線が暴れ出します。これが特徴量エンジニアリングの光と影 — 表現力を足すほど当てはまるが、当てはめすぎる危険も増える。第8章の過学習の芽が、ここに顔を出しています。
種明かし — 特徴量の正体
特徴量とは、生の入力を「線形和で表現しやすい形」に写す変換です。 という写像で、非線形な関係を線形回帰の土俵に持ち込む。ニューラルネット(第6章)は、この特徴量そのものをデータから学習する仕組みだと後で分かります。いまは「予測 = 特徴量と重みの内積」という骨格を押さえてください。
試してみよう
- 次数1のとき、多項式回帰はただの直線あてはめに戻りますか(戻ります。)
- 点が7個あるとき、それらを完全に通す多項式の次数はいくつでしょう(6次。パラメータ数が点数と同じになると通し切れます)
操作チャレンジ
点群にちょうど合う「最小の次数」を見つけてください。平均二乗誤差が 0.5 を初めて下回る次数です。
次数 1 訓練データの平均二乗誤差 = 1.1122(目標 < 0.5)