1

私は最近、PSO の基本的なアルゴリズムを実装しました。これは、2 つの変数 (x、y) の関数を指定すると、範囲内の関数の最小値を返します。

問題は、関数が不明であることです。私の PS にはデータ セットが供給されます (データ セットは、モバイル コンピューティングのように、さまざまなドメインからのものである可能性があります)。たとえば、(x,y,f(x,y)) の形式のタプルとします。[学習フェーズ中に最適値も提供されます。] 数千のサンプル データの後、PS は別のデータ セットでテストされます。PS はおそらく最適な値を返す必要があります。つまり、与えられた (x,y) が f(x,y) を返します。

問題は ANN と非常によく似ているように思えます。これをどのように進めればよいかわかりません。私の PS はポリゴンを生成しようとすべきでしょうか?

4

1 に答える 1

0

あなたの説明から、関数近似に PSO を使用するつもりであることがわかりました。そのため、値 x、y、z の多くの行を含むデータセットの場合。PSO を使用して、z を近似する関数 f(x, y) を見つけたい (つまり、誤差 |z - f(x,y)| が小さい)。ただし、いくつかの用語が間違っている可能性があると思います。特に、多角形とは「多項式」を意味すると思います。はい、関数近似に多項式を使用できます。たとえば、最初は単純にしたい場合は、線形多項式 f(x,y) = ax + by + c から始めることができます。次に、PSO は a、b、および c の値を生成しようとします。値の各粒子を最小化するコスト関数は、データセット内の各粒子の二乗誤差 (f(x,y) - z)^2 の合計になります。

最終的には、オーバーフィッティングを避けるために、データをトレーニング セットと検証セットに分割することも検討する必要があります...

于 2012-04-03T14:52:48.560 に答える