| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
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. Как лучше поступить? |
Да все просто.
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 - нейросети, анализ данных, прогнозирование |
|
| Вернуться к началу |
|
 |
Dmitry Новый посетитель

Зарегистрирован: 28 Ноя 2006 Сообщения: 13 Откуда: Астрахань
|
Добавлено: Пт Дек 01, 2006 12:40 pm Заголовок сообщения: |
|
|
| Нормировка входов - выходов - а как это на точности отразится? |
|
| Вернуться к началу |
|
 |
Victor G. Tsaregorodtsev Эксперт

Зарегистрирован: 28 Июн 2005 Сообщения: 114 Откуда: Красноярск
|
Добавлено: Пт Дек 01, 2006 1:11 pm Заголовок сообщения: |
|
|
На точности чего? _________________ www.neuropro.ru - нейросети, анализ данных, прогнозирование |
|
| Вернуться к началу |
|
 |
Oleg Agapkin Администратор


Зарегистрирован: 10 Июн 2005 Сообщения: 112 Откуда: Москва
|
Добавлено: Пт Дек 01, 2006 1:48 pm Заголовок сообщения: |
|
|
| Dmitry писал(а): | типичные размеры учителя [1;2). Обучение не может дать такого выхода в принципе, т.к. сигмоид выдает (0;1). Вот такая проблема..
|
Берется начальный интервал значений (синий), линейно перенормируется в интервал значений в котором работает сигмоида, или любая другая передаточная функция (зеленый). Вот и все.
Сеть учится и применяется в зеленом интервале. Там сигмоида работает прекрасно Полученные на выходе результаты перенормируются обратно из зеленого в синий интервал. |
|
| Вернуться к началу |
|
 |
_next_ Участник форума

Зарегистрирован: 11 Май 2006 Сообщения: 45
|
Добавлено: Пт Дек 01, 2006 3:32 pm Заголовок сообщения: |
|
|
Понабросились  |
|
| Вернуться к началу |
|
 |
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_ писал(а): | Понабросились  |
_next_ - Вы на пауке тоже _next_? Просто спросил.. |
|
| Вернуться к началу |
|
 |
_next_ Участник форума

Зарегистрирован: 11 Май 2006 Сообщения: 45
|
Добавлено: Сб Дек 02, 2006 2:46 pm Заголовок сообщения: |
|
|
| Dmitry писал(а): |
_next_ - Вы на пауке тоже _next_? Просто спросил.. |
да. |
|
| Вернуться к началу |
|
 |
Oleg Agapkin Администратор


Зарегистрирован: 10 Июн 2005 Сообщения: 112 Откуда: Москва
|
Добавлено: Пн Дек 04, 2006 6:44 pm Заголовок сообщения: |
|
|
| Oleg Agapkin писал(а): | | Грубо говоря, разделить на коэфициент, а потом на него умножить?? |
Исходный ряд
В этом ряде выбираем минимальное и максимальное значение
Теперь надо перейти в интервал Y так, чтобы
Тогда
.jpg) |
|
| Вернуться к началу |
|
 |
_next_ Участник форума

Зарегистрирован: 11 Май 2006 Сообщения: 45
|
Добавлено: Вт Дек 05, 2006 7:27 am Заголовок сообщения: |
|
|
| Кстати вопрос - приведённая выше формула это ведь линейное масштабирование. И при ненормальном распределении данных обучающей выборки возможен вариант адаптации весов сети к единичным выбросам. Насколько корректно в таком случае масштабировать данные нелинейно, т.е. приводить их к нормальному распределению? |
|
| Вернуться к началу |
|
 |
Oleg Agapkin Администратор


Зарегистрирован: 10 Июн 2005 Сообщения: 112 Откуда: Москва
|
Добавлено: Вт Дек 05, 2006 1:26 pm Заголовок сообщения: |
|
|
| _next_ писал(а): | | И при ненормальном распределении данных обучающей выборки возможен вариант адаптации весов сети к единичным выбросам. |
Это проблема. Поэтому предобработка - самый важный этап работы с нейросетью.
Можно идти разными путями - выкидывать выбросы из наборов, делать нелинейное масштабирование. |
|
| Вернуться к началу |
|
 |
Dmitry Новый посетитель

Зарегистрирован: 28 Ноя 2006 Сообщения: 13 Откуда: Астрахань
|
Добавлено: Вт Дек 05, 2006 1:30 pm Заголовок сообщения: |
|
|
| Присоединяюсь к вопросу _next_а. Мне лично кажется, все зависит от того, какое распределение считать нормальным для конкретно того процесса, который Вы пытаетесь представить нейросетью. Т.е. влияют ли выбросы на дальнейшее формирование данных. Если да, то ничего не поделаешь, придется учитывать. Но если попытаться сгладить их(выбросы) не умаляя, по возможности, их значения? Что, если уменьшать каждое значение на коэффициент, пропорциональный этому значению? Чем больше выброс, тем больше он обрежется. Это я конечно велосипед изобрел, но кто что об этом думает? |
|
| Вернуться к началу |
|
 |
|