Сеть Кохонена

23 views
Skip to first unread message

Дмитрий Иванов

unread,
Dec 13, 2014, 4:50:36 AM12/13/14
to py-ne...@googlegroups.com
     Здравствуйте. Подскажите пожалуйста, каким образом реализовать сеть Кохонена:

                                                  # в каждом подмассиве по 16 элементов
                                                  inp = [[1, 0, 0, 0.715, 0, 0.6, 0, 1, 0, 1, 0.5, 1, 0, 0, 1, 0],
                                                             ...,
                                                            [0.5, 0, 0, 0, 0.0017, 0, 0.864, 0.5, 1, 0, 0, 0, 1, 0, 0, 0]]

                                                  # Создаём саму сеть. Где-то читал что слой нейронов должен быть в 1,5-2 раза больше количества входов, поэтому нейронов 32
                                                  net = nl.net.newc([[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],
                                                                                [0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0],[0.0, 1.0]], 32)

                                                  error = net.train(inp, epochs=100, show=20)

далее сеть, по идее, должна классифицировать каждый входной элемент. 
каким образом мне это реализовать?

Evgeny Zuev

unread,
Dec 19, 2014, 7:12:23 AM12/19/14
to py-ne...@googlegroups.com
По моему вы и так все реализовали. Только кол-во слоев должно быть равно кол-ву искомых классов.
Подайте входные элементы на вход

>>> print net.sim(inp)
Reply all
Reply to author
Forward
0 new messages