ルールベースのファジー制御システムを使用して関数近似(集計)を実装しようとしています。実装を単純化するために(そしてよりよく理解するために)、y = x ^ 2(最も単純な非線形関数)を近似しようとしています。私が理解している限り、入力([-1,1]上の均一なサンプルなど)をファジーセット(fuzzyfication)にマッピングしてから、デファジー化メソッドを使用して鮮明な値を取得する必要があります。ファジー制御システムの文献は少し混乱しているので、この手順の簡単な説明はありますか?
1 に答える
これは一種の幅広い質問ですが、長い間答えられていないので、試してみます。
まず、(少なくともここで述べたように)目的を改善する必要があると思います。この文脈で「関数近似」という用語を使用することを躊躇します。私があなたの質問に正しく従えば、目的はファジー法を介して非線形関数を別のドメインにマッピングすることです。
そのためには、最初にファジー集合のメンバーシップ関数を定義する必要があります。(このリンクはプロセスの良い例です。)追加情報なしで、実装が簡単な三角形関数をお勧めします。ファジーセットの数、それらの配置と幅(またはサポート)、およびオーバーラップの程度は、アプリケーションによって異なります。入力ドメインが[-1,1]であることを示したので、3つのファジーセット、つまり、負、ゼロ、および正がうまくいくことがわかるかもしれません。
そこから、一連のルールを作成する必要があります。つまり、xが負の場合は...
ルールを設定したら、非ファジー化プロセスを定義できます。つまり、このステップでは、アプリケーションのニーズに応じて、各ルールのアクティブ化に重みを付けます。
出力がより明確になるまで、私はもっと完全に貢献できるとは思いません。あなたは「デファジー化法を使って鮮明な値をとる」と述べています。-この鮮明な値のセットはどういう意味ですか?範囲はどれくらいですか?さらに、行き詰まっている領域を特定できれば(つまり、より具体的な質問)、より多くの回答を得ることができます。