next up previous
: メンバーシップ関数の調整 : 機能ベースの物体認識システムのファジーメンバーシップ関数の学習 : エラーの伝達

測定関数の初期推定

全てのファジー台形メンバーシップ関数の初期推定は、学習アルゴリズムが例の処理を始める前に作られなければならない。これは、それぞれの訓練例のためのメンバーシップ関数のために0の実際値を割り当てることによって行われ、証明木の葉ノードで範囲に下りるエラー(この場合、望まれる評価測定値)を伝達する。望まれた点の集合から、我々はそれぞれの台形メンバーシップ関数の初期値の推定を作る。それは、学習アルゴリズムが次のトレーニングエポックでn1とn2点の調整をするから、実際の標準の範囲の中にn1とn2の範囲パラメータを置くことは、このステージにおいて重要なだけである。さらにOMLETは、最小あるいは最大限界値を、機能範囲パラメータのいくつかの値にセットする。

1の望ましい評価値であるトレーニング例は、与えられたカテゴリーの完璧な例である。完璧なトレーニング例は、完璧な例のための全てのプリミティブ測定値が範囲[n1、n2]に落ちることが知られているから、トレーニングセットに望ましい。例えば、通常の椅子トレーニング例が1の望まれる評価値を持っているなら、我々は、その証明木(図6.15参照)が1の値を返すべきなので、メンバーシップ関数の全てが分かる。これはPAND関数の結果が最小の入力より大きくなれないからである(セクション3.2参照)。

OMLETは、定義木において、それぞれの幅に伝えられる、望ましい点のセットを調べて、限界点を決定する。それぞれは下のように定義される。もし、望まれる点のいくつかが、1の値を持っているなら(上で書いたように)、そのときは最小の一つが通常の範囲[n1,n2]の最小の一つのセグメントが分かる。n1の範囲パラメータは、Yが1の値で全ての望まれた点の最小のx値をセットする。同様に、n2パラメータは、yが1の値で全ての望まれる点の最大のx値セットする。通常の範囲のセグメントは正しいことが分かっているので、一つの上限がn1の値にセットされ、通常の範囲のセグメントが次のトレーニングで減らされないことはを確実にするために下限がn2値にセットされる。訓練例が0より大きい望まれるメンバーシップ値を持っているから、我々は全てのx入力値はz1とz2の範囲パラメータに横たわる事を知っている。OMLETは望まれる点のセットからz1とz2範囲パラメータの限界をセットするために最小と最大のx値を使う。z1範囲パラメータは、トレーニングの間最小x値より増加することが許されない。同様に、z2の値は望まれる点のセットの最大x値の下に減少することができない。図6.18はOMLETが初期化段階でセットする範囲パラメータ(限界点)を示す。

\begin{figure}
\begin{center}
\epsfile{file=fig6-18.EPS,width=79mm}
\end{center}\end{figure}

その範囲パラメータの限界は、いくつかの目的を満たす。まず、それらは完璧なトレーニング例が1より小さい評価測定値を割り当てられないであろうから、全てのトレーニング例は0より大きくしなければならないことを確実にする。もっと重要なことに、作ることができるいくつかの範囲パラメータの変更を制限することによって、望まれるメンバーシップ関数をより良い近似で学ぶことができる。次の学習で、エラーは証明木の下に向かって、ノードのそれぞれの入力からくるエラーは等しい量だという仮定で、伝えられる。この仮定は常に正しいわけではなく、それぞれの入力に属するエラーの部分を直接決定できない場合がある。もしエラーが、メンバーシップ関数が範囲パラメータ(z1,n1、n2、z2)の一つかより多くで、許されている限界を過ぎてパラメータを動かすよう変更されるよう伝達されるなら、そのときはパラメータはその限界と等しくする。それで、平等なエラー分配が仮定され、分配されたエラーの全ての量は、いくつかの範囲調整で使われないかもしれない。これは、違うメンバーシップ関数のエラーの異なる量の提供されるケースで、良い解決を見つけるための学習アルゴリズムを可能にするであろう。

もし、標準範囲のセグメントがいくつかのメンバーシップ関数のために知られているならば、範囲パラメータの初期化は簡単である。n1とn2値は、すでにセットされている。z1値は、最小x値で望まれる点のセットからの点と点(n1,1.0)を通る台形の左足を作ることによってシンプルに付けられる。同様に、z2値は、点(n2,1.0)と最大x値の望まれる点を通るの台形の右足を作ることによってセットされる。もし、n1とz1(n2とz2)の左(右)の点がなければ、そのときは台形は1脚であると考えられ、パラメータn1とz1(n2とz2)がとても大きな負の値に拡張され、トレーニングの間変更することは許されない。台形の一つの足の例は図6.15の連続面の知識プリミティブで示されている。

メンバーシップ関数の通常の範囲の部分が決定できたら、我々は望まれる点のセットを台形の足にフィットしようと試みる。まず、最大y値で2つの望まれる点が見つかる。我々は、通常の範囲がそれらの間のどこかに横たわると想定する。最もフィットする台形は、n1とn2範囲パラメータを想定された通常の範囲の上に変更して、通常の範囲[n1、n2]は望まれる点のセットの最小のエラーを生み出すように選ばれる。エラーは単純に、それぞれの点で見つかる望まれる測定値と実際の測定値の間の違いの絶対値である。z1(z2)範囲パラメータは前と同じマナーでセットされ、左(右)台形の足は、最小(最大)x値で望まれる点を通ることを強いられる。n1値は、考えられる通常の範囲の最も左の点から少し増加した最も右の点まで変化する。n2値は、n1値のそれぞれ異なる値の少し増加で、n1値が考えられる通常の範囲の最も右の点の値から変化する。我々は単純に、すべての可能な台形をテストし(いくつかの正確さの次元で、n1とn2が変化する増加の幅を定義する)、考えられる通常の範囲のどこかで通常の範囲を持つようにし、そしてトレーニング例のセットの合計より小さいように範囲パラメータを選ぶ。



SATO Yoshihiro 平成12年10月26日