【ニューラルネットワークの分類】利口な怠け者は効率を追求する…!③

前回の【ニューラルネットワークの回帰】に続いて、【ニューラルネットワークの分類】について勉強してきました。

ニューラルネットワークによるパターンの分類

分類とは『Yes or No』を判定するためのものです。正確に言えば、その確率を計算し50%を越えるかどうかで決めます。

例として、ある女性がお店に入店して、

  • 女性も満足に稼げる
  • お客様も満足できる
  • お店も儲かる!

と、Win-Winの関係になれるかどうかを判定します。

前回同様モデルも簡単にします。とても失礼で他力本願な話ですが、女性の容姿と性格だけで決まるものとしましょう。

実際にWin-Winの関係になれたデータと、残念ながらうまくいかなかったデータを集めます。

実際のデータは上の図のように分断が難しいことが多いです。いい女性に入店していただいたと思ったら予想よりも人気が出ず、ん?と思ったら花形キャストになることも稀にあります。

なので出る答えは確率的な値になります。「確率〇〇%で青」という感じです。

一度線を作ると、それ以降も新たに入店した女性の性格と容姿がわかれば、Win-Winの関係になれるかの確率もわかるというわけです。

最初に申し上げたとおり、確率的に判断を行いますので、各点に対してその確率が最大になるような線を引くことを目標にします。

Win-Winになれるか否かの確率

そこで、以下の関数Lの最大化を考えます。

Lは青い点が青(y=1)と判断され、赤い点が赤(y=0)と判断される確率の総積です。

確率的に判断を行うために使うのが「シグモイド関数f」です。値域は-1より大きく1より小さいという特徴があります。

θが正の値か負の値かで関数の値が0を越えるかどうか、つまり確率が50%を越えるかどうかが判定できます。

求めたいのはLが最大値を取る時のa, bの値です。つまり、a, bはできる限り正確にWin-Winになれるか否かを判断できる線の傾きと切片(座標平面上の曲線などのグラフと座標軸の交点)のようなものです。

最急降下法を用いやすくするために、Lの式を変形し、偏微分します。当然Lの最大値は変わりますが、Lが最大値を取る時のa,bの値は変わりません。

a, bを偏微分された更新式(略) を使って更新していきます。a, bが決まると、以下のように線が引けるというわけです。

新しく女性のデータを入力した時に、何%の確率でWin-Winになれるか否かがわかります。当然線から離れれば離れるほどその確率は高くなります。

お客様は容姿よりも性格重視

余談です。

正確なデータを集めたわけではなく、個人の主観になりますが、女性の性格はWin-Winの関係になれるかを大きく左右していると思います。式が完成した時に、性格を表す変数の係数(上の例だとb)が大きな値ということです。

特に全体受注率が低い日は、その差が顕著に表れます。性格の良い女性はガッチリお客様の心を掴んで離しません。容姿よりも癒しを求めるお客様のほうが多いことの表れでしょう。

この記事を書いた人

西園寺
  • 西園寺 ( / )
  • 社会人3年目、楽しく人生を送りたいと考えて、思い切って以前から興味のあった業界に飛び込みました!慣れない環境に奮闘しつつ、成長する様子を綴ります。

西園寺が書いた記事