![]() |
|
![]() ![]() ![]() |
|
OXOTHUK |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 21.9.2005 Репутация: нет Всего: 6 |
Решаю задачу Фишера с помощью классифицирующей нейронной сети Кохонена. Никак не могу подобрать алгоритм обучения.
Пока остановился на варианте, когда начальные весовые значения нейронов задаются как wi=1/sqrt(n), где n - число нейронов. А обучение выигравшего нейрона как wi -= k(zi-wi), где zi = a*xi + (1 - a)/sqrt(n), где x - входной вектор, k - убывающий коэффициент обучения, а - возрастающий параметр, приближающий вхожной вектор к 1/sqrt(n) в начале. Эта схема хорошо работала на более грубых данных. Но в задаче Фишера 2 класса данных, незначительно отличающихся друг от друга по сравнению с третьим. И сеть при обучении упорно объединяет их в один класс, получается что один нейрон не учавствует в обучении, его сосед всегда выигрывает при обучении и не дает ему корректировать веса. Есть какие либо ещё варианта обучения? |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
Во-первых, бред. Во-вторых, исходная идея (а не неправильное её понимание Вами) была сделана для многослойных персептронов и алгоритма обратного распространения ошибки - решала задачу недопущения исходного насыщения нейронов и ускорения сходимости обучения. К сети Кохонена это не имеет вообще никакого отношения. Есть. Правильно нормализовать данные и правильно же реализовать сеть. |
|||
|
||||
OXOTHUK |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 21.9.2005 Репутация: нет Всего: 6 |
Извините, ошибся, не число нейронов, а число входов.
То, что я привел здесь - метод выпуклой комбинации для обучения и задания начальных значений слоя Кохонена, о котором я прочитал в книге Ф. Уоссермена "Нейрокомпьютерная техника: Теория и практика".
Где можно ещё почитать о сети Кохонена? большая часть выдачи гугла очень отрывиста и неполна, либо цитирует друг друга. |
||||
|
|||||
OXOTHUK |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 21.9.2005 Репутация: нет Всего: 6 |
Изменил обучение. Начальные значения задаются случайно. Нейрон учится как wi -= k(x-wi).
Правда приходится проверять из обучающей сборки, что классифицируется правильно, разные в разные классы попадают. Если нет - переобучать сеть. Через 1000 итераций начинает верно классифицировать. Но это как то не правильно, насколько я знаю, сеть по задумке должна сама разбить на классы, без начального знания кто к какому принадлежит. Неужели никто не занимался похожим? |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
||||
|
||||
OXOTHUK |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 21.9.2005 Репутация: нет Всего: 6 |
VictorTsaregorodtsev,
Не могли бы Вы указать на мою ошибку? Если я недостаточно подробно описал свои действия или ошибка где-то глубоко в принципе моей сети то, если Вас не сильно затруднит, описать как нужно сделать или назвать литературу, где можно об этом почитать? Спасибо. |
|||
|
||||
VictorTsaregorodtsev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.7.2006 Репутация: 3 Всего: 8 |
Книжка Кохонена, например. Её пару лет назад перевели на русский, наконец-то. А англоязычный её оригинал ещё раньше был отсканирован пиратами и выложен в инет.
Почти любой приличный переводной учебник по нейросетям (Хайкин или Осовский, например). Из наших - учебник Комарцовой и Максимова можно посмотреть. Но везде будет сделан основной акцент на самоорганизующиеся карты Кохонена, а не на LVQ-сети Кохонена (а Вам вроде нужны именно последние), хотя и LVQ-сети тоже хоть минимально, но описываются. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |