2014-10-02 1 views
1

Я пытаюсь обучить ЗВОЛ, используя Encog3. В примерах-примерах есть два примера: один занимается обучением XOR SOM, где все данные используются для обучения до сближения, и Color SOM, где один из 15 цветов выбирается случайным образом на каждой из 1000 итераций. Мой вопрос заключается в том, что второй подход был таким, чтобы пример был завершен с адекватными результатами за короткое время или если есть причина для этого. Если бы я должен был тренироваться со всеми 15 цветами ввода на каждой итерации, принесло бы ли он лучшие результаты?Стратегия обучения самоорганизующейся карте в Encog

ответ

1

Это зависит от того, какие результаты вы ищете. Это очень распространенный пример для ЗВОЛ. Вот более длинное описание (не написанное мной) точно такого же.

http://www.ai-junkie.com/ann/som/som2.html

Цель примера состоит в том, чтобы показать, как паттерны возникают от подготовки к SOM. Большинство примеров цветов, которые я видел для SOM, делают это так (онлайн-обучение). Это приводит к тому, что результат будет более разнообразным/случайным.

SOM могут быть обучены в пакетном режиме. Это не является сложной модификацией для примера. Если вы ищете быстрое сближение, то да, вы получите лучшие результаты. Тем не менее, пример быстро сходится близко к одному цвету и очень быстро. Вы не получаете анимированную конвергенцию нескольких цветов, которые ищут большинство этих примеров.

+0

Моим вариантом использования было визуализировать векторы векторов, созданные gensim word2vec. Я провел его через 1000 итераций онлайн (где он пробовал один из моих 250 словных векторов на каждой итерации) против пакетного (где он использовал все 250 векторов слов на каждом этапе). Оба выхода показывают интересные шаблоны, но пакетный подход занимает полдня, а онлайн-подход - менее чем за пару минут. –

+0

Просто хотел сказать спасибо за вашу помощь, и закрыть цикл, мой вариант использования и решение, используя комбинацию gensim и encog3, более подробно описано в моем сообщении в блоге: http://sujitpal.blogspot.com/2014/ 10/clustering-word-vectors-using-self.html –

+0

Hey @JeffHeaton У меня есть данные, которые поступают из акселерометра, поэтому 3 оси/векторы (x [], y [], z []). Я буду использовать эти данные для распознавания движений. Я хочу использовать NN с беспристрастным обучением, потому что я буду записывать движение только один раз и сравнивать его с некоторыми сохраненными. Можете ли вы рассказать мне, какую реализацию encog следует использовать, и как создавать данные, когда 3 вектора, какой класс использовать? – murt

Смежные вопросы