Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Проблеммы с сигмоидом.
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Вт Ноя 28, 2006 2:21 pm    Заголовок сообщения: Проблеммы с сигмоидом. Ответить с цитатой

Добрый день!
Кто в написании сетей использовал в качестве активационной функции сигмоид? Поделитесь опытом!! Например, как лучше побороть проблемму с недостаточно широкой Е(f)?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Вт Ноя 28, 2006 3:41 pm    Заголовок сообщения: Re: Проблеммы с сигмоидом. Ответить с цитатой

Dmitry писал(а):
Добрый день!
Кто в написании сетей использовал в качестве активационной функции сигмоид?


Пожалуй, это самая используемая передаточная функция
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Вт Ноя 28, 2006 5:48 pm    Заголовок сообщения: Re: Проблеммы с сигмоидом. Ответить с цитатой

Oleg Agapkin писал(а):
Dmitry писал(а):
Добрый день!
Кто в написании сетей использовал в качестве активационной функции сигмоид?


Пожалуй, это самая используемая передаточная функция


А что насчет области значений?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Чт Ноя 30, 2006 12:51 pm    Заголовок сообщения: Ответить с цитатой

Разве на этом форуме нет практикующих НС программистов??
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
siteadmin
НейроПроект
НейроПроект


Зарегистрирован: 10 Июн 2005
Сообщения: 81
Откуда: Москва

СообщениеДобавлено: Чт Ноя 30, 2006 7:36 pm    Заголовок сообщения: Ответить с цитатой

просто видимо никто не понимает, что вы подразумеваете. Если хотите получить ответ, формулируйте вопросы четко и понятно.
Ну и не все занимаются программированием НС - многие пользуются готовыми программами.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Чт Ноя 30, 2006 8:40 pm    Заголовок сообщения: Ответить с цитатой

Хорошо, четко и понятно.
Область значений сигмоида 0<E(f)<1. Нужно расширить E(f), например до 0<E(f)<2. Как лучше поступить?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Чт Ноя 30, 2006 8:55 pm    Заголовок сообщения: Ответить с цитатой

Dmitry писал(а):
Хорошо, четко и понятно.
Область значений сигмоида 0<E(f)<1. Нужно расширить E(f), например до 0<E(f)<2. Как лучше поступить?

