Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1838

 
Mihail Marchukajtes:

Продублирую видео здесь. мало ли, может кому интересно будет. Да и местный я именно в этой ветке, чего уж там... Может Фокусник какой там увидит захочет поспорить и т.д. :-)

https://youtu.be/TlNk3fKkUxo

с чем спорить то?

обычное мнение обывателя, который считает, что ему известно чем занимаются ИТ-гиганты в этой области )))

 
Mihail Marchukajtes:

Продублирую видео здесь. мало ли, может кому интересно будет. Да и местный я именно в этой ветке, чего уж там... Может Фокусник какой там увидит захочет поспорить и т.д. :-)

https://youtu.be/TlNk3fKkUxo

1) Проф. Севельев говорит, что не 100 тыс связей в день у каждого нейрона разрушаются, а что их всего около 100 тыс у каждого, а создаются и разрываются в среднем по 3 связи в день.
2) Система с дообучением вполне подходит под это. Например подаем новую порцию дообучающих данных, (противоречащих ранее запомненной информации) и коффициент связи между какими-то нейронами пересчитался и стал равен нулю.  Это вполне можно считать аналогом физического разрыва связи в реальном нейроне. А у другого нейрона от 0 пересчиталось в какое-то значение >0 - это аналог создания новой связи.
 
Igor Makanu:

на хабре хорошая статья 

Как понять, что нейросеть решит вашу проблему. Прагматичное руководство

вопросы теоретические появились, можно ли НС обучить:

1.  в качестве генератора случайной последовательности - аналог функции rand()

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

1) Вряд ли. МО может только запонить информацию и если надо то ообобщить.

2) Вполне - нагенерируйте обучающих данных на 10000 лет вперед и обучите модель. Но есть проблемка, - кроме корректировки на 1 день раз в 4 года (високосные года), есть корректировка на 1 день раз в 100 с чем то лет, чтобы соответствовать астроноическому положению планеты. Отличие с Юлианским календарем на 13 дней связано с тем, что некоторое время не знали, что эти корректировки нужны. В общем за 10000 лет будет много корректировок.

 
Maxim Dmitrievsky:
Миша обещал грааль, а подался в популизм 😄
Ну я грааль не обещать, так..... обычное объяснение и то это не оно.... просто накипело вот и вырвало :-)
 
elibrarius:
1) Проф. Севельев говорит, что не 100 тыс связей в день у каждого нейрона разрушаются, а что их всего около 100 тыс у каждого, а создаются и разрываются в среднем по 3 связи в день.
2) Система с дообучением вполне подходит под это. Например подаем новую порцию дообучающих данных, (противоречащих ранее запомненной информации) и коффициент связи между какими-то нейронами пересчитался и стал равен нулю.  Это вполне можно считать аналогом физического разрыва связи в реальном нейроне. А у другого нейрона от 0 пересчиталось в какое-то значение >0 - это аналог создания новой связи.

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

2. Тут отсутствует полный разрыв. Всё равно ноль передаётся. Хотя некое приближение к данному эффекту присутствует. Молодец!!!!

 
И да, я надеюсь ВСЕ заметили что я не совсем похож на Решетова Юру? Вернее совсем не похож, если в что....
 
Igor Makanu:
 в качестве генератора случайной последовательности - аналог функции rand()

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

Вообще интересно проверить на очень мощном железе.

 
Mihail Marchukajtes:

Продублирую видео здесь. мало ли, может кому интересно будет. Да и местный я именно в этой ветке, чего уж там... Может Фокусник какой там увидит захочет поспорить и т.д. :-)

https://youtu.be/TlNk3fKkUxo

Ахахаха ))) ЖГИ !!!

 
mytarmailS:

Ахахаха ))) ЖГИ !!!

Сцуко это так то слова Фокусника. Харе плогиатить!!!! Жду его с не терпением....
 

Хочу со всеми посоветоваться.
В пакете Darch нашел такой вариант оценки модели:
Считаем ошибку на трэйн и на ооб участках.
Потом итоговую ошибку считаем как
err = oob_error * comb_err_tr + train_err * (1 - comb_err_tr);

где comb_err_tr= 0,62. Множитель который регулирует вклад ошибок с train и с oob участков. Если его установить в 0 - то оценка только по train. Если установить в 1, то оценка только по oob.

0,62 - означает, что ошибка с oob имеет чуть больший вес в общей оценке модели.

Какое-то время я этой формулой пользовался, но сейчас возникли сомнения.

Ошибка на oob обычно имеет предел, а на train если пошло переобучение, то может дойти и до 0.
Примерно вот так: (зеленая это оценочная ошибка по формуле)




По этой формуле ошибка будет продолжать уменьшаться за счет уменьшающейся trn ошибки. И перестанет падать, только когда trn перестанет уменьшаться. В то же время когда началось  переобучение, то ошибка на oob начнет расти.
На мой взгляд остановка обучения, когда err по формуле начнет расти - слишком поздно.
Даже в точке где ошибка oob минимальна - тоже не оптимальна. За счет удачной рандомизации случайно нашелся минимум по oob, но это может быть подгонкой под oob.
Может быть надо взять минимальную ошибку на oob, и считать ее как предел для ошибки на train? Т.е. остановить обучение модели когда ошибка на trn стала равна лучшей ошибке на oob (там, где я нарисовал вертикальную линию)? Ошибка на oob будет хуже, зато это не будет подгонкой ни под train, ни под oob.

Причина обращения: