関数とは
関数。
数学で見たy = xみたいなやつ。
今回はこれについて考える。
そもそも関数とは何だろうか?
関数は、変換する装置のことをいう。
例えば、同じ値段の商品を2個買ったらいくらになるかを知りたいとする。
2ko_nedanという関数を作る。
2ko_nedanに100円と入れると、200円が返ってくる。
これを
y = 2ko_nedan(100)
と表記することにする。
yには200が入っていてほしい。
たぶん、中身はy = 2xなのだろうが、中身はどのように定義されていてもいい。
意図したものが返ってくればいいわけだから。
なので、4X / 2 + 100 - 100
みたいな中身でも問題ない。
効率的ではないけれど。
え??
2個だけとか限定的すぎるって??
だったら、掛け算という関数を作ろう。
kakezan(number1 , number2);
中身はどうなる??
y = number1 x number2;
だろう。
ここで強調しておきたいのは、関数は変換してくれれば、その中身が何であれ別に問題がないということである。
そして、関数はその中身をみえないようにして、理解しやすいようにする機能を持っている。
一度中身を作ってしまえば、あとは、その関数に渡したら、値が返ってくる。
ここで、以下の同じ値を返す関数を考える。
pi()
円周率を返す関数だ。
渡す値はない。
いったん中身を考えず、この関数を呼び出したとする。
すると1が返ってきた。
円周率は3.14なので、全然違う。
なので、この関数に円周率がもう少し大きいことを教えてあげる。
そうすると次は3が返ってくる。
もう少し大きいよ。
と教えると、次は4が返ってきた。
少し小さくしてというと、3.5が返ってきた。
こんな感じで、関数の中身を自動的に変更してくれるものをAIと呼ぶ。
この過程は、学習と呼ばれ、目標値との違いをもとに、値を変化させる機構を言う。
まとめ
関数は、変換装置。
関数と実際の中身は分離できる。
関数の中身をいい感じに変更してくれるのがAI。