直線でない線形回帰
線形回帰モデルは、$y=ax+b$のような直線式をモデルにしたもののみを指すわけではないらしい。
係数の関係が線形結合できる1次元のものであれば線形回帰に分類される。
例えば
y = w_0 + w_1\cdot x_1+ w_2\cdot x^2 + w_3\cdot \sin x
のようなものも線形回帰モデルとなる
解釈
実は当たり前。
生情報の説明変数$\mathbf{X}$があるとき、特徴量として変数を扱うのに「特徴量エンジニアリング」を行うことがある。
これは、説明変数同士を掛けたり、ルートやlogを取ったり、あるいはもっと複雑な関数を適用したり、という処理を行う。
この特徴量エンジニアリングで施す処理を、変数$x_i$に処理をするということで、「$f_i(x_i)$」のように関数として表現する。
直線のモデル(重回帰)のモデルは特徴量エンジニアリング後の特徴量$f_i(x_i)$を用いると、例えば、
$ y = w_0 + w_1\cdot x_1 + w_2 \cdot f_2(x_2) + w_3 \cdot f_3(x_3)$ として表現できる($f_i(x_i)$は変数$x_i$に特徴量エンジニアリングを施したという表現)。
ここで、もし
- $f_2(x_2)$:変数$x_2$を2乗するという処理
- $f_3(x_3)$が変数$x_3$を三角関数$sinx$で表現する処理
という対応のとき、冒頭の式$y = w_0 + w_1\cdot x_1+ w_2\cdot x^2 + w_3\cdot \sin x $になる。
結局は特徴量エンジニアリングを行うことと、線形回帰モデルに関数を用いるという事とは同義と考えられる。
一般化した計算モデル
重回帰モデルの計算式は、こちらの記事の通りであった。
https://qiita.com/SumMae/items/f1c11ba64f8d67d8823b
要点を抜粋すると、
モデル式:
\mathbf{y} = \mathbf{X}\mathbf{w}
解:
\mathbf{w} = (\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X} \mathbf{y}
実はこれの$\mathbf{X}$の要素が関数$\phi(x_i)$になったと考えれば良い。
この関数$\phi(x_i)$の中には係数$\mathbf{w}$は無関係なので、「残差2乗和の$\mathbf{w}$微分=0」の計算の仕方も変わらない。
やはり、モデル式に関数を置くと考えるか、特徴量エンジニアリングにより何らかの計算を施したものを変数xとするか、という見方の違いだけである。
簡単だが、以上。