0:00
人工知能ラボの助手です。
前回はパーセプトロンの概要について説明しました。
今回は、パーセプトロンの原理について、少し数学を交えながら
その理論を紐解いていきましょう。
パーセプトロンは、よく「分類アルゴリズムの基礎」とも呼ばれ、
与えられたデータを完全に、とまではいかなくとも
なんらかの基準を設けること最善の分割をするような手法です。
今回はトップ画像のように、
マルとバツのデータがうまく分かれるように
平面を分割する直線を決めることを目標とします。
トップ図は本来3次元で描かれるべきですが、
とたんにイメージが難しくなるため、あえて2次元のグラフで説明します。
今回も例に倣い、この直線を誤差関数を用いて
決定していきます。
今回は数値計算を用いてパラメータの修正を繰り返すような
手法を用います。
まず、初めに、以前学んだ機械学習における3ステップを
復習しておきましょう。
この3ステップは覚えておくものでしたね。
① パラメータを含む数式モデルを仮定
② パラメータを評価する基準を設定
③ 最も適したパラメータを決定
それでは、順に考えていきましょう。
① パラメータを含む数式モデルを仮定
今回求めたいのは分割する直線ですので、
仮定するモデルは直線の式となります。
次のようにモデルを立てましょう。
f(x,y) = ω_0 + ω_1 x + ω_2 y
通常は、直線の式は、y = ax + b の形で書きますが、
今回は x と y を対等に扱うために、この形にしています。
ここで、(x,y) 平面を分割する直線は、
f(x,y) = 0
と書くことができます。
さらに、分割された領域については、f(x,y)の符号で判断でき、
f(x,y) > 0 → 直線より上方の領域
f(x,y) < 0 → 直線より下方の領域
と判断することができます。
トップ図の例だと、f(x,y) = -10 + 3 x + 2 y
の場合を記していますが、境界線から離れるほど
f(x,y)の絶対値が大きくなるということが読み取れます。
ここで、トップ図にあるように、
t = +1のデータがf(x,y)>0 の領域に、
t = -1のデータがf(x,y)<0 の領域に
分類されていることが目標です。
押さえておきたいポイントとしては、
各データはそれぞれ、(x,y,t) の3つの値を持っています。
このとき与えられたデータ \bigl\{x_n , y_n , t_n\bigr\}_{n=1}^N について
f(x,y) × t_n > 0 → 分類が正解
f(x,y) × t_n < 0 → 分類が不正解
このポイントは、 t_n = \pm\ 1の
いずれのデータについても、このルールで判定できることです。
先ほども説明しましたが、今回は全ての(x_n , y_n ,t_n)について、
上記のルールを満たすような直線、
つまりパラメータ(ω_0 , ω_1 , ω_2)を決定することが目標となります。
そして、これを実現するために、パラメータの評価基準を設定します。
② パラメータを評価する基準を設定
パラメータの評価基準として、
正しく分類できなかった点のみに着目し、誤差とします。
この誤差は言い換えると、
誤って分類したものに対するペナルティとしてみなし、
ペナルティの合計値が小さくなるように直線を引き直す
ということを繰り返していきます。
トップ図にあるように、境界線から離れるほど
f(x,y)の絶対値が大きくなるという特徴を利用して、
n番目の点に対して、次のように表現します。
E_n = |f(x_n , y_n)|
すなわち、ペナルティの合計値は以下のようになります。
誤差\displaystyle E = \sum_{n} E_n = \sum_{n} |f(x_n , y_n)|
もう一度注意ですが、この誤差Eはあくまで
誤って分類された点、つまり
f(x,y) × t_n < 0
に限った和です。
誤って分類されたとしても、
境界線に近い点であればペナルティは小さいですし、
境界線から遠い点であればもちろん、誤差に及ぼすペナルティは大きくなります。
さらに、誤って分類された点については、
f(x,y) × t_n < 0 が成り立つため、
以下の関係式が成り立ちます。
|f(x_n , y_n)| = - f(x,y) × t_n
つまり、右辺は負のものにマイナスをかけているため、
左辺の絶対値記号を使わずに、ペナルティが表せるのですね。
以上より、誤差Eは次のように表すことができます。
\displaystyle E = - \sum_n (ω_0 + ω_1 x_n + ω_2 y_n ) t_n
また、ベクトル表記で、
\mathbf{ω} = \begin{pmatrix} ω_0 \\ ω_1 \\ ω_2 \\ \end{pmatrix} \mathbf{φ} = \begin{pmatrix} 1 \\ x_n \\ y_n \\ \end{pmatrix}
とすれば
\displaystyle E = - \sum_n t_n \mathbf{ω}^\mathrm{T} \mathbf{φ}_n
と表すことができます。これを最小にするようなパラメータ \mathbf{ω} を決めていきます。
これがパラメータの基準を設定したということになります。
さあ、かなり長く数学と戦ってきましたが、
みなさん、どうでしょうか。
なかなか難しい部分もあるとは思いますが、
一緒に頑張っていきましょう。
次回はこの続き、
③最も適したパラメータを決定
について説明していきます。
みなさん、お疲れさまでした!