単純パーセプトロンの基本のき


   TJO (@TJO_datasci)
と、その前に…



 元々パーセプトロンというのは…
  – ニューロン情報処理モデルだった




 実際に脳科学の世界では重要だった時代も
  – 小脳パーセプトロンモデル
  – Marr (1969), 伊藤正男(1972)


                              1
と、その前に…



でも今は…



    パーセプトロン   =   線形識別器の基礎




                             2
と、その前に…




    パーセプトロンが分からなきゃ、
    サポートベクターマシンも分からない!



    パーセプトロンが分かれば、
    サポートベクターマシンなんて余裕!

          今も流行中、(おそらく)史上最強の
          機械学習分類器!
                          3
本日のお題は…




          線形識別器の基本のき、
          パーセプトロンを理解しよう!




                           4
簡単な例から…




       【初心者向け】
   分かりやすいパーセプトロンの例




                     5
簡単な例から…








          6
簡単な例から…








      返値          重みベクトル         入力信号
 (「±の符号」が大事!)   (こいつが学習結果)   (これから識別したいもの)



                                         7
簡単な例から…








          8
簡単な例から…








          9
簡単な例から…








       返値       重みベクトル      入力信号
    (正なら非SPAM            (メールの単語頻度)
    負ならSPAM)


                                      10
簡単な例から…








          11
簡単な例から…








          12
簡単な例から…




          「会議」は非SPAM



          「目標」は非SPAM



          「お買い得」はSPAM




                       13
簡単な例から…








          14
簡単な例から…








          15
簡単な例から…








          16
簡単な例から…








          誤判定した時の入力信号の値




                          17
簡単な例から…








          18
簡単な例から…








          19
ここからは…




    【ガチで勉強したい人向け】
  いよいよガチなパーセプトロンのお話




                      20
「識別」とは何ぞや?




             こういう2集団を
             「識別」してみたい。




                          21
「識別」とは何ぞや?




   b



                 x > a, y > b
                 とかで「識別」できるじゃん?


             a

                                  22
「識別」とは何ぞや?




             まだまだ余裕。




                       23
「識別」とは何ぞや?




             これはさすがに無理…




                          24
「識別」とは何ぞや?




             単なる「区間」を決める「不等式
             などではもはや「識別」できない




                          25
理屈を見てみよう

           そこでこういうことを考える。




                            26
理屈を見てみよう

                                           各○&△にラベルy(k)を振る。

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                27
理屈を見てみよう








           28
理屈を見てみよう



                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                29
理屈を見てみよう

                                           初期化してみた。

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                30
理屈を見てみよう




 これを「始点」にして、どんどんa,b,cを変えてい
  こう。



 じゃ、どうやってa,b,cを変えていこうか?




                              31
理屈を見てみよう

                                           各○&△のラベルy(k)を見て!

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                32
理屈を見てみよう

                                           おかしいのはどれ?

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                33
理屈を見てみよう



 紫の線で囲まれたところはどうなっていた?
  – ラベルt(k)とy+cの「符号」が一致してない

 その他のところはどうなっていた?
  – ラベルt(k)とy+cの「符号」が一致している

 つまり…
  – ラベルt(k)とf(x,y)の積の符号を見れば、
    何か良いことがあるのでは?


                               34
理屈を見てみよう








           35
理屈を見てみよう



                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                36
理屈を見てみよう








           37
理屈を見てみよう








           38
理屈を見てみよう

                                                        「ズレ」を減らしていこう!

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                39
理屈を見てみよう

                                                        「ズレ」を減らしていこう!

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                40
理屈を見てみよう

                                                        「ズレ」を減らしていこう!

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
            -1         -1                                                       1
                                 -1                             1                           1
                                                                        1
          -1           -1             -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1     -1              -1
     -1                                -1 -1 -1
                -1           -1
          -1



                                                                                                41
理屈を見てみよう








           42
理屈を見てみよう








           43
理屈を見てみよう








           44
理屈を見てみよう








           45
理屈を見てみよう








           46
理屈を見てみよう

                                       こんな感じで逐次更新される。

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
               -1      -1                                                       1
                                 -1                             1                           1
                                                                        1
           -1            -1           -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1        -1           -1
     -1                                -1 -1 -1
                -1            -1
          -1



                                                                                                47
理屈を見てみよう

                                       こんな感じで逐次更新される。

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
               -1      -1                                                       1
                                 -1                             1                           1
                                                                        1
           -1            -1           -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1        -1           -1
     -1                                -1 -1 -1
                -1            -1
          -1



                                                                                                48
理屈を見てみよう

                                       こんな感じで逐次更新される。

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
               -1      -1                                                       1
                                 -1                             1                           1
                                                                        1
           -1            -1           -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1        -1           -1
     -1                                -1 -1 -1
                -1            -1
          -1



                                                                                                49
理屈を見てみよう








           50
理屈を見てみよう

                                       例えば値が5とかならこんな感じ。

                                                                            1       1
                                                        1       1
                                           1                        1                       1
                                                                        1           1
                                               1            1       1
                                                                            1
                                                    1
                                           1                1           1           1
           -1        -1                                                     1
               -1      -1                                                       1
                                 -1                             1                           1
                                                                        1
           -1            -1           -1                                        1       1
                                               -1
                -1          -1         -1           -1
      -1
          -1        -1           -1
     -1                                -1 -1 -1
                -1            -1
          -1



                                                                                                51
ということで…




それでは、Pythonで組んでみましょう!

          ブログ記事へ…




                        52

Simple perceptron by TJO