paroponの日記

興味のある技術の覚え書きです

最小二乗法をpythonで試す

最小二乗法は、データをM次関数で近似する手法です。

「これなら分かる応用数学教室」という本がとても分かりやすいです。
2次関数y=ax^2+bx+cに近似する例で簡単に説明すると、
J=1/2Σ(ax^2+bx+c-y)^2
で、Jを最小化することで近似できます。
Jを各パラメータ(a,b,c)で偏微分した値が0になるところが最小値になります。
パラメータが3つあるので、3つの方程式ができます。
この連立方程式を解くとa,b,cが計算できます。

pythonで試した非常にわかりやすい記事が


にあります。

 

ここの例のAw=Tは「これなら分かる応用数学教室」の式(1.26)に対応します(上下は反転しています)。
連立方程式を解くだけで関数フィッティングができるので簡単で便利なテクニックです。