1

水素化物トレーニング法を使用してANFISモデルを実装しています。1つの出力にマップする13の入力があります。私は自分のシステムに関するルールを組み立てました。データをトレーニングすると、次のエラーが発生します。

出力MFの数がルールの数と等しくありません

私がどこで間違っているのかについての手がかりはありますか?

4

1 に答える 1

1

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!");
}
于 2012-04-01T20:02:35.513 に答える