Wink
Да все просто.
1. Берутся нужные данные
2. Нормируются в нужный интервал (0, 1)
3. Учится сеть на нормированных рядах
4. Потом все новые данные нормируются в тот же интервал (только учтите, что максимальное и минимальное значение при отображении в интервал (0, 1) должны быть теми же, что и в пункте 2
5. После применения все перенормируется обратно (опять же с теми же мин. и макс.)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Пт Дек 01, 2006 11:33 am    Заголовок сообщения: Ответить с цитатой

Дело в том, что этот сигмоид в выходном слое сетки, типа обобщает результаты предидущего скрытого. Задача НС такова, что выход должен быть один, причем типичные размеры учителя [1;2). Обучение не может дать такого выхода в принципе, т.к. сигмоид выдает (0;1). Вот такая проблема.. Я вот что удумал по этому поводу:

*Можно прибавлять к выходу какой-то коэфициент как константу, заведомо меньшую чем предпологаемый выход, настраивать разницу.
*Можно сделать этот коэфициент отдельным весом и тоже подбирать в процессе обучения.
*А можно просто в числителе сигмоида 2 поставить, и все.

По каждому варианту имею сомнения. А Вы как думаете? Простите, если опять невнятно объяснил. Сильно не бейте..

П.С: еще раз - неужели никто не имел такую проблему?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 114
Откуда: Красноярск

СообщениеДобавлено: Пт Дек 01, 2006 11:59 am    Заголовок сообщения: Ответить с цитатой

Dmitry писал(а):
неужели никто не имел такую проблему?

Не имели, ибо пользовались, как правильно написал Oleg Agapkin, универсальным способом нормировки любого интервала к интервалу значений сигмоидной функции, не затрагивая работы самой нейросетки.
Еще не хватало под каждый новый интервал в каждой новой задаче придумывать очередной новый способ скрещивания ежа с ужом. Тем более, что и на вход сети приходится все данные нормировать тоже в близкие к единичным интервалы, чтобы не получать геморроя с обучением (из-за возникновения насыщений нелинейных функций нейронов), поэтому и для нормировки входов те же самые правила работают.
_________________
www.neuropro.ru - нейросети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Пт Дек 01, 2006 12:40 pm    Заголовок сообщения: Ответить с цитатой

Нормировка входов - выходов - а как это на точности отразится?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 114
Откуда: Красноярск

СообщениеДобавлено: Пт Дек 01, 2006 1:11 pm    Заголовок сообщения: Ответить с цитатой

На точности чего?
_________________
www.neuropro.ru - нейросети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Пт Дек 01, 2006 1:48 pm    Заголовок сообщения: Ответить с цитатой

Dmitry писал(а):
типичные размеры учителя [1;2). Обучение не может дать такого выхода в принципе, т.к. сигмоид выдает (0;1). Вот такая проблема..



Берется начальный интервал значений (синий), линейно перенормируется в интервал значений в котором работает сигмоида, или любая другая передаточная функция (зеленый). Вот и все.

Сеть учится и применяется в зеленом интервале. Там сигмоида работает прекрасно Полученные на выходе результаты перенормируются обратно из зеленого в синий интервал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
_next_
Участник форума
Участник форума


Зарегистрирован: 11 Май 2006
Сообщения: 45

СообщениеДобавлено: Пт Дек 01, 2006 3:32 pm    Заголовок сообщения: Ответить с цитатой

Понабросились Cool
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Сб Дек 02, 2006 1:40 pm    Заголовок сообщения: Ответить с цитатой

Victor G. Tsaregorodtsev писал(а):
На точности чего?

Извините, сейчас понимаю, что вопрос был некорректен.

Oleg Agapkin писал(а):
Dmitry писал(а):
типичные размеры учителя [1;2). Обучение не может дать такого выхода в принципе, т.к. сигмоид выдает (0;1). Вот такая проблема..



Берется начальный интервал значений (синий), линейно перенормируется в интервал значений в котором работает сигмоида, или любая другая передаточная функция (зеленый). Вот и все.

Сеть учится и применяется в зеленом интервале. Там сигмоида работает прекрасно Полученные на выходе результаты перенормируются обратно из зеленого в синий интервал.


Грубо говоря, разделить на коэфициент, а потом на него умножить??
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Сб Дек 02, 2006 1:58 pm    Заголовок сообщения: Ответить с цитатой

_next_ писал(а):
Понабросились Cool


_next_ - Вы на пауке тоже _next_? Просто спросил..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
_next_
Участник форума
Участник форума


Зарегистрирован: 11 Май 2006
Сообщения: 45

СообщениеДобавлено: Сб Дек 02, 2006 2:46 pm    Заголовок сообщения: Ответить с цитатой

Dmitry писал(а):

_next_ - Вы на пауке тоже _next_? Просто спросил..

да.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Пн Дек 04, 2006 6:44 pm    Заголовок сообщения: Ответить с цитатой

Oleg Agapkin писал(а):
Грубо говоря, разделить на коэфициент, а потом на него умножить??

Исходный ряд


В этом ряде выбираем минимальное и максимальное значение



Теперь надо перейти в интервал Y так, чтобы



Тогда
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
_next_
Участник форума
Участник форума


Зарегистрирован: 11 Май 2006
Сообщения: 45

СообщениеДобавлено: Вт Дек 05, 2006 7:27 am    Заголовок сообщения: Ответить с цитатой

Кстати вопрос - приведённая выше формула это ведь линейное масштабирование. И при ненормальном распределении данных обучающей выборки возможен вариант адаптации весов сети к единичным выбросам. Насколько корректно в таком случае масштабировать данные нелинейно, т.е. приводить их к нормальному распределению?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 112
Откуда: Москва

СообщениеДобавлено: Вт Дек 05, 2006 1:26 pm    Заголовок сообщения: Ответить с цитатой

_next_ писал(а):
И при ненормальном распределении данных обучающей выборки возможен вариант адаптации весов сети к единичным выбросам.

Это проблема. Поэтому предобработка - самый важный этап работы с нейросетью.

Можно идти разными путями - выкидывать выбросы из наборов, делать нелинейное масштабирование.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry
Новый посетитель
Новый посетитель


Зарегистрирован: 28 Ноя 2006
Сообщения: 13
Откуда: Астрахань

СообщениеДобавлено: Вт Дек 05, 2006 1:30 pm    Заголовок сообщения: Ответить с цитатой

Присоединяюсь к вопросу _next_а. Мне лично кажется, все зависит от того, какое распределение считать нормальным для конкретно того процесса, который Вы пытаетесь представить нейросетью. Т.е. влияют ли выбросы на дальнейшее формирование данных. Если да, то ничего не поделаешь, придется учитывать. Но если попытаться сгладить их(выбросы) не умаляя, по возможности, их значения? Что, если уменьшать каждое значение на коэффициент, пропорциональный этому значению? Чем больше выброс, тем больше он обрежется. Это я конечно велосипед изобрел, но кто что об этом думает?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети Часовой пояс: GMT + 4
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Rambler's Top100