Использование Weka для игры - PullRequest
2 голосов
/ 09 марта 2011

Я делаю проект, в котором у меня есть нейронные сети (или другие алгоритмы), играющие друг с другом в покер. После каждого выигрыша или проигрыша я хочу, чтобы нейронная сеть (или другой алгоритм) обновлялась в ответ на ошибку проигрыша (как это вычисляется, здесь неважно).

Ука очень милая, и я не хочу изобретать велосипед. Тем не менее, API Weka, по-видимому, в первую очередь предназначен для обучения из набора данных. Игра не использует набор данных. Скорее сеть играет, а потом я хочу, чтобы она обновлялась сама в зависимости от потери.

Можно ли использовать Weka API для обновления сети вместо набора данных, но в одном случае, и делать это снова и снова? Я думаю об этом, верно?

Другая идея, которую я также хочу реализовать, - это использовать генетический алгоритм для обновления весов в нейронной сети вместо алгоритма обратного распространения. Насколько я могу судить, в Weka нет способа вручную указать вес нейронной сети. Это, конечно, жизненно важно при использовании генетического алгоритма для этой цели.

Пожалуйста, помогите :) Спасибо.

Ответы [ 3 ]

3 голосов
/ 09 мая 2012

Обычно алгоритмы обучения weka являются алгоритмами пакетного обучения. То, что вам нужно, это инкрементальный классификатор.

От weka docs

Большинству классификаторов необходимо просмотреть все данные, прежде чем их можно будет обучить, например, J48 или SMO. Но есть и схемы, которые можно обучать поэтапно, а не только в пакетном режиме. Все классификаторы, реализующие интерфейс weka.classifiers.UpdateableClassifier, способны обрабатывать данные таким образом.

См. UpdateableClassifier интерфейс, к которому его применяют классификаторы.

Также вы можете посмотреть MOA Massive Online Analysis инструмент, тесно связанный с weka, и все его классификаторы являются инкрементными из-за ограничений онлайн-обучения.

0 голосов
/ 28 марта 2011

Возможно, вам придется изобретать велосипед здесь. Я не думаю, что это плохое использование времени.

В настоящее время я внедряю систему классификаторов обучения, которая довольно проста. Я бы также посоветовал изучить такие алгоритмы. В Интернете есть реализация, но я все еще предпочитаю кодировать свою собственную.

0 голосов
/ 10 марта 2011

Weka, насколько я могу судить, не занимается онлайн-обучением (о чем вы спрашиваете).

Возможно, лучше исследовать, используя конкурентный анализ для вашей игры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...