関数のあてはめ(回帰問題)
from 機械学習とは
関数のあてはめと回帰
回帰分析にあるように、変数の間の関係を、関数として表わすことを考える
得られたデータをもとに、そのデータの関係をよく表わす関数をあてはめる問題を回帰問題という
たとえば一次関数
中学校で習った「一次関数」(直線)
$ y = ax+b
https://gyazo.com/604b2fb22f908866ffc3a8adef15dcfchttps://gyazo.com/030b922b0f807e88148fa8a7f0d2fbb1
入力を「関数」が変換して出力していると捉えられる
パラメータ設定によっていろいろな直線が引ける
$ y = ax + bの$ aと$ b(パラメータ)を変えると関数(直線)のようすが変わる
https://gyazo.com/6a23c6dd0c7801efebf61d9eb35ffa71
データの関係を表わす関数をあてはめる
入力と出力の関係をたくさんのデータから学習したい
下のようなデータがあったとき、$ xと$ yの関係はどんな関数になるだろう?
https://gyazo.com/443a3ddcd586ef57055089be1fb31189
$ y = ax + bの$ aと$ b(パラメータ)をいろいろ変えてみる
https://gyazo.com/394a43d8bc042182fe4d8bc1293d61de
左のほうがデータの関係をよく表わしていそう
「非線形」な関数のあてはめ
さらに・・・
https://gyazo.com/ba2ba7cfd39e81c96f509d0235923137
上の右図は、$ y = a x^2 + b x + cという二次関数を用いている
こちらのほうが、さらにデータの関係をよく表わしていそう
(非線形)回帰問題(関数近似問題)
この関数のあてはめの問題を一般化する
https://gyazo.com/f7f5706406956462919a2e9411cf4dc9
以下のような問題設定を考えることになる
入力$ xに対して出力$ yが発生するとして、この$ xと$ yの間には$ y = f(x)という真の関数(上図でいう点線)が存在すると考える
この$ f(x)は、一般的には非線形である(つまり、ぐにゃぐにゃ曲がって複雑な関係である)ことがほとんどである
この$ yには、データを得る(観測する、測定するなど)際にノイズ(誤差)が乗ってしまう
我々が手に入れられるのは、このノイズが乗ったデータ(上図でいう青い点)のみである
また、有限個のデータしか得ることはできない(つまり、部分的にしか情報がわからない)
この、ノイズが乗った有限個のデータという不完全な情報をもとに、真の関数にできるだけ近い近似関数を求めたい、というのが回帰問題
機械学習・AI(正確には教師あり学習)は、この問題を解くための方法