1.はじめに
このような単純な例を見てみましょう。幅x1
平方メートル、x2
の寝室、市内中心部までの距離がx3
kmの家の価格はいくらですか。その都市の1000戸の住宅の統計を持っていたとします。面積、寝室の数、中心部までの距離についてのパラメータを持った新しい家があれば、その家の値段はわかりますか。もしそうであれば、予測関数y=f(x)
はどんな形があるか。ここで、x=[x1,x2,x3]
は入力情報を含む行ベクトル、y
は出力を表すスカラー数(この例では家の価格)です。
単純な方法では、次のことがわかります。
- 住宅面積が大きいほど、住宅価格は高くなります。
- 寝室の数が多いほど、住宅価格は高くなります。
- 中心から離れるほど住宅価格は下がる。
次の簡単な関数は、住宅価格と3つの投入数量との関係を表すことができます。
ここで、w1,w2,w3,w0
は定数、w0
は[バイアス]と呼ばれます。y=f(x)
上記の関係は線形関係(linear)です。私たちがしている問題は回帰問題です。 したがって、最適な係数{w1,w2,w3,w0}を見つける問題は、線形回帰問題と呼ばれます。
y
は(トレーニングデータセットに含まれる統計に基づく)結果の実際の値です。一方、ŷ
は線形回帰モデルによって予測される値です。 一般に、y
とŷ
はモデル誤差のために2つの異なる値ですが、この差は非常に小さいと欲望されます。
2. 数学解析
2.1. 線形回帰の形式
上記の式(1)で、をベクトル(列)に設定した場合、係数は最適でなければならず、
は展開された入力のベクトル(行)です。 一番上の数字1は、計算をより簡単かつ便利にするために追加されています。 そして、式(1)は次のように書き直すことができます。
2.2. 予測誤差
実際の値y
と予測された値ŷ
の差e
が最も小さいことが欲望されます。 つまり、次の値をできるだけ小さくします。
ここで、係数1/2は計算の便宜上のものです(導関数を計算するとき、数字1/2は消滅します)。e
は負の数になる可能性があるため、e^2
が必要です。e=-∞
が非常に小さい場合、偏差が非常に大きいため、最小のeは正しくありません。
2.3. 損失関数
同じことがすべてのペア(入力、結果)
についても起こります。ここで、N
は観測データの量です。 欲しいのは、合計誤差が最小で、次の関数が最小値になるようにw
を見つけることと同じです。
関数は、線形回帰問題の損失関数と呼ばれます。 常に損失(誤差)が最小であることを望みます。これは、この損失関数の値ができるだけ小さくなるように
w
係数ベクトルを見つけることを意味します。 w
の値は損失関数が最小値になる最適点と呼ばれる。次のように表される。
解を見つける前に、損失関数式(2)の演算を単純化します。 を学習データのすべての出力を含む列ベクトルに設定します。
は入力データ行列(拡張)で、それぞれがデータ点です。 それから、
損失関数はより単純な行列で書かれます。
はユークリッドノルム(ユークリッド標準、またはユークリッド距離)、つまり
はベクトルzの各要素の二乗和です。 ここで、式(3)のように書かれた単純な形の損失関数があります。
2.4. 線形回帰問題の方程式の解方程
最適な問題の解を見つける最も一般的な方法は、0で微分方程式(勾配)を解くことです。もちろん、微分を計算してゼロ微分方程式を解くときもそれほど複雑ではありません。 幸いにも、線形モデルでは、これら2つは実行可能です。
損失関数のwの導関数は次のとおりです。
ゼロ導関数の式は次の式と等価です。
(とは
を
b
に設定する)。逆模倣の概念では、線形回帰問題の最適点は次の形式になります。
3. 最後
以上にLinear Regressionという問題を数学的な知識を説明しました。線形回帰問題は、機械学習における教師あり学習の非常に基本的な問題です。 次の記事では、線形回帰を使って実際的な問題を提示します。