水素化物トレーニング法を使用してANFISモデルを実装しています。1つの出力にマップする13の入力があります。私は自分のシステムに関するルールを組み立てました。データをトレーニングすると、次のエラーが発生します。
出力MFの数がルールの数と等しくありません
私がどこで間違っているのかについての手がかりはありますか?
水素化物トレーニング法を使用してANFISモデルを実装しています。1つの出力にマップする13の入力があります。私は自分のシステムに関するルールを組み立てました。データをトレーニングすると、次のエラーが発生します。
出力MFの数がルールの数と等しくありません
私がどこで間違っているのかについての手がかりはありますか?
Fuzzy Logic Toolboxユーザーガイドからの引用:
anfisの制約:
anfisは、これまでに説明したファジー推論システムよりもはるかに複雑であり、すべてのファジー推論システムオプションで使用できるわけではありません。具体的には、anfisは菅野型システムのみをサポートし、これらには次のプロパティが必要です。
*ルール共有はありません。異なるルールが同じ出力メンバーシップ関数を共有することはできません。つまり、出力メンバーシップ関数の数はルールの数と等しくなければなりません。
したがって、ANFISモデル構造は次のようになります。
参考までに、エラーは次のコードスニペットから発生します。
/* output MF no. must be the same as rule no. */
if (fis->output[0]->mf_n != fis->rule_n) {
fisFreeFisNode(fis);
PRINTF("Number of output MF's is not equal to number of rules -->\n");
fisError("Parameter sharing in FIS is not allowed!");
}