バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-backnumber/
はじめに
形式ニューロンの決定境界直線がギリギリのところにある問題の対策。
どうあるべきか、どにように対策していくかの話。
今回は、「そもそもなんで決定境界直線がギリギリになるのか?」について。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
【再掲】形式ニューロンの決定境界直線安定化へ至る道
形式ニューロンの決定境界直線安定化は以下の順番で解説中。
- どこに決定境界直線があると良さげか?(済)
- そもそもなんで決定境界直線がギリギリになるのか?
- 決定境界直線をいい感じのところに持っていくには?
- 実際に使用する活性化関数
今回は、「そもそもなんで決定境界直線がギリギリになるのか?」
そもそもなんで決定境界直線がギリギリになるのか?
前回は、決定境界直線がどこにあるべきかって話だったけど、
そもそもなんでギリギリのところになったんだろうね?
今回は、「そもそもなんで決定境界直線がギリギリになるのか?」
それは使用している活性化関数の影響が大きいな。
ヘヴィサイド関数だね。
この関数は入力0を境に出力0,1が切り替わる関数。
シンプルではあるのだけど、勾配が無いため、切り替わりまでの距離感がつかめない。
一応、図で出しておこう。
ヘヴィサイド関数は程度を表現できない?
ちょっとよくわからん。
形式ニューロンによる決定境界直線の探索は、総当たりで行った。
条件を満たすものがあれば採用、満たさなければ不採用。
というとてもシンプルなもの。
より良い条件があれば採用内容を更新ってのも可能なのだが、
ヘヴィサイド関数自体の出力の表現がないため、
より良い条件というのも探索できない。
今回はたまたま総当たりの順番の都合、外側に決定境界直線が配置されたが、
総当たり順番によっては、内側ギリギリってこともあるってことだな。
なるほど。
条件を満たすか満たさないかの2択だから、
程度の話ができないってことか。
そうそう。
そうすると、もしかして、このヘヴィサイド関数を置き換えれる必要があるってことになるのかな?
中々鋭いね。その通りだ。
まぁ、その話が次の対策案の話になる。
まとめ
まとめだよ。
- 決定境界直線がギリギリなる理由。
- ヘヴィサイド関数の性質に原因がある。
- ヘヴィサイド関数の性質は入力0を境に出力0,1が切り替わるのみで勾配が無い。
- これにより程度の表現ができず、境界直線も適正位置が探せない。
バックナンバーはこちら。
コメント