Yuta Hayashibe

単純パーセプトロン

  • 線形分類器

  • 学習は「ある事例x\bold{x}の分類に失敗したら,パラメータw\bold{w}x\bold{x}を足す(または引く)」を繰り返すだけ

    • x\bold{x}が正しく分類できる方向に更新する
  • 問題点

    • パラメータの更新でx\bold{x}が必ず正しく更新できるとは限らない
    • パラメータを更新時に,以前のデータについての分類結果がどうなるかは気にしていない
  • 目的関数はminwtmax(0,y(t)wx(t)) \min_{\bold{w}} \sum_t \max (0, -y^{(t)} \bold{w} \cdot \bold{x}^{(t)})

    • 誤分類のデータについて,0との差が小さくなるようにする
    • 正分類のデータについては何も考えない
    • パーセプトロン基準とよばれる

学習アルゴリズムの導出

  • l(x(i),y(i),w)=max(0,y(t)wx(t))l (\bold{x}^{(i)}, y^{(i)}, \bold{w}) = \max (0, -y^{(t)} \bold{w} \cdot \bold{x}^{(t)})
  • 学習時に操作できる変数はw\bold{w}のみなので,(劣)勾配計算にはw\bold{w}の各要素で偏微分する
    • ywx<0-y \bold{w} \cdot \bold{x} < 0
      • 関数は常に00なので,勾配は0\bold{0}(零ベクトル)
    • ywx>0-y \bold{w} \cdot \bold{x} > 0
      • ywxwk=yxk\frac{\partial -y \bold{w} \cdot \bold{x}}{ \partial w_k} = -y x_k
      • したがって,w(ywx)=yx\nabla_w \left( -y \bold{w} \cdot \bold{x} \right) = -y \bold{x}
    • ywx=0-y \bold{w} \cdot \bold{x} = 0
      • 劣勾配としてyx-y \bold{x}が使える
  • したがって,
    • w(t+1)=w(t)+(y(t)x(t))\bold{w}^{(t+1)} = \bold{w}^{(t)} + (y^{(t)} \bold{x}^{(t)}) (ywx>0-y \bold{w} \cdot \bold{x} > 0のとき)
    • w(t+1)=w(t)\bold{w}^{(t+1)} = \bold{w}^{(t)} (それ以外)