Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нейронная сеть Кохонена, Задача о ирисах Фишера 
:(
    Опции темы
OXOTHUK
Дата 19.11.2011, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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 класса данных, незначительно отличающихся друг от друга по сравнению с третьим. И сеть при обучении упорно объединяет их в один класс, получается что один нейрон не учавствует в обучении, его сосед всегда выигрывает при обучении и не дает ему корректировать веса.
Есть какие либо ещё варианта обучения?
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 19.11.2011, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Цитата(OXOTHUK @  19.11.2011,  13:49 Найти цитируемый пост)
начальные весовые значения нейронов задаются как wi=1/sqrt(n), где n - число нейронов

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

Цитата(OXOTHUK @  19.11.2011,  13:49 Найти цитируемый пост)
Есть какие либо ещё варианта обучения?

Есть. Правильно нормализовать данные и правильно же реализовать сеть.
PM MAIL WWW   Вверх
OXOTHUK
Дата 19.11.2011, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 21.9.2005

Репутация: нет
Всего: 6



Цитата(OXOTHUK @  19.11.2011,  13:49 Найти цитируемый пост)
где n - число нейронов

Извините, ошибся, не число нейронов, а число входов.
Цитата(VictorTsaregorodtsev @  19.11.2011,  15:04 Найти цитируемый пост)
Во-первых, бред.Во-вторых, исходная идея (а не неправильное её понимание Вами)

То, что я привел здесь - метод выпуклой комбинации для обучения и задания начальных значений слоя Кохонена, о котором я прочитал в книге Ф. Уоссермена "Нейрокомпьютерная техника: Теория и практика".
Цитата(VictorTsaregorodtsev @  19.11.2011,  15:04 Найти цитируемый пост)
Правильно нормализовать данные и правильно же реализовать сеть.

Где можно ещё почитать о сети Кохонена? большая часть выдачи гугла очень отрывиста и неполна, либо цитирует друг друга.
PM MAIL   Вверх
OXOTHUK
Дата 23.11.2011, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 21.9.2005

Репутация: нет
Всего: 6



Изменил обучение. Начальные значения задаются случайно. Нейрон учится как wi -= k(x-wi).
Правда приходится проверять из обучающей сборки, что классифицируется правильно, разные в разные классы попадают. Если нет - переобучать сеть. Через 1000 итераций начинает верно классифицировать. Но это как то не правильно, насколько я знаю, сеть по задумке должна сама разбить на классы, без начального знания кто к какому принадлежит.

Неужели никто не занимался похожим?
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 23.11.2011, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Цитата(OXOTHUK @  23.11.2011,  12:10 Найти цитируемый пост)
Неужели никто не занимался похожим? 

Ну почему никто? Я, например, уже больше 15 лет с нейросетями дело имею.
PM MAIL WWW   Вверх
OXOTHUK
Дата 23.11.2011, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 21.9.2005

Репутация: нет
Всего: 6



VictorTsaregorodtsev
Не могли бы Вы указать на мою ошибку?
Если я недостаточно подробно описал свои действия или ошибка где-то глубоко в принципе моей сети то, если Вас не сильно затруднит, описать как нужно сделать или назвать литературу, где можно об этом почитать?
Спасибо.
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 24.11.2011, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Книжка Кохонена, например. Её пару лет назад перевели на русский, наконец-то. А англоязычный её оригинал ещё раньше был отсканирован пиратами и выложен в инет.

Почти любой приличный переводной учебник по нейросетям (Хайкин или Осовский, например). 

Из наших - учебник Комарцовой и Максимова можно посмотреть.

Но везде будет сделан основной акцент на самоорганизующиеся карты Кохонена, а не на LVQ-сети Кохонена (а Вам вроде нужны именно последние), хотя и LVQ-сети тоже хоть минимально, но описываются.

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0789 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.