Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вырисовалась "небольшая" проблемка.
Если в одну и туже сеть подавать одни и те же обучающие примеры (ОП), но перед обучением инициализировать рандомными весами,
то каждый раз сеть может обучаться по разному, с различными результатами на одной и той же тестовой выборке.
Используется библиотека FANN.
Решил проверить как будет вести "Статистика 6" в подобной ситуации?
И здесь сети с одинаковой архитектурой выдают раздичный рез-ты.
Для наглядности выбрал две сети с максимально разнящимися результатами. Видно, что результативность у них с точностью до наоборот.
Графики порогов активации подтверждают, что эти две сети на одних и тех же ОП обучились совершенно разному.
(Полные результаты для всех сетей и данные всех выборок во вложении)
...............................................
Подскажите, как добиться стабильности в процессе обучения нейросети?
Вырисовалась "небольшая" проблемка.....
то каждый раз сеть может обучаться по разному, с различными результатами на одной и той же тестовой выборке....
Подскажите, как добиться стабильности в процессе обучения нейросети?
Ну так это вопрос вопросов) Для обучения НС используется множество методов, но все они, по понятным причинам, отличны от прямого перебора. И все они имеют один общий существенный недостаток: паралич или застревание в локальном экстремуме. Что Вы и наблюдаете) Универсального решения нет, кроме как повышать качество механизма/алгоритма обучения и увеличивать время обучения (колличество эпох обучения). И в каждом конкретном случае это решается по разному.
Подскажите, как добиться стабильности в процессе обучения нейросети?
Подскажите, как добиться стабильности в процессе обучения нейросети?
SVM.
Пример для двух классов:
Возможные разделяющие плоскости.... MLP BP найдет любую из них и остановится .....
Что касается SVM:
Этот медод всегда будет находить одну единственную разделяющую плоскость ....
Или ГА, как выше подсказали....
Удачи ....
Ну так это вопрос вопросов) Для обучения НС используется множество методов, но все они, по понятным причинам, отличны от прямого перебора. И все они имеют один общий существенный недостаток: паралич или застревание в локальном экстремуме. Что Вы и наблюдаете) Универсального решения нет, кроме как повышать качество механизма/алгоритма обучения и увеличивать время обучения (колличество эпох обучения). И в каждом конкретном случае это решается по разному.
Если про застревание в локальном экстремуме, то я думаю в этом случае, результаты должны быть все "хорошие", и различаться лишь в некотором диапазоне -- "получше", "похуже"...
Но не кардинально изменять результаты теста! Понимаете?
Вот рез-ты прогонов на тестовом периоде в 1 месяц:
-9337
+5060
+14522
+7325
+12724
-3475
+10924
-9337
+5060
-3475
-9337
-3475
................................
Вот зарубежные товарищи советуют применять комитеты сетей
но мне думается, что это не лучшее решение...
Тем более, напомню, предлагаемые в задаче данные ОП, довольно легко легко разделяются линейными методами,
и неужели нельзя найти простого и стабильного решения в виде НС.
Про ГА не пойму, к поиску чего его применять?
...............
то есть, применять ГА не в дополнение к НС, а вместо них?
Про ГА не пойму, к поиску чего его применять?
...............
то есть, применять ГА не в дополнение к НС, а вместо них?
ГА может подобрать веса НС, а в качестве фитнес функции можно использовать всё что угодно... Можете поискать EMA GA насколько помню...
Но честно говоря я не пойму как это ГА выручит Вас, он введь также может в разных точках останавливаться... как и НС...
Да и вообще, честно говоря, это нормальное явление, главное чтобы не сильно отличались...(не сильно понимайте как хотите)
Если про застревание в локальном экстремуме, то я думаю в этом случае, результаты должны быть все "хорошие", и различаться лишь в некотором диапазоне -- "получше", "похуже"...
Но не кардинально изменять результаты теста! Понимаете?
Здесь, скорее всего, сеть не пере- а недообучена. Причина, видимо, в недостаточно качественной архитектуре.
Хотя может быть и переобучение - если структура сети излишне избыточна, а начальная инициализация случайна, то каждый раз сетка может застрять в разных экстремумах, отсюда и сильная разница в результатах
Здесь, скорее всего, сеть не пере- а недообучена. Причина, видимо, в недостаточно качественной архитектуре.
Хотя может быть и переобучение - если структура сети излишне избыточна, а начальная инициализация случайна, то каждый раз сетка может застрять в разных экстремумах, отсюда и сильная разница в результатах
И еще. Меня настораживает "узость" диапазона актуальных выходов сети. Поясню:
-- сеть MLP 1-7-1
-- значения подаваемые на входы НС равномерно распределены в диапазоне [0;1], выходы в обучающих примерах представлены значениями 1 и -1.
Если после обучения через сеть прогнать весь диапазон значений входов, то мы увидим, что выходы сети лежат в очень узком диапазоне. Например:
opt_max_act=-0.50401336 opt_min_act=-0.50973881 step=0.0000286272901034
или даже так
opt_max_real=-0.99997914 opt_min_real=-0.99999908 step=0.00000010
.............................
Это правильно или нет?