Предикторы для нейросети - страница 2

 
СанСаныч Фоменко:

Не бывает специальных предикторов для НС. Есть предикторы, которые влияют-связны-предсказывают целевую переменную, в идеале ПРИБЫЛЬ, ЛИБО НЕ ИМЕЮТ ОТНОШЕНИЯ К ЦЕЛЕВОЙ ПЕРЕМЕННОЙ. Тогда это просто шум, очень удобный, на этапе обучения дает прекрасные результаты. 

Есть одно очень важное положение: модель, в частности НС, крайне мало влияют на результат. Основное влияние на результат оказывают именно предикторы. 

Саныч, это в любой ТС так.

Если идея стратегии хорошая, то прекрасно все фурычит.

Предикторы - та же идея по сути.
 
СанСаныч Фоменко:

Не бывает специальных предикторов для НС. Есть предикторы, которые влияют-связны-предсказывают целевую переменную, в идеале ПРИБЫЛЬ, ЛИБО НЕ ИМЕЮТ ОТНОШЕНИЯ К ЦЕЛЕВОЙ ПЕРЕМЕННОЙ. Тогда это просто шум, очень удобный, на этапе обучения дает прекрасные результаты. 

Есть одно очень важное положение: модель, в частности НС, крайне мало влияют на результат. Основное влияние на результат оказывают именно предикторы. 

По идее, шум тоже влияет на прибыль, как любые ценовые флуктуации, а модель, если она имеет отношение к интеллекту, сама обязана классифицировать его наряду с сигналами. А если, как вы предлагает, подбирать предикторы пока останутся только торговые сигналы, то нафига тогда нейросеть?

 
revers45:

По идее, шум тоже влияет на прибыль, как любые ценовые флуктуации, а модель, если она имеет отношение к интеллекту, сама обязана классифицировать его наряду с сигналами. А если, как вы предлагает, подбирать предикторы пока останутся только торговые сигналы, то нафига тогда нейросеть?

Предикторы это набор индикаторов, когда мы подаём из в сеть, мы тупо в большой формуле, как например в этой, наши индикаторы подставляем в уровнение и решаем его. Результат решения если выше 0 то считаем 1, если ниже, то 0. 

   double x0 = 2.0 * (v0 + 99.21148) / 176.95490999999998 - 1.0;
   double x1 = 2.0 * (v1 + 86.99862) / 180.40715 - 1.0;
   double x2 = 2.0 * (v2 - 0.0) / 100.0 - 1.0;
   double x3 = 2.0 * (v3 - 0.50696) / 99.49304 - 1.0;
   double x4 = 2.0 * (v4 + 71.54768) / 171.54768 - 1.0;
   double decision = -0.7364798533999433 * x0 * x1 * x2 * x3
  + 0.8271231920417113 * x3 * x4
  + 0.5548277667488384 * sigmoid(x4)
  -0.3587065599162285 * sigmoid(x1 + x4)
  + 0.4788171644233077 * sigmoid(x0 + x1 + x4)
  + 0.0038395252950544296 * sigmoid(x0 + x2 + x4)
  -0.09814241148367112 * sigmoid(x3 + x4)
  + 0.165088679945025 * sigmoid(x0 + x3 + x4)
  + 0.07867209145051157 * sigmoid(x1 + x3 + x4)
  -0.08547852265538079 * sigmoid(x2 + x3 + x4)
  -0.35737036148258033 * sigmoid(1.0 + x2)
  -0.1991590130674753 * sigmoid(1.0 + x0 + x2)
  + 0.9711162983485678 * sigmoid(1.0 + x1 + x3)
  + 0.011104081677174459 * sigmoid(1.0 + x1 + x4)
  -0.2552520779249111 * sigmoid(1.0 + x1 + x3 + x4);

То есть v0-v4 это предикторы, когда мы их подставим в формулу через нормализацию х0-х1 и решим переменную decision мы получим число, если оно выше нуля, то 1 если ниже, то 0.....

 

Просто когда говорят про Нейронные сети, забывают упомянуть что она создаётся экспертом который конкретно знает что он от неё хочет. Для этого нужно поставить вопрос. Я хочу получать прибыльные сигналы в 15:00, событие обязательно должно какое то быть.....

Следовательно Ваша выходная будет Прибыльные сигналы =1, убыточные 0. Но весь фокус в том,  узнать мы это можем только когда появится следующий сигнал. То есть узнаём мы о том был ли сигнал прибыльным или убыточным, только на следующем сигнале, поэтому смещаем выходную на один шаг назад. Чтобы уже сейчас знать, будет ли этот сигнал прибыльным или убыточным. В итоге в выходной переменной есть последний сигнал, который НЕОПРЕДЕЛЁН. И когда мы сдвигаем выходную переменную на шаг назад и обучаем нашу НС, получаем уравнение выше, мы закладываем в неё предсказательную способность. Последний сигнал у нас не известен, НО когда он наступил, нам стали известны значения индикаторов, которые мы подаём на вход или подставляем в это уравнение.

