全4580文字
機械学習の最も基礎的な手法が最小二乗法だ。この特集では、Pythonで最小二乗法のプログラムを実装することで、その仕組みを学んでいく。
Pythonを使って、最小二乗法のプログラムを実装してみましょう。プログラミングの環境としては、「Anaconda Distribution」に付属するWebブラウザベースの「Jupyter Notebook」を使います。Anaconda Distributionのインストーラーは次のURLから無償でダウンロードできます。
まずは、最も基本的な、回帰式が「y = ax + b」の単回帰分析を最小二乗法で行ってみます。
話を簡単にするために、データは次の3個だけにしましょう。
最小二乗法の実装方法はいくつかありますが、ここでは次の3通りの方法を紹介します。
これらの3通りの方法で実装することで、最小二乗法を多面的に理解できるようになると思います。
(1)3重のforループを使う(総当たりの力業)
初めに断っておくと、この方法は非実用的です。ですが、直感的に理解しやすいので紹介したいと思います。
この方法は、3重のforループを使って、総当たりの力業で「y = ax + b」の傾きaと切片bの値を求める、というものです。
では、Jupyter Notebookを起動し、表示されるセルに、次のプログラムを記述して実行してください(図7)。
これは、先ほど示した3個のデータです。
次に、3重のforループを用意して、傾きaと切片bの値を少しずつ変えながら、第1回の図4の式の値(各データからの距離の二乗和)が最小になるaとbの値を見つけます。このプログラムは日本語で表現すると次のようになります。
これで3重のforループが終わると、各データからの距離の二乗和が最小になるaとbの値が求まります。
from "プログラム" - Google ニュース https://ift.tt/7Xz4poC
via IFTTT
Bagikan Berita Ini
0 Response to "最小二乗法を多面的に理解、Pythonで3通りの実装を試してみよう - ITpro"
Post a Comment