また変な式を作ってしまいました(笑)
どうやって作ったかをお話します.
a<0においては,2a^2+1
0≦a≦1においては,2a^2+1 - a^2
a>1においては,2a^2+1 - a^2 + (a-1)^2
となっていることに注目しました.
ということで,
a<0においては,0
a≧0においては,1
という関数を作ろうと思いました.
ガウス記号を使ってしまおうと最初に思ったので,
a<0において,0以上1未満
a≧0において,1以上2未満
になる関数を作ろうと思いました.
そうして考えたのが,
2/(1+e^(-a))
です.
これは,人工知能を作るときによく使う“シグモイド関数”の仲間なので,私にとってはメジャーな関数なのです.
さらに,
a<1においては,0
a≧1においては,1
となる関数も作れば良いことになります.
これは平行移動でOK!
2/(1+e^(-a))
の a を a - 1 に変えるだけ!
ということで,
a<0においては,0
a≧0においては,a^2
となるのが
a^2×2/(1+e^(-a))
であり,
a<1においては,0
a≧1においては,(a-1)^2
となるのが
(a-1)^2×2/(1+e^(1-a))
です.
これらを
2a^2+1
に加えておけば,各範囲で3つの別の式で表される関数を表現できるのですね!
※私の書籍一覧もご覧ください※
☟