Так вот если с выходом всё понятно, то входы эксперт-специалист (человек) строит сам на основе данных производя преобразования, делая сочетания, индикатор от индикатора и т.д. Тут включается только Ваша фантазия и понимание рынка. Пакеты R  многое помогают делать, чтобы подобрать нужные входы.

Я надеюсь объяснил что такое предикторы и как это всё работает????

Отвечу на один вопрос. Подумайте хорошенько прежде чем задать.

 
Mihail Marchukajtes:

Предикторы это набор индикаторов, когда мы подаём из в сеть, мы тупо в большой формуле, как например в этой, наши индикаторы подставляем в уровнение и решаем его. Результат решения если выше 0 то считаем 1, если ниже, то 0. 

То есть v0-v4 это предикторы, когда мы их подставим в формулу через нормализацию х0-х1 и решим переменную decision мы получим число, если оно выше нуля, то 1 если ниже, то 0.....

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

А вопрос, если хотите, один - почему наши эксперты создают под каждую задачу свою нейросеть, не напоминает ли это Левшу - "у англичан ружья кирпичом не чистют", где AutoML?

 
revers45:

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

А вопрос, если хотите, один - почему наши эксперты создают под каждую задачу свою нейросеть, не напоминает ли это Левшу - "у англичан ружья кирпичом не чистют", где AutoML?

Это вы описали про рекурентрую сеть (как пример), когда сеть разбивает входной набор на найденые классы. Это немного другой тип сети. В нашем случае MLP идёт с учителем, когда подавая на вход мы заставляем уровнение подстроится так, чтобы результат расчёта формулы совпадал с результатом целевой функции. Не мешайте всё в одну куча. Сети делятся на две категории. С учителем и без учителя, а также делятся на два класса. Классификация и прогноз. 

Любую НС можно отнести к тем или иным группам и классам перечисленными мною выше.


Что вы понимаете под словом "Свою сеть"? Да, сама формула всегда разная, но тип сети всегда один......... Это двух нейронный Перцептрон или MLP.

AutoML? это разновидность сетей где есть петля, как правило, Когда с выхода, мы снова подаём на вход, корректируя тем самым веса. Это принцип в общих чертах. Структура сетей может быть значительно сложнее...

 
Mihail Marchukajtes:

Это вы описали про рекурентрую сеть (как пример), когда сеть разбивает входной набор на найденые классы. Это немного другой тип сети. В нашем случае MLP идёт с учителем, когда подавая на вход мы заставляем уровнение подстроится так, чтобы результат расчёта формулы совпадал с результатом целевой функции. Не мешайте всё в одну куча. Сети делятся на две категории. С учителем и без учителя, а также делятся на два класса. Классификация и прогноз. 

Любую НС можно отнести к тем или иным группам и классам перечисленными мною выше.


Что вы понимаете под словом "Свою сеть"? Да, сама формула всегда разная, но тип сети всегда один......... Это двух нейронный Перцептрон или MLP.

AutoML? это разновидность сетей где есть петля, как правило, Когда с выхода, мы снова подаём на вход, корректируя тем самым веса. Это принцип в общих чертах. Структура сетей может быть значительно сложнее...

ты ошибаешься, есть 3 класса supervised, unsupervised и reinforcement (с учителем, кластеризация и с подкреплением). Рекуррентные это supervised

reinforcement это условно 3-й класс, потому что может использоваться вообще без НС

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

AutoMl это автоматический выбор архитектуры сети программно, есть такие пакеты\сервисы

не мешай все в одну кучу

 
Maxim Dmitrievsky:

ты ошибаешься, есть 3 класса supervised, unsupervised и reinforcement (с учителем, кластеризация и с подкреплением). Рекуррентные это supervised

reinforcement это условно 3-й класс, потому что может использоваться вообще без НС

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

AutoMl это автоматический выбор архитектуры сети программно, есть такие пакеты\сервисы

не мешай все в одну кучу

Спорить не буду, могу и ошибатся.....

 

Ктонибудь может мне сказать, есть нейросоветнк который можно обучить стратегии торговли по индикаторам?

 
Multisustem123:

Ктонибудь может мне сказать, есть нейросоветнк который можно обучить стратегии торговли по индикаторам?

Это вам товарищ надо курить вот эту ветку форума "Машинное обучение в трейдинге: теория и практика (торговля и не только)"  с 1 странице вы найдете уйму идей. выбирайте любую

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