2

私はニューラル ネットワーク (または他のアルゴリズム) をポーカーで互いにプレイさせるプロジェクトを行っています。勝つか負けるかのたびに、ニューラル ネットワーク (または他のアルゴリズム) が損失のエラーに応じて更新されるようにします (ここでは、これがどのように計算されるかは重要ではありません)。

Weka は非常に優れており、車輪の再発明はしたくありません。ただし、Weka の API は主にデータセットからトレーニングするように設計されているようです。ゲームのプレイではデータセットを使用しません。むしろ、ネットワークが再生され、その損失に基づいてネットワークが更新されるようにします。

Weka API を使用して、データセットの代わりにネットワークを更新することは可能ですが、1 つのインスタンスで何度も何度も行うことはできますか? 私はこれについて考えていますよね?

私が実装したいもう 1 つのアイデアは、バックプロパゲーション アルゴリズムの代わりに、遺伝的アルゴリズムを使用してニューラル ネットワークの重みを更新することです。私が知る限り、Weka でニューラル ネットワークの重みを手動で指定する方法はありません。もちろん、この目的のために遺伝的アルゴリズムを使用する場合、これは非常に重要です。

助けてください:)ありがとうございます。

4

3 に答える 3

3

通常、weka 学習アルゴリズムはバッチ学習アルゴリズムです。必要なのは増分分類子です。

ウェカのドキュメントから

J48 や SMO など、ほとんどの分類器は、トレーニングする前にすべてのデータを確認する必要があります。しかし、バッチ モードだけでなく、段階的にトレーニングできるスキームもあります。weka.classifiers.UpdateableClassifier インターフェースを実装するすべての分類子は、このような方法でデータを処理できます。

分類子がそれを実装するUpdateableClassifierインターフェースを参照してください。

また、weka と密接に関連しているMOA Massive Online Analysisツールと、オンライン学習の制約により、そのすべての分類器が増分的であることがわかります。

于 2012-05-09T12:50:47.463 に答える
0

私が知る限り、Weka はオンライン学習を行っていません (それがあなたの質問です)。

ゲームの競合分析を使用して調査することをお勧めします。

于 2011-03-10T00:39:44.490 に答える
-1

ここで車輪を再発明する必要があるかもしれません。時間の使い方が悪いとは思いません。

私は現在、非常に単純な学習分類システムを実装しています。これらの種類のアルゴリズムを調べることもお勧めします。インターネット上に実装がありますが、それでも私は自分でコーディングすることを好みます。

于 2011-03-28T03:08:03.373 に答える