このモジュールでは、線形回帰の概念について説明します。
線形回帰は、変数間の関連性を見つけるために使用される統計手法です。ML のコンテキストでは、線形回帰は特徴量とラベルの関係を見つけます。
たとえば、自動車の重量に基づいて自動車の燃費(ガロンあたりのマイルで表す)を予測したいとします。次のデータセットがあるとします。
ポンド(1,000 単位)(機能) | マイル / ガロン(ラベル) |
---|---|
3.5 | 18 |
3.69 | 15 |
3.44 | 18 |
3.43 | 16 |
4.34 | 15 |
4.42 | 14 |
2.37 | 24 |
これらの点をプロットすると、次のグラフが得られます。
図 1. 車の重量(ポンド)と 1 ガロンあたりのマイルの評価。車が重くなると、一般的に 1 ガロンあたりの走行距離の評価は低下します。
ポイントに近似直線を描画して、独自のモデルを作成できます。
図 2. 前図のデータに引かれた最適化直線。
線形回帰式
代数学的に、このモデルは $ y = mx + b $ と定義されます。ここで、
- $ y $ は 1 ガロンあたりのマイルで、予測する値です。
- $ m $ は直線の傾きです。
- $ x $ はポンド単位の入力値です。
- $ b $ は y 切片です。
ML では、線形回帰モデルの式は次のように記述します。
ここで
- $ y' $ は予測ラベル(出力)です。
- $ b $ はモデルのバイアスです。バイアスは、線の代数方程式の y 切片と同じ概念です。ML では、バイアスは $ w_0 $ とも呼ばれます。バイアスはモデルのパラメータであり、トレーニング中に計算されます。
- $ w_1 $ は特徴の重みです。重み付けは、線の代数方程式の勾配 $ m $ と同じ概念です。重みはモデルのパラメータであり、トレーニング中に計算されます。
- $ x_1 $ は特徴(入力)です。
トレーニング中に、モデルは最適なモデルを生成する重みとバイアスを計算します。
図 3. 線形モデルの数学的な表現。
この例では、描画した線から重みとバイアスを計算します。バイアスは 30(線が y 軸と交差する点)で、重みは -3.6(線の傾き)です。このモデルは $ y' = 30 + (-3.6)(x_1) $ と定義され、予測に使用できます。たとえば、このモデルを使用すると、4,000 ポンドの自動車の燃費は 15.6 マイル / ガロンと予測されます。
図 4. このモデルを使用すると、4,000 ポンドの自動車の燃費は 15.6 マイル / ガロンと予測されます。
複数の特徴を持つモデル
このセクションの例では、1 つの特徴(車の重さ)のみを使用していますが、より高度なモデルでは、それぞれに個別の重み($ w_1 $、$ w_2 $ など)を持つ複数の特徴に依存する場合があります。たとえば、5 つの特徴に依存するモデルは次のように記述されます。
$ y' = b + w_1x_1 + w_2x_2 + w_3x_3 + w_4x_4 + w_5x_5 $
たとえば、燃費を予測するモデルでは、次のような特徴量も使用できます。
- 排気量
- 加速
- シリンダー数
- 馬力
このモデルは次のように記述されます。
図 5. 自動車の燃費を予測する 5 つの特徴量を含むモデル。
これらの追加機能の一部をグラフにすると、ラベル(1 ガロンあたりのマイル数)と線形の関係があることがわかります。
図 6. 車の排気量(立方センチメートル)と燃費(マイル / ガロン)の評価。自動車のエンジンが大きくなるにつれて、一般的に燃費は低下します。
図 7. 自動車の加速度と燃費。車の加速時間が長くなると、通常は 1 ガロンあたりの走行距離の評価が高くなります。
図 8. 自動車の馬力と燃費。一般的に、車の馬力が高くなると、ガソリン 1 リットルあたりの走行距離は短くなります。