П М
П М личный блог
10 апреля 2019, 06:07

Опрос по нейросетям

Алготрейдерам. Во времена, когда телефон может распознавать без всякой тренировки вопросы и команды голосом, когда хостинг фотографий умеет отличать на фото и видео лица людей в разных ракурсах, в разное время их жизни, в эти времена только глухой не слышал про нейросети.
Только ленивый не пробовал их прикрутить к роботу. Но вот работают ли они эффективно, вот в чём вопрос.
Тот же нобелевский лауреат Д. Канеман например утверждал, что в трейдинге нельзя «набраться опыта» настолько, чтобы с точностью утверждать куда пойдёт цена. А зачем ещё могут быть нужны нейросети?
Применяете ли вы их?

Мой личный опыт показывает что зерно в них есть. Но оно какое-то достаточно маленькое. Т.е. робот с нейросетью, это во многом похоже на переподогнанный курвфиттинг. Хотя есть и отличия в лучшую сторону от чистого курвфиттинга.
31 Комментарий
  • Такие же выводы когда то сделал. Пробовал когда то разрекламированный НейрошелТрейдер(если память не изменяет), ничего сверхестественного.
  • Ray Badman
    10 апреля 2019, 06:36

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

  • Niktesla (бывш. Бабёр-Енот)
    10 апреля 2019, 06:46
    Нейросети работают конечно.
    Если вы сможете правильно поставить задачу, спроектировать соответсвующую для решения этой задачи архитектуру сети, подготовить данные для обучения и произвести обучение(если у вашей нейросети предполагается необходимость в оном), то полученная сеть поставленную задачу(выдавать прогноз, или что вы там от нее захотите) решать будет, почему нет?
  • _sk_
    10 апреля 2019, 08:15
    Согласен, что не стоит преувеличивать способности нейросетей применительно к рынку.

    Мой опыт показывает, что результаты с применением нейросетей к нашему рынку получаются или примерно такие же, как без них, или несколько хуже. В результате предпочтение отдаю понятному алгоритму, а не чёрному ящику.
  • Пафос Респектыч
    10 апреля 2019, 08:57
    Работают, но данных мало для них. И готовить геморно и надо уметь и знать как. Сложно короче )

    Те сети что сейчас распознают картинки-номера и вот это вот всё, обучены на несравнимо более огромных массивах данных чем есть на рынках
  • Михаил
    10 апреля 2019, 09:34
    А если не секрет, какие архитектуры сетей вы применяли в рамках свое опыта?
      • Михаил
        10 апреля 2019, 12:08
        ПBМ, такой подход не работает — лучше использовать более простые методы — градиентный бустинг, например. Нейронные сети — это в первую очередь про архитектуры сетей. Хорошую архитектуру выдумать непросто. Большинство практических задач не решается с помощью архитектур на основе исключительно обычных полносвязных слоев.
      • Михаил
        10 апреля 2019, 12:56
        ПBМ, 
        Как пример одна известная архитектура для анализа длинных временных рядов — тут нет ни одного обычного полносвязного слоя.
  • sergeygaz
    10 апреля 2019, 09:46
    Работают ли нейросети?

    Какой-то обобщающий вопрос, это так же, как спросить «Хорошо ли едет машина?». Машины бывают разные. Понятие хорошо у всех разное. Цели поездки у всех разные. Точно такая же ситуация с нейросетями.

    Смысл волшебства не в модном слове «нейросеть», а в том, какие входные данные нейросети скормлены, что именно нейросеть предсказывает и с какой именно точностью она это делает.

    Только ленивый не пробовал их прикрутить к роботу. Но вот работают ли они эффективно, вот в чём вопрос.

    Нейросеть это всего лишь машинный алгоритм. Эффективно он работает или нет зависит от постановки задачи и от качества самой нейросети.

    Тут еще надо понимать, что нейросеть не торгует, а всего лишь дает сигналы. Как этими сигналами распорядиться, это совсем другая сложная задача. Так-то можно депо слить даже при точности предсказаний 90%.

    Тот же нобелевский лауреат Д. Канеман например утверждал, что в трейдинге нельзя «набраться опыта» настолько, чтобы с точностью утверждать куда пойдёт цена. А зачем ещё могут быть нужны нейросети?

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



      • sergeygaz
        10 апреля 2019, 11:45
        ПBМ, и как мы несогласные будем жить дальше?
    • Денис Т
      14 апреля 2019, 00:09
      sergeygaz, +1
  • Андрей Волков
    10 апреля 2019, 10:23
    По сути оптимизация любого алгоритма есть обучение нейро сети, только оно идёт простым перебором параметров, поэтому думаю, что хорошие нейросети должны работать так же как работают хорошие алгоритмы основанные на статистике и закономерностях.
      • Михаил
        10 апреля 2019, 12:03
        ПBМ, на сомом деле различие не принципиальное. Большинство статистических методов сводятся к максимизации функции правдоподобия. В обычных постановках эта функция от нескольких параметров, так как решается задача для достаточно простых объектов.
        Формулировка задачи на классификацию изображения с помощью нейронных сетей тоже задача на максимизацию функции правдоподобия (минимизацию кроссэнтропии) просто функция правдоподобия от нескольких десятков миллионов параметров.
        Если объекты из классических статистических задач описываются векторами всего с несколькими измерениями, то в машинном обучении объекты гораздо сложнее - обычное изображение порядка 1000х1000 пикселей описывается вектором 3 млн. мерном пространстве.
        Но в основе подход одинаковый. 
          • Михаил
            10 апреля 2019, 18:50
            ПBМ, мыслей несколько в связи с сетями:
            1. Сети нужны в первую очередь для end-to-end learning — это когда вы не придумываете какие-то свои объясняющие признаки, а пихаете сырые данные в сеть (просто картинку, просто котировки и т.д.), и она сама за вас «придумывает» признаки. Если вы сами занимаетесь feature engineering, то обычно гораздо эффективнее использовать другие методы, например, градиентный бустинг
            2. Для такого рода обучения обычно нужно достаточно много обучающих примеров, поэтому если у вас их мало, то городить нейронную сеть смысла нет — используйте бустинг
            3. Если у вас есть достаточно даных, то нужна правильная архитектура. Если вы не знаете архитектур под свою задачу и собирается забацать несколько полносвязных слоев в надежде, что все получится, то это тоже имеет мало смысла — бустинг обычно гораздо лучше с этим справляется. Изучайте архитектуры или ограничьтесь более простыми методами машинного обучения.
              • Михаил
                10 апреля 2019, 19:03
                ПBМ, в том-то и дело, что это непросто. Примерно так же непросто, как с нуля придумать какой-нибудь InceptionResNet для анализа изображения — c 56 млн. обучающихся параметров на 572 слоях. 
                Тут другое дело, что выдумывать совсем с нуля не надо. Если вы знаете много архитектурных решений, понимаете зачем они были придуманы, вы наверняка найдете, что-то близкое к вашей предметной области, немного заточите напильником под свои задачи, и получите разумный результат, но это будет сеть, где полносвязные слои будут встречаться не часто, где-то ближе к выходу.
                  • Михаил
                    10 апреля 2019, 19:21
                    ПBМ, 56 млн. — это не данные, а количество параметров в сети. Учили ее на датасете примерно 1 млн. примеров, насколько я знаю, на многих компах с GPU неделями. Обученная в свободном доступе лежит — обычные люди такое не учат, а используют уже обученное. 
  • Андрей К
    10 апреля 2019, 16:23
    Я думаю, те люди, которые пытаются это делать в трейдинге, достаточно примитивно думают в самом трейдинге. То есть не научившись толком торговать руками, начинают перекладывать свои знания в сетку. В общем как сами умеют, так и сеть обучили. А тут надо ширше и масштабней =))

    Но это у меня достаточно примитивное мышление об этом, опыта нет, только много читаю.
  • Дмитрий ЕрМак
    10 апреля 2019, 18:57
    НС не панацея для всех задач. Часто бывает проще и быстрее сделать другими методами. Но это не значит, что нейросети совсем не нужны :)))) 
  • _sg_
    10 апреля 2019, 22:03
    Я считаю ML заниматься просто  необходимо.
    Сейчас«features engineering»  вытесняется на «Architectural engineering»
    И в этом есть очень большой потенциал. Все стало легче и доступнее чем 10 лет назад.
    Я, когда раньше занимался NN, больше внимания уделял именно Архитектуре. Искал оптимальные архитектуры сетей генетическим алгоритмом. Но, поскольку, раньше технологии были значительно слабее,  я это дело забросил. 
    Но все же тогда я одну сетку настроил и запускал в боевом режиме.
    Результат меня не обрадовал. Получил минус за месяц.

    Но подбор необходимой архитектуры — это еще не все.
    Главное — модель. Построить модель. Потому что Как Оптимизировать сейчас каждый знает и умеет. Вон на Каггле они кучкуются.
    В модели главное ЧТО Оптимизировать — а вот здесь «надо хорошенько подумать» 
  • ELab
    14 апреля 2019, 19:14
    NN это совсем про другое. Возможно, паттерны какие-то сверточные. Но в целом — не тот табак

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн