Обсуждение статьи "Нейронные сети - от теории к практике" - страница 9

 

Объясните пожалуйста:

Допустим, обучил я перцептрон1 тестовой выборкой из файл1. Он научился предсказывать на 100% правильно этот же файл1.

Потом протестировал этот перцептрон1 на новых данных (файл2). Их он предсказал правильно на 95% процентов.

Как можно доучить перцептрон1?

Вариант 1:
Я склеиваю файл1 и файл2 = файл12. Обучаю с нуля перцетпрон2 скармливая ему файл12 + правильные ответы.

Вариант 2:

Я вручную корректирую правильные ответы в файл2 и дообучаю перцептрон1. 

 

 

Вариант 1 понятен. Это просто с нуля обучение нового перцептрона. 

А как осуществить вариант 2 ? Осуществим ли он? 

 =========

Сейчас экспериментирую в Jupyter-е на Питоне с библиотекой scikit-learn. Там у перцептрона нет метода чтобы доучить его новыми данными..

http://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier 

sklearn.neural_network.MLPClassifier — scikit-learn 0.18.dev0 documentation
  • scikit-learn.org
class hidden_layer_sizes=(100, ), activation='relu', algorithm='adam', alpha=0.0001, batch_size='auto', learning_rate='constant', learning_rate_init=0.001, power_t=0.5, max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1...
 

Статья супер, наверно пока единственная с более менее подробным и понятным изложением,

хотелось бы попросить автора исправить картинку, все таки в этом примере рассматривается не сеть, а перцептрон,

и очень ждем  примера именно нейронной сети, например: 2 нейрона на входе, 3 в скрытом слое, 1 на выходе

большое спасибо за статью!

Файлы:
pyb.jpg  1958 kb
 
Очень хорошая статья, я буду учиться на этой неделе, чтобы попытаться реализовать то, что определено в статье.
Но у меня есть вопрос, как мне реализовать больше нейронов?

Osb: Я все еще новичок в программировании.


У меня есть несколько основных вопросов, и некоторые из них появятся в процессе разработки, которую я буду пытаться сделать. Могу ли я проконсультироваться с вами?

 
Я новичок в программировании, почти ничего не знаю, но я изучаю и адаптирую ваш советник для нескольких тестов. Эта задача очень интересная.
Сейчас я думаю о системе самооптимизации и нашел интересную статью об этом. Можно ли реализовать структуру вашего советника. На данный момент у меня нет возможности для этого.

Было бы вам интересно развивать эту работу?

https://www.mql5.com/ru/articles/2279

Rede neural: Expert Advisor auto-otimizável
Rede neural: Expert Advisor auto-otimizável
  • 2016.10.17
  • Jose Miguel Soriano
  • www.mql5.com
Será que é possível criar um Expert Advisor que, de acordo com os comandos do código, otimize os critérios de abertura e fechamento das posições automaticamente e em intervalos regulares? O que acontecerá se nós implementarmos no EA uma rede neural (um perceptron multi-camada) que, sendo módulo, analise o histórico e avalie a estratégia? É possível dar ao código um comando para uma otimização mensal (semanal, diária ou por hora) de rede neural com um processo subsequente. Assim, é possível criar um Expert Advisor que se auto-otimize.
 

Изменение крутизны функции активации совершенно не нужно делать!

Смотрим формулу:

for(int n=0; n<10; n++) 
  {
   NET+=Xn*Wn;
  }
NET*=0.4;

При обучении сеть должна подбирать множители Wn. Если для сети выгоднее чтобы итог был *0,4, то она просто подберет все веса Wn, каждый из которых уже будет * 0.4. Т.е. просто внесем общий множитель в скобки, который сам и определится по минимуму ошибки.

В данной реализации можно просто уменьшить шаг для подбора весов. В более серьезных нейросетях нужные коэффициенты найдутся сами.

 

Нормализация проводится неверно, а потом еще коэффициент 0.4 зачем-то...

Предположим, есть ряд значений: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Значения из этого ряда нужно привести к последовательности [0,1]. Логично предположить, что это будет ряд: 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.

Однако по вашей методике получаются просто случайные числа. Предположим, мы получаем значения из индикатора: 6, 7, 8, 9, 10. Упрощая вашу формулу:

Мы получаем:

6 >> 0

7 >> 0.25

8 >> 0.5

9 >> 0.75

10 >> 1

В этом ряду, нормализованном согласно указаниям из вашей статьи, верно только последнее значение.

Если у вас был в жизни курс линейной алгебры и вы можете отличить косинус от тангенса, то непонятно как можно так напортачить с такой простой задачей. Результаты вашей работы носят исключительно случайный характер!!

Но признаю, я использовал именно эту публикацию в качестве отправной точки. Распечатал, внимательно перечитывал, делал пометки ручкой. Потом пошел в Дом книги и купил Осовского "Нейронные сети для обработки информации". Прочитал, стал очень умным, и вот пишу...

 
Спасибо за это понятное введение в искусственный интеллект для торговли на MT5. Итак, "веса" находятся путем оптимизации, что Кагатай назвал подгонкой кривых. В действительности нейронные сети (их веса) "обучаются" путем ввода огромного количества обучающих данных, помеченных человеком, и пометки результатов как правильных или неправильных. Есть ли эффективный способ сделать это в MT5?
 
Я хочу знать, как использовать и купить этот умный робот мой микро сигнал 13552272531 пожалуйста, учитель добавьте меня, я хочу сделать что-то.
 

Почему при бэктестинге я получаю только 365 долларов прибыли?

 
Nice Post, В ваших кодах, вы упомянули Trade\Trade.mqh и Trade\PositionInfo.mqh, не могли бы вы предоставить ссылку на скачивание этих двух? большое спасибо!