Машинное обучение для Форекс

Рейтинг лучших брокеров для торговли акциями за 2023 год:
  • Evotrade
    ☆☆☆☆☆
    ★★★★★
    Evotrade

    Бонусы для новых трейдеров до 5000$!

  • BINARIUM
    ☆☆☆☆☆
    ★★★★★
    BINARIUM

    Лучший брокер по бинарным опционам. Огромный раздел по обучению.

В этой статье раскрыты следующие темы:

Нейросеть на Форекс: Применение и проблемы

Как применяется нейронная сеть в торговле на Форекс. Суть и принципы нейронной торговле на биржах, перспективы машинного обучения.

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

Что такое Нейронная сеть и как она работает в торговле на биржах

Понятие «Нейронная сеть» (НС) появилось в ходе изучения процессов, идущих в головном мозге, и попыток их воспроизведения. В настоящее время разработано множество алгоритмов, которые нашли применение во многих областях, где требуется анализ, распознавание и прогнозирование, включая нейросеть для торговли на бирже.

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

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

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

Что такое нейросети на Форекс

В последние время трейдерское сообщество все чаще обсуждает машинное обучение и нейросети на Форекс и бирже. Эта тема не совсем нова: в докризисные годы были популярны торговые программы на базе НС NeuroSolutions и NeuroShell. Сейчас, после внедрения Google и Microsoft этой технологии в свои переводчики и голосовой поиск, продвинутые трейдеры снова обратили на нее внимание.

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

Однако нейросети на Форекс все еще недоступны для широких масс трейдеров. Поэтому большинству приходится пока что изучать их работу в теории.

Главной трудностью применения искусственных нейросетей является процесс их обучения. Другим препятствием становится высокая стоимость нейропакетов и в особенности специального оборудования для них – нейрокомпьютеров.

Лучшие брокеры без обмана
  • Evotrade
    ☆☆☆☆☆
    ★★★★★
    Evotrade

    Бонусы для новых трейдеров до 5000$!

  • BINARIUM
    ☆☆☆☆☆
    ★★★★★
    BINARIUM

    Лучший брокер по бинарным опционам. Огромный раздел по обучению.

Посмотрите короткое видео о использовании нейросетей в торговле на биржах:

Некоторые американские компании как LBS Capital Management Inc. покупают небольшие нейропакеты и нейрокомпьютеры до $50000 и улучшают свои торговые показатели на американских фондовых индексах S&P 500 или Nasdaq 100 .

Схема работы нейронной сети:

Задачи для нейросети

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

  • Большинство нейропакетов включают опцию определения чувствительности к входной информации. Эта функция позволяет загружать все имеющиеся данные без сортировки, после чего сеть сама покажет, какие данные более приоритетны. Ввиду непрогнозируемости времени обучения НС этот способ далек от оптимального, однако является самым простым.
  • Данные проверяются на противоречивость: большое количество взаимоисключающей информации способно полностью блокировать возможность получения сколько-нибудь точного рыночного прогноза.
  • Возможно использование нейросетевых программных инструментов, работающих по технологии Data Maining. В основе такого метода обработки информации лежит классификация данных различными способами, включая нечеткую логику.
  • Применяются методы корреляционного и кластерного анализа, а также исследование временных рядов, которые дают возможность группировки введенных данных. Также они выявляют отношение числовых показателей друг к другу и их цикличность применительно к отдельным элементам и к группам цифр.

Почему нейронные сети не применяются активно в трейдинге?

Существует несколько довольно простых и нетривиальных объяснений отсутствию популярности таких технологий в современном трейдинге среди широкой массы частных инвесторов. Связано это как с дороговизной подобных пакетов, так и с необходимостью последующего обучения сети.

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

В самой популярной торговой платформе для рынка Форекс – MetaTrader пока что нет возможности подключения модулей для нейросетей, хотя попытки уже предпринимались и уже написаны некоторые готовые библиотеки. Сейчас есть возможность подключения программ машинного обучения у платформы Wealth Lab, но программирование данных модулей – задача очень сложная и на данный момент не реализованная.

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

В каких сферах успешно применяются нейронные сети

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

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

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

Нейросети успешно применяются сегодня в поисковых алгоритмах Яндекс и Google. Помимо этого, они используются, к примеру, в Amazon. В известнейшей интернет-сети продаж благодаря автоматизации механизма рекомендаций осуществляется 35% продаж.

В будущем ожидается, что такие алгоритмы смогут использоваться и для работы так называемых чат ботов и смогут заменить сотрудников Call-центров.

Применяются нейронные сети и на транспорте. В частности, речь идет о беспилотных автомобилях и других разработках в этой отрасли, которые ведутся известными компаниями Google, Yandex, Uber.

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

Плюсы и минусы

А теперь разберемся с преимуществами и недостатками применения нейронных сетей в торговле на бирже.

Одним из главных является то, что системы такого рода постоянно обучаются. Появляются новые данные и нейросети учитывают их в процессе анализа.

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

Что касается недостатков, они также присутствуют. К ним можно отнести, к примеру, то, что если на входе подавались неверные данные, то и результат будет соответствующим.

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

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

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

Заключение

В статье мы рассказали о том, что такое нейросети и как они применяются на практике в различных сферах. Как видите, в торговле на биржах нейросети сегодня практически не используются, равно как и в трейдинге на Форекс. Однако в будущем ситуация может кардинально поменяться.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

16 бесплатных онлайн-курсов по машинному обучению

Популярная тенденция в сфере онлайн-образования — массовые открытые онлайн-курсы (Massive open online-courses, MOOC). Появились бесплатные курсы по машинному обучению и data science. Они доступны каждому и основаны на образовательных программах от ведущих университетов, например, МФТИ.

Большинство MOOC по машинному обучению доступны на английском языке и представлены на известных платформах онлайн-образования, таких как Coursera, Udacity, World Education University и edX.

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

Видео-материалы и лекции курса можно получить бесплатно, для этого на странице курса внизу нужно нажать кнопку «прослушать курс», как показано на картинке:

Как бесплатно прослушать курсы по машинному обучению

В этой статье собраны бесплатные курсы по машинному обучению и Data Science на русском языке или с русскими субтитрами.

Введение в машинное обучение

Авторы: ВШЭ и Яндекс
Платформа: Coursera
Язык: русский

На курсе Константина Воронцова Введение в машинное обучение рассматриваются популярные задачи, решаемые с помощью машинного обучения — классификация, регрессия, кластеризация. Слушателю нужно знать об основных понятиях математики: функциях, производных, векторах, матрицах, желательно иметь базовые навыки программирования и быть знакомым с python.

Продолжительность: 35 часов

Машинное обучение и анализ данных

Авторы: МФТИ и Яндекс
Платформа: Coursera
Язык: русский

Специализация Машинное обучение и анализ данных включает 6 курсов. Осваиваются основные инструменты, необходимые в работе с большим массивом данных: современные методы классификации и регрессии, поиск структуры в данных, проведение экспериментов, построение выводов, фундаментальная математика, основы программирования на python.

Продолжительность: 8 месяцев (7 часов в неделю)

Python для анализа данных

Авторы: МФТИ, ФРОО, Mail.ru Group
Платформа: Coursera
Язык: русский

Курс Python для анализа данных ориентирован на решение практических задач. Студенты будут применять свои навыки программирования для построения предиктивных моделей, визуализации данных и работы с нейросетями.

Продолжительность: 25 часов

Введение в науку о данных

Автор: СПбГУ
Платформа: Coursera
Язык: русский

Курс Введение в науку о данных рассматривает постановку и решение типичных задач, с которыми может столкнуться в своей работе data scientist, подходы к сбору, анализу, обработке и визуализации массивов данных.

Продолжительность: 17 часов

Глубокое обучение в творчестве с TensorFlow

Автор: Google Magenta
Платформа: Kadenze
Язык: английский, русские субтитры

MOOC Использование глубокого обучения в творчестве с помощью TensorFlow расскажет о том, как строить алгоритмы глубокого обучения на основе сверточных, рекуррентных, генеративных нейросетей и применять их для создания творческих приложений.

Продолжительность: 60 часов

Data Science

Автор: Johns Hopkins University
Платформа: Courserа
Язык: английский, русские субтитры

В специализацию Data Science университета John Hopkins входят 10 курсов, включая сбор и сортировку данных, программирование на языке R, регрессионные модели, разработку продуктов для обработки данных и другие.

Продолжительность: 8 месяцев (5 часов в неделю)

Data science для руководителей

Автор: Johns Hopkins University
Платформа: Courserа
Язык: английский, русские субтитры

Data Science для руководителей — это ускоренная обучающая программа — 5 курсов, которые дают базовое понимание о том, что такое data science и как работать с проектами в этой сфере, собирать и развивать команду и даже лидерские качества.

Продолжительность: 40 часов

Нейронные сети

Автор: Институт биоинформатики
Платформа: Stepic
Язык: русский

Бесплатный курс Нейронные сети дает основы теории нейронных сетей и практики применения. Детальный разбор процесса создания и применения нейронных сетей. Алгоритмы, лежащие в основе нейросетей и множество практических задач.

Продолжительность: 33 часа

Программирование на Python

Автор: Институт биоинформатики
Платформа: Stepic
Язык: русский

На курсе Программирование на Python представлены базовые понятия программирования на python и большое количество практических задач. Решения будут проверяться автоматической системой.

Продолжительность: 22 часа

Алгоритмы: теория и практика. Методы

Автор: Computer Science Center
Платформа: Stepic
Язык: русский

Рассматриваются теоретические основы создания алгоритмов и особенности реализации на языках C++, Java и Python.

Продолжительность: 35 часов

Основы программирования на R

Автор: Институт биоинформатики
Платформа: Stepic
Язык: русский

На курсе Основы программирования на R изучаются основные типы данных и семантические правила, анализ и обработка данных.

Продолжительность: 19 часов

Анализ данных в R

Автор: Институт биоинформатики
Платформа: Stepic
Язык: русский

На курсе рассматриваются этапы статистического анализа на R — предварительная обработка данных, применение статистических методов анализа и визуализация данных.

Продолжительность: 21 час

Базы данных

Автор: СПбГУ
Платформа: Coursera
Язык: русский

В основе курса Базы данных изучение и применение языка SQL для создания, модификации объектов и управления данными в реляционных базах данных. Рассматриваются сферы применения NoSQL баз данных и современные подходы к обработке big data.

Продолжительность: 20 часов

От Excel до MySQL: способы анализа бизнес-данных

Автор: Duke University
Платформа: Coursera
Язык: английский, русские субтитры

В специализацию входят 5 курсов, которые демонстрируют, как использовать Excel, Tableau и MySQL для анализа данных, прогнозирования, создания моделей и визуализации данных для решения задач и улучшения бизнес-процессов.

Продолжительность: 8 месяцев (5 часов в неделю)

Линейная регрессия

Автор: СПбГУ
Платформа: Coursera
Язык: русский

В курсе Линейная регрессия разбираются основные методы описания взаимосвязей между количественными признаками, регрессионный анализ и построение моделей. Специальное место отводится операциям с матрицами. Курс ориентирован на людей, которые уже знакомы с базовыми понятиями анализа данных.

Продолжительность: 22 часа

Анализ данных

Автор: НГУ
Платформа: Coursera
Язык: русский

В специализацию Анализ данных Новосибирского государственного Университета входят 4 курса. Курсы содержат материалы по основам теории вероятностей и математической статистики, исследованию связей между признаками, построению прогнозов на основе регрессионных моделей, кластерному и статистическому анализу. Курсы разработаны совместно с 2GIS.

Продолжительность: 4 месяца (3 часа в неделю)

Как выучить машинное обучение: книги, курсы, подходы — отвечают эксперты

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

Александр Дроздов , директор по инновациям компании «Иннодата»

Если вы решили начать изучение машинного обучения, то в вашем распоряжении есть множество ресурсов. Это и online-курсы (Coursera, Udemy, Udacity и т. д.) и комбинированные online-/offline-курсы (netology, ВШЭ, Яндекс ШАД и т. д.) и большое количество литературы: «Introduction to Machine Learning with Python: A Guide for Data Scientists», «Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems» и т. д.

Все перечисленные источники уже структурированы и в большинстве своём позволяют без опыта и каких-либо первичных знаний начать использовать машинное обучение на практике в короткий промежуток времени. Они проведут от базовых понятий к продвинутым алгоритмам и методикам, а также заложат необходимый потенциал для формирования профессиональных навыков. А для вдохновения и общения стоит обратить внимание на Kaggle и сообщество ODS.

Татьяна Зобнина , ведущий разработчик систем машинного обучения NAUMEN

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

Так или иначе, даже если профильное базовое образование в области математики забыто, придётся вспомнить всё или почти всё в рамках онлайн-курсов по машинному обучению. На сайте Coursera достаточно много отличных курсов, с которых можно начинать изучение машинного обучения, например базовый курс «Машинное обучение и анализ данных», подготовленный совместно МФТИ и компанией «Яндекс». Или «Открытый курс по машинному обучению» от сообщества Open Data Science (ODS). Тем, кто «уже в теме», советую пройти курс «Advanced Machine Learning Specialization» от ВШЭ, а далее рекомендательная система Coursera подскажет вам полезные курсы, которые могут вас заинтересовать.

Важной составляющей успешного развития в области машинного обучения является хорошее владение английским языком, так как большая часть исследований в данной области публикуется на нём. Интересные разработки в области нейронных сетей от OpenAI, Google и Facebook также публикуются на английском языке. Тем не менее, важно также читать современную литературу по машинному обучению, выходящую на русском языке. Наиболее интересные издательства — это «ДМК Пресс» и O’Reilly, которые, наверное, знакомы многим программистам, так как публикуют достаточно много литературы, связанной с разработкой на различных языках программирования.

Не стоит забывать про различные соревнования по машинному обучению. Наиболее популярной площадкой является Kaggle, а в русскоязычном сегменте довольно популярен Boosters. Соревнования по машинному обучению помогут «добрать» и совершенствовать экспертные знания в конкретных областях машинного обучения, таких, например, как машинное зрение и обработка естественного языка. Не потеряться в море информации поможет общение с единомышленниками и профессионалами в данной области в рамках Slack-сообщества ODS. В этом сообществе можно найти массу полезной информации в различных областях машинного обучения, задать вопрос, на который Google не смог ответить, а также найти работу.

Михаил Сичалов , ведущий разработчик программного обеспечения Тверского технологического центра Accenture

Для начала определитесь с задачей, которой вы хотели бы заниматься. В зависимости от вашего интереса это могут быть: компьютерное зрение, обработка естественных языков (NLP), интеллектуальный анализ данных, предсказательный анализ и т. д.

Почти каждое из этих направлений — отдельная область знаний, требующая определённой подготовки — математической и инженерной.

После того, как путь выбран, поищите открытые университетские курсы по соответствующему направлению. Из своего личного академического опыта поделюсь полезными, на мой взгляд, ресурсами.

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

Для тех, кто хочет получить базовое представление о том, что такое машинное обучение, полезным окажется курс от Эндрю Ына (Andrew Ng) на Coursera.

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

В любом случае, делаете вы первые шаги или уже не новичок — без практики никуда. Начните её с решения какой-нибудь задачи, например с сайта Kaggle.

Перейдя к практике, не забывайте и про теорию. Подтягивайте знания по конкретным методам, которые используются для решения задачи. Обращайте внимание на то, какие методы используются для каких типов задач, анализируйте их преимущества и недостатки. Не ленитесь оформлять результаты своих исследований в виде записей с открытым рабочим кодом, которые можно будет воспроизвести в будущем. Не лишним будет также посмотреть, как проходит подготовка к решению задач ML среди профессионалов.

Георгий Бабаян , CEO Elbrus Coding Bootcamp

Чтобы освоить машинное обучение, не обязательно бросать все дела, год готовиться к ЕГЭ, и тратить 4–6 лет в университете. К тому же заведений, которые готовят хороших специалистов по данному направлению, пока что очень мало в нашей стране. Если вы чётко решили для себя, что хотите изучить эту тему, возможно, хотите стать аналитиком, работать с большими данными, разрабатывать искусственный интеллект — вы сможете достичь поставленных перед собой целей в достаточно малые сроки.

Сейчас есть огромное количество ресурсов в открытом доступе в интернете. Мало кто может начать изучение новой для себя области с чтения занудной документации инструментов разработки и аналитики. Однако люди в основном очень хорошо воспринимают визуальную информацию, поэтому наиболее популярный и эффективный вариант — это изучение видеокурсов на Coursera, Udemy, YouTube и прочих платформах. К тому же, чтобы начать работать с машинным обучением, вам даже не обязательно разбираться в матанализе, дифференциальных уравнениях, иметь глубокие познания статистики и т. д. Вы можете использовать уже реализованные алгоритмы, разбирать их самостоятельно по маленьким кусочкам, советоваться с людьми на форумах, можно и просто использовать готовые функции, не разбираясь в их устройстве, хотя это и не очень правильный подход.

Лучше всего для работы с машинным обучением подходит язык Python. Сообщество вокруг языка очень развито, разработано множество инструментов и библиотек для аналитики на Python. К тому же его часто рекомендуют как первый язык к изучению, так как он достаточно прост для понимания.

Анна Воеводская , эксперт по машинному обучению «Инфосистемы Джет»

Если у вас есть время и возможность пойти в магистратуру — используйте этот шанс. В России хорошую репутацию завоевали ВШЭ и Сколтех. Там вы получите систематическое образование.

Если не хочется в магистратуру, можно пройти курсы. Достойные программы у ШАД, DMIA, CSC. Все три есть в офлайн-варианте: ШАД и DMIA в Москве, CSC в Петербурге. В ШАД и CSC также реализован вариант удалённого обучения, в DMIA он планируется.

Если вас интересует исключительно онлайн, то, конечно, есть смысл выбрать требуемое на Coursera. Что это может быть?

Machine Learning — базовый курс по машинному обучению от Andrew Ng, одного из сооснователей Coursera. На мой взгляд, у курса ровно один минус — код нужно будет писать на MATLAB. Если это вас не смущает, то обязательно берите.

Введение в машинное обучение — тоже базовый курс, но уже на русском и на Python, от Константина Воронцова, профессора кафедры интеллектуальных систем ФУПМ МФТИ.

Deep Learning Specialization — это уже целая специализация по нейронным сетям от Andrew Ng. Специализация неспешная, но глубокая. Особенно мне полюбился третий курс, где Эндрю рассуждает о том, как надо вести исследование в области глубокого обучения. Но его советы могут пригодиться и в классическом ML.

Advanced Machine Learning Specialization — курс от российских ребят. Он уже поглубже: там и про байесовскую статистику, и про Natural Language Processing, и про компьютерное зрение.

Кстати, про статистику. Чтобы ставить эксперименты и правильно считать корреляции, вам нужно знать статистику. Есть прекрасный курс уже на Stepik по основам статистики. Рекомендую. А если вам совсем лень, то книжка «Статистика и котики» вас спасёт. Маленькая, с наглядными картинками — читается за пару часов.

Что почитать?

«Python. К вершинам мастерства» (и вообще обратите внимание на издательство «O’Reilly»).

«Глубокое обучение. Погружение в мир нейронных сетей».

А ещё стоит читать Internet Archive — там всегда много интересных публикаций.

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

Где потренироваться?

Мир машинного обучения богат на разного рода контесты и хакатоны.

Онлайн-площадок много, расскажу немного о самой известной — Kaggle. Там организуется множество соревнований на любой вкус. Ещё она хороша тем, что участники могут выкладывать решения (так называемы кернелы) и есть возможность посмотреть, как эту задачу решают другие.

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

Также существуют смешанные варианты — онлайн и офлайн. Если выбирать один такой хакатон и именно в России, то я, конечно, посоветую RAIF Hackathon (я была одним из организаторов и хорошо знаю, как устроено это мероприятие). Изюминка в том, что вы анализируете данные тех компаний, представители которых находятся совсем рядом с вами. А потом слушаете лекции, например, того же самого Константина Воронцова, чей курс уже упоминался.

И конечно, во всех этих соревнованиях есть ещё приятный бонус в виде денежного вознаграждения победителю (и славы, куда же без неё).

Людмила Дежкина , Solution Architect, Machine learning & AI, DataArt

Знакомство с машинным обучением предлагаю начать с изучения того, из чего оно состоит. Python, математика, алгоритмы, глубокое обучение, компьютерное зрение и обработка естественных языков — основные составляющие того, что принято относить к machine learning. Давайте остановимся на каждом пункте по порядку.

Python

Python — преобладающий язык программирования в машинном обучении. В целом можно найти всё и на всех языках, но, следуя статистике, большая часть сообщества предпочитает Python.

Python — один из самых быстроразвивающихся языков, и именно на нём построен целый экомир Data Scientist.

Зачастую на собеседованиях можно встретить вопросы по следующим библиотекам:

Есть достаточно много сайтов с курсами, но наиболее удачные, на мой взгляд, можно найти на Datacamp. Прелесть этого ресурса в том, что вы можете подобрать материал нужного вам уровня. Порог вхождения может быть достаточно низкий и подразумевать, что вы ничего не знаете о программировании в целом.

Из книг достаточно сложно что-то посоветовать, но на рабочем столе есть две:

  • Wes McKinney, «Python for Data Analysis»;
  • Francisko Blanko, «Learning SciPy for Numerical and Scientific Computing».

Математика

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

Некоторые курсы, которые помогут понять, с чем из этой области в обозримом будущем придется сталкиваться:

  • абсолютно бесплатный курс от создателей Kaggle;
  • книга о статистике, которая скорее может использоваться как справочник;
  • сайт о математике вообще для всех, но я бы оставила его здесь для любителей линейной алгебры;
  • курс от MIT для любителей математики и чего-то посложнее.

Из книг, которые лежат у меня на столе:

  • Trevor Hastie, Robert Tibshirani, Jerome Friedman «The Elements of Statistical Learning Data Mining, Inference, and Prediction»;
  • Introduction to Probability, хоть я и не являюсь поклонницей John N. Tsitsiklis.

Алгоритмы

Чем больше у вас алгоритмов, тем разнообразнее и точнее вы сможете решать задачи.

Лучший курс для новичков уже ни один год — от AndrewNG. Он захватывает и нейронные сети, и базовые понятия, однако внутри используется Octave, а не Python. Направлен больше на теорию, чем на практику. Объяснения на грани фантастики, и порог вхождения определённо низкий.

Я брала этот курс, но любой курс Кирилла Ерёменко поражает простотой и насыщенностью материала. При помощи этого курса можно быстро покрыть всё вышеизложенное в списке и ещё много чего. В нём мало теории, но после окончания у вас останется куча практического опыта.

Я постаралась собрать наиболее общий список алгоритмов, чтобы лучше изучить этот раздел ML:

Basic Machine Learning Algorithms:

  • Linear Regression;
  • Logistic Regression;
  • Decision Trees;
  • KNN (K- Nearest Neighbors);
  • K-Means;
  • Naïve Bayes;
  • Dimensionality Reduction.
  • Random Forests;
  • Dimensionality Reduction Techniques;
  • Support Vector Machines;
  • Gradient Boosting Machines;
  • XGBOOST.

Глубокое обучение

Deep Learning — всевозможные архитектуры нейронных сетей. Я видела AI-специалистов, которые предпочитают ограничиваться ML и зачастую не выходят за рамки определённых алгоритмов. Поэтому начать без этого пункта не то чтобы просто, а, скорее, нужно. Но для людей, которые не знают, о чём речь, в этом пункте скрыта вся романтика.

Посоветовать что-то конкретное тяжело. Зачастую люди могут специализироваться на архитектуре одной конкретной сети. Общий обзор можно получить из курса Кирилла Ерёменко.

Компьютерное зрение

Computer Vision — отдельный мир в мире ML. Ну, почти отдельный — здесь кроется немного другая математика, немного другие алгоритмы и немного другие базовые знания.

Моё знакомство ограничилось следующим:

  • David A. Forsyth, «Computer Vision Modern Approach» — хотя почти уверена, что сейчас есть книги намного проще и лучше. Математика там достаточно сложная и уровень объяснений нетривиальный;
  • OpenCV — банально, но здесь есть хорошая документация с очень хорошими примерами.

Обработка естественных языков

Многие считают, что нет начинающего Data Scientist без проекта, связанного с NLP (Natural Language Processing). По собственному опыту могу сказать, что это раздел на любителя. И им стоит заниматься в случае страсти к филологии.

Всё вышеизложенное взято из личного опыта, почти все рекомендованные книги и курсы я проходила сама. Надеюсь, вы нашли что-то полезное для себя. Если у вас есть дополнения по материалам и интересная литература, буду рада узнать об этом.

Елена Герасимова , руководитель направления Data Science в «Нетологии»

Машинное обучение стало прорывом в аналитике: благодаря ему наконец получилось работать с неструктурированными данными — изображениями, звуками, текстом и так далее.

Для начала, новичку неплохо будет определиться, кем он может быть в команде проекта машинного обучения:

  • Data scientist. Знаток бизнеса. Разрабатывает модели для решения прикладных задач проекта или заказчика;
  • ML Researcher. Исследователь. Сосредоточен на математической стороне вопроса. Разрабатывает новые подходы для решения сложных, часто абстрактных задач;
  • Algorithms dev/engineer. Разработчик. Пишет код и алгоритмы, совершенствует их для ускорения и оптимизации процесса.

Выделяют и другие роли: аналитика данных, devops, системного аналитика, data engineer — но все они являются пользователями и заказчиками результатов работы машинного обучения, а не применяют его напрямую.

Чтобы перейти в Machine learning, нужно понять, как работают базовые алгоритмы, изучить реальные кейсы. Если хотя бы на начальном уровне знаете Python, разобраться будет проще. Владение английским языком помогает выиграть 1–2 года у тех, кто ждёт выхода официальной документации или перевода книг.

Программа-минимум для человека, который хочет разбираться в машинном обучении (учиться примерно 8–12 мес):

  • работа с инструментами обработки данных Pandas, SQL, Hadoop, DWH и другими, чтобы доставать данные;
  • разбор решений задач оптимизации — градиентный спуск и аналоги — для обучения моделей;
  • теория вероятностей и статистика, чтобы понимать полученные результаты, значимость моделей, распределения, ЦПТ, интервалы;
  • основной язык программирования Python и библиотеки для машинного обучения, например Pandas, Scipy, Numpy и другие;
  • введение в математику, сильные алгоритмы и ансамбли и принцип их работы в жизни.

Список книг, на которые стоит обратить внимание:

  • «Numsense! Data Science for the Layman», Annalyn Ng, Kenneth Soo. Поможет вникнуть в основы DS без математической сложности, разобраться в теме при помощи наглядных иллюстраций;
  • «Doing Data Science», Кэти О’Нил, Рэйчел Шатт. Одна из множества книг супер-популярного издательства. Помогает систематизировать знания об основах Data Science;
  • «Python и машинное обучение», Себастьян Рашка. Книга идеально подходит для тех, кто хочет погрузиться в мир прогнозной аналитики и машинного обучения.

Короткие видео про развитие вкуса и вдохновение красотой и универсальностью математики: раз и два.

Бесплатный онлайн видео-курс Академии Хана про базовые понятия статистики (совокупности, выборки, ЦПТ, сравнения средних и т. д. — не обязательно быть в них спецом, но базовое понимание развить стоит ещё до обучения на курсах).

Если вы грезите соревнованиями Kaggle или просто ищете датасеты для обучения моделей, то не проходите мимо их раздела с микро-курсами.

Дамир Заляев , старший менеджер по разработке ПО компании ICL Services

Самый быстрый способ выучить машинное обучение — это погрузиться в решение конкретной задачи и по ходу дела заполнять все пробелы в знаниях. Например, выбрать задачу на платформе онлайн-соревнований Kaggle, где представлены задачи разной сложности из разных областей. Начать можно с обучающих соревнований. Если не понятно, как подступиться, то можно начать с изучения чужих решений. Также можно почитать форум или попросить совета у других участников. Стоит отметить, что Kaggle помимо всего прочего предоставляет и бесплатные вычислительные мощности для решения задач. Так что Data Science можно заниматься даже со смартфона в любую свободную минуту. Главное, чтобы был интерес и желание.

Мария Горькова , эксперт в области IT-разработок

Последние несколько лет тема машинного обучения очень популярна. Её можно увидеть в вакансиях, блогах компаний, о ней пишут статьи и руководства, ей интересуются разработчики. Этот интерес понятен и закономерен: хочется освоить новый интересный пакет знаний, прокачать себя и своё резюме, стать более востребованным и высокооплачиваемым специалистом.
Часто задаваемый вопрос — как всё это выучить?

Ответ зависит от цели, которую ставит перед собой программист. Если задача — получить общее представление о предмете, узнать про основные инструменты и научиться ими пользоваться, то можно воспользоваться онлайн-курсами. Например, на платформе Coursera есть целая специализация из 6 курсов от Яндекса и МФТИ. Материал там изложен качественно и понятно, а интересные практические задания помогают его усвоить. Если этот курс покажется сложным из-за матаппарата (впрочем, используемого в минимально необходимом объёме), можно найти более простой курс на этой же платформе. И в любом случае, для обучения понадобятся хотя бы базовые навыки программирования на Python, так как он и набор библиотек Scikit-learn — сегодняшний стандарт в практике машинного обучения.

Если же задача — получить глубокое понимание происходящего, не пользоваться готовым набором советов и инструментов, а быть квалифицированным исследователем, без знания матаппарата не обойтись. Машинное обучение опирается на линейную алгебру, теорию вероятностей и математическую статистику, матанализ, линейное программирование и методы оптимизации и активно их использует. Если тема машинного обучения вам близка, стоит подумать о высшем образовании в одной из математических специальностей. Впрочем, для большинства начинающих работать с машинным обучением программистов хватает базовых знаний в формате небольшого обзорного курса.

Илья Калагин , руководитель центра когнитивных технологий «АйТеко»

Доля проектов с применением искусственного интеллекта и машинного обучения ежегодно растёт, и скорость этого роста только увеличится. Рынок испытывает острую нехватку специалистов, что отражается на порядке зарплат в отрасли и ситуации в целом. Молодые люди, привлечённые высокой востребованностью и уровнем компенсаций, видят рекламные объявления онлайн-курсов с обещанием сделать из них Data Scientist за 2–3 месяца, и записываются без сомнений.

В первую очередь стоит опровергнуть распространённое заблуждение, что за 2–3 месяца можно стать Data Scientist. На старте освоения специализации важно осознать, что это долгий путь, и он не сводится к умению строить модели и работать с Kaggle. В приоритете — глубокое понимание работы с данными: определение их структуры, визуализация и анализ. То есть основа всему — системное качественное образование в фундаментальных дисциплинах: линейной алгебре, статистике, теории вероятностей, лингвистике и т. д.

Работа в реальности сильно отличается от опыта решения задач в Kaggle или на хакатонах: редко мы имеем дело с чистыми, качественными и подготовленными данными. Kaggle — это хорошо, но надо отдавать отчёт, что применяемые там сложные алгоритмы, ансамбли моделей в реальной практике часто не работают или работают не так. В жизни нам подчас важнее скорость обработки, которую при подобном подходе обеспечить сложно. На одном из хакатонов призовое место досталось команде, которая случайно и незначительно увеличила точность за счёт введения поля id, но в жизни это ни на что не влияет и было бы удалено за ненадобностью.

Такой фрагмент можно написать, посмотрев небольшое видео или прочитав статью. Но это не значит, что вы стали специалистом и приобрели требуемые навыки. Стать им можно только благодаря опыту, наставничеству и участию в реальных проектах. После 2 лет обучения с погружением в практику, а не через 2–3 месяца пассивного изучения курсов, мы получаем хорошего Junior Data Scientist. Если на входе у человека есть подобное понимание профессии, то он сможет правильно построить обучение и карьеру. И очевидный совет — уже на этапе освоения специальности ищите возможность практики.

Теперь онлайн-курсы и книги, которые будут полезны:

  1. Machine learning. Онлайн-курс Стэнфордского университета на платформе Coursera. Преподаватель — легендарный Эндрю Ын (Andrew Ng), один из самых известных экспертов в сфере искусственного интеллекта. Многие считают этот курс устаревшим. Я согласен, но это основа основ машинного обучения; классический курс, обязательный для изучения и непростой для прохождения. Сам его прошёл с удовольствием: требуются терпение и усилия, чтобы дойти до конца, но он формирует необходимую базу для дальнейшего развития. И также рекомендую более свежий курс этого преподавателя — Deep Learning Specialization.
  2. Школа анализа данных Яндекса. Из русскоязычных ресурсов могу посоветовать онлайн-курсы ШАД в партнерстве с МФТИ в рамках специализации «Машинное обучение и анализ данных». Это около года системного обучения, но стоит помнить, что полученные знания должны быть связаны с практическим опытом решения задач.
  3. Machine Learning A-Z™: Hands-On Python & R In Data Science. Один из популярных и высоко оценённых англоязычных курсов. Состоит из десяти частей, в которых рассматривается обработка данных, регрессия, классификация, кластеризация, обучение с подкреплением, обработка естественного языка и глубокое обучение. Базовый курс, который однозначно стоит вложенных усилий.
  4. «Прикладное машинное обучение c библиотеками Scikit-Learn и TensorFlow». Книга Орельена Жерона (Aurelien Geron) — отличное введение в теорию и практику прикладного машинного обучения. С её помощью можно изучить широкий спектр методов — от линейной регрессии до глубокого обучения. В пособии множество качественных примеров решения задач с применением библиотек Scikit-Learn и TensorFlow.
  5. «Глубокое обучение на Python», Франсуа Шолле. Автор предлагает более 30 примеров программного кода с подробными комментариями и рекомендациями, что делает книгу ориентированной на решение практических задач. В примерах используются фреймворк глубокого обучения Keras, написанный на Python, и библиотека TensorFlow в качестве внутреннего механизма.

Forex machine learning

Machine learning enables a computer to learn itself without the help of human input. Also similar to artificial intelligence, machine learning does not need any explicit programming to gather the required knowledge.

Application of machine learning can be found in software engineering, medical research, advertising, economics, financial market, and a wide range of other fields. Forex machine learning although quite unpopular requires substantial knowledge for a successful deployment.

There are still no worthy publications that can present adequate machine learning models in Forex trading. One of the factors affecting a successful integration of machine learning in Forex could certainly be the nature of an unpredictable market.

Implementing machine learning in Forex trading requires building algorithms based on historical data. These algorithms identify patterns in the market and predict what the future it holds. Similarly, identifying support and resistance lines is how a machine learning algorithm can work.

A prediction says that by 2020 machine learning will replace human traders. Although currently, the application doesn’t find ground due to extensive time consumption and high expense; rumors suggest that several trading establishments use machine learning covertly. The only players investing in machine learning Forex prediction are either banks or financial institutions.

Presently Forex machine learning only finds application in the 4 major currencies of USD, EUR, GPB, and CHF. Speculations suggest with the advent of machine learning, all world currencies will come under its umbrella shortly.

However, as of today, professional traders are still not convinced of the successful positive outcome of machine learning. On top of that, these traders have no interest in helping software developers create an algorithm because of their skepticism. These traders believe that machine learning algorithms cannot determine the correlations of minuscule anomalies that a human can easily find.

Even if machine learning can identify these anomalies or correlations in short-term trading, in long-term trading, they find difficulties.

Machine learning for Forex trading presents traders with the following features:

Traders implementing a strategy with machine learning can optimize it using a wide range of parameters. These parameters can include entry and exit points, indicators selections, stop loss and trading stop locations, take profit conditions, etc. Combining all these parameters in real-life might encounter several difficulties, but machine learning eases them out.

With machine learning Forex prediction, traders can combine multiple indicators while also deploying secondary once in case of convergence. Price action; fundamental, or technical traders all can implement any indicators with this approach.

— Live Market Trading

A machine learning algorithm continuously adapts to live market conditions and learns from a trader’s actions. However, backtesting the algorithm before using it in a market is of prime importance as not knowing how to operate, might cause unfavorable outcomes in live trading.

Forex machine learning is still an untamed technology that is yet to receive recognition. However, with the constant development of Forex market, the future seems bright for it.

The content of this article reflects the author’s opinion and does not necessarily reflect the official position of LiteForex. The material published on this page is provided for informational purposes only and should not be considered as the provision of investment advice for the purposes of Directive 2004/39/EC.

Тема: CyberCortex. Машинное Обучение для Трейдинга

Опции темы

CyberCortex. Машинное Обучение для Трейдинга

CyberCortex® (КиберКортекс®) – это программа для алгоритмического трейдинга по автоматическому поиску закономерностей в биржевых данных, базирующаяся на современных технологиях машинного обучения. Ядром CyberCortex® является один из мощнейших алгоритмов классификации – алгоритм адаптивного бустинга решающих деревьев.

Программа позволяет загружать любые биржевые данные в формате CSV, обучать автоматический алгоритм классификации и строить прогноз. Но самое главное CyberCortex® дает возможность непосредственно real-time получать данные из платформы MetaTrader 4, производить анализ на лету и возвращать результат обратно в терминал, для того чтобы Вы или Ваш робот могли использовать прогноз в торговле. Для этих целей в CyberCortex® использована технология именованных каналов, которая позволяет программам с высокой скоростью общаться между собой непосредственно внутри оперативной памяти компьютера.

Преимущества CyberCortex® в сравнении с существующими аналогами:
Простота освоения. Чтобы воспользоваться CyberCortex® Вам не понадобится часами изучать громоздкие инструкции по эксплуатации, подбирать разные настройки и конвертировать файлы с непонятными расширениями в файлы с еще более непонятными расширениями. В CyberCortex® все элементарно просто и работает из коробки. К тому же, весь интерфейс программы на русском языке.
Используемый алгоритм. Для многих трейдеров технологии из области искусственного интеллекта начинаются и заканчиваются на избитой теме классических нейронных сетей. Но алгоритм бустинга, реализованный в CyberCortex® – это на порядок более мощный и современный инструмент потому что:
1. Алгоритм в CyberCortex® не требует сокращать размерности входных данных и выискивать какие признаки несут информативность, а какие нет. Напротив, чем больше входных данных имеется, тем выше вероятность правильной классификации. Неинформативные признаки автоматически отсеиваются. Также нет никакой необходимости предварительно нормировать данные.
2. Алгоритм в CyberCortex®, в отличие от нейронных сетей, не требует настраивать параметры обучения для того, чтобы получить оптимальный результат, практически не подвержен склонности к переобучению, а также позволяет классифицировать данные на произвольное число классов.
3. Удивительная особенность реализованного алгоритма в том, что, если в данных содержатся закономерности, – они будут найдены. Если же в данных закономерности отсутствуют, то прогнозы алгоритма будут не лучше простого подбрасывания монетки, что, собственно, логично.
Удобство. CyberCortex® связан с самым популярным терминалом для торговли – MetaTrader 4. Это позволит Вам использовать наработки миллионов трейдеров, а также всю вашу фантазию для построения своей собственной прибыльной торговой системы, использующей в своей основе интеллектуальный анализ данных.

Наша целевая аудитория – это люди, готовые выйти за рамки «торговли по скользящей средней или стохастику», а также просто энтузиасты, готовые пробовать и испытывать новые инструменты.

Предупреждение 1. Разработчики не гарантируют, что, приобретя программу, Вы сразу же построите прибыльную торговую систему. Увы, но Граалей не существует. И Вам все-равно надо будет активно шевелить извилинами и использовать Вашу фантазию по максимуму, чтобы получить хороший результат.
Предупреждение 2. Разработчики гарантируют, что все алгоритмы, реализованные в CyberCortex® реализованы максимально качественно с точки зрения заложенной в них математики.

Мы протестировали правильность работы CyberCortex® на данных, взятых с этих сайтов:
http://archive.ics.uci.edu/ml/datasets/Arcene
(репозиторий данных по машинному обучению)
http://www.uta.edu/faculty/manry/new. ification.html
(сайт лаборатории по распознаванию изображений университета Арлингтона в Техасе, США).

В первом случае использовались данные анализа крови здоровых людей и людей больных раков. Гипотеза заключалась в построении модели, способной прогнозировать рак у человека на основе его анализов. Классифицировать требовалось на 2 класса (болен — не болен).
Длина обучающего примера составила 10000 признаков. 3000 из которых носили случайный характер и специально добавлены учеными для тестирования качества классификации алгоритмов. Всего в обучающей выборке использовано 100 примеров, что несомненно очень мало, но больше, увы, нет. При тестировании использовались уже другие примеры в количестве также 100 штук.
Точность CyberCortex® составила 75% на незнакомых данных. Мы убеждены, что если бы данных для обучения было большее, то можно было бы существенно увеличить точность прогнозов.

Во втором случае использовались данные американских автомобильных номеров. Гипотеза заключалась в построении модели, успешно распознающей символы на автомобильных номерах: 26 букв английского алфавита и 10 цифр, итого потребовалось провести классификацию на 36 классов. Длина обучающего примера составила 49 признаков. Всего в обучающей в выборке использовано 7044 примера, в тестовой – 5713.
Точность CyberCortex® составила 96,3% на незнакомых данных.

Три метода машинного обучения в трейдинге

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

Машинное обучение в трейдинге — это смежная область компьютерных наук, математики, статистики и эконометрики. Основным его элементом является обучение по частным эмпирическим биржевым данным. После выявления общих закономерностей результаты переносятся в модель зависимости результирующего признака (к примеру, ожидаемая реакция — «бычья», «медвежья» или «нейтральная») от этих факторов (предикторов). К примеру, это может быть и связь между поведением биржевых игроков в двух инструментах.

Так, если модель находит активность покупателей в инструменте доллар США-рубль с расчетами «сегодня» (USDRUB_TOD), то она может перенести эту информацию в виде сделки типа «лонг» в фундаментально связанном с ним инструменте (USDRUB_TOM), так как разница между ними — это лишь ставка свопа «овернайт». Или же зависимость в нефти и паре доллар США-рубль (здесь уже более сложная стохастическая связь). При этом надо понимать, что алгоритмы чаще всего пытаются отразить латентные и вероятностные процессы, которые вычленить из временного ряда не так просто. Поэтому профессия разработчика алгоритмов, особенно количественных, является одной из самых сложных и высокооплачиваемых.

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

Существуют три основных вида моделей (задач), применяемых в машинном обучении — это кластеризация, классификация и регрессия.

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

Классификация — это метод обучения с «учителем». При выборе предикторов их сопоставляют с результирующим признаком (классом, меткой класса). К примеру, показатель OFI («ордер флоу имбаланс»), включающий в себя число лимитных ордеров, пришедших в биржевой стакан за единицу времени, из него вычитается число отмененных и исполненных (рыночных) ордеров, может показать связь поведения трейдеров с ценой. Для этого различные числовые наборы признаков OFI сопоставляются с фактическим наблюдением цены. И модель позволяет классифицировать их на «бычьи», «медвежьи» или «нейтральные».

Регрессия — это метод анализа средней временных рядов. «Средняя» или «справедливая» величина — это элемент трейдинга, который наиболее сильно волнует арбитражеров. Часто им приходится торговать возврат к средней (в английском языке процесс называется mean reverting). К примеру, средняя величина спреда между нефтью марки WTI и Brent. Методы регрессионного анализа позволяет оценить эту величину и количественный трейдер может сделать ставку на возврат к средней линии, если понимает, что серьезной перестановки ее на новый уровень не произойдет (резкие сдвиги средней величины характеризуют нестационарность временного ряда, в этом случае регрессионный анализ становится весьма сложным и трейдерам приходится принимать и управлять рисками торговли квазистационарными рядами, либо использовать более сложные непараметрические модели).

Другой пример регрессионного анализа: торговля спреда между USDRUB_TOM (доллар США-рубль на споте) и фьючерса на него — Si. Эта стратегия называется арбитраж непокрытого процентного паритета (UIP-арбитраж). Определяя среднюю величину на коротких интервалах, автоматическая арбитражная система находится пиковые отклонения от средней и использует их для открытия встречных сделок (либо осуществляя частичное хеджирование позиции). Регрессионные модели позволяют активнее заниматься и динамическим хеджированием (когда средняя величина смещается во времени).

Иногда в методы машинного обучения включают еще и поиск аномалий (novelty detection). Цель его использования — поиск точек наблюдений, которые имеют отличные признаки от основных данных.

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

Таблица 1- Программный инструментарий (библиотеки, языки), используемые в машинном обучении

Карта мира машинного обучения

Лень читать лонгрид — повтыкайте хотя бы в картинку, будет полезно.

Думаю потом нарисовать полноценную настенную карту со стрелочками и объяснениями, что где используется, если статья зайдёт.

И да. Классифицировать алгоритмы можно десятком способов. Я выбрал этот, потому что он мне кажется самым удобным для повествования. Надо понимать, что не бывает так, чтобы задачу решал только один метод. Я буду упоминать известные примеры применений, но держите в уме, что «сын маминой подруги» всё это может решить нейросетями.

Начну с базового обзора. Сегодня в машинном обучении есть всего четыре основных направления.

Часть 1. Классическое обучение

Первые алгоритмы пришли к нам из чистой статистики еще в 1950-х. Они решали формальные задачи — искали закономерности в циферках, оценивали близость точек в пространстве и вычисляли направления.

Сегодня на классических алгоритмах держится добрая половина интернета. Когда вы встречаете блок «Рекомендованные статьи» на сайте, или банк блокирует все ваши деньги на карточке после первой же покупки кофе за границей — это почти всегда дело рук одного из этих алгоритмов.

Да, крупные корпорации любят решать все проблемы нейросетями. Потому что лишние 2% точности для них легко конвертируются в дополнительные 2 миллиарда прибыли. Остальным же стоит включать голову. Когда задача решаема классическими методами, дешевле реализовать сколько-нибудь полезную для бизнеса систему на них, а потом думать об улучшениях. А если вы не решили задачу, то не решить её на 2% лучше вам не особо поможет.

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

При всей своей популярности, классические алгоритмы настолько просты, что их легко объяснить даже ребёнку. Сегодня они как основы арифметики — пригождаются постоянно, но некоторые всё равно стали их забывать.

Обучение с учителем

Классическое обучение любят делить на две категории — с учителем и без. Часто можно встретить их английские наименования — Supervised и Unsupervised Learning.

В первом случае у машины есть некий учитель, который говорит ей как правильно. Рассказывает, что на этой картинке кошка, а на этой собака. То есть учитель уже заранее разделил (разметил) все данные на кошек и собак, а машина учится на конкретных примерах.

В обучении без учителя, машине просто вываливают кучу фотографий животных на стол и говорят «разберись, кто здесь на кого похож». Данные не размечены, у машины нет учителя, и она пытается сама найти любые закономерности. Об этих методах поговорим ниже.

Очевидно, что с учителем машина обучится быстрее и точнее, потому в боевых задачах его используют намного чаще. Эти задачи делятся на два типа: классификация — предсказание категории объекта, и регрессия — предсказание места на числовой прямой.

Классификация

«Разделяет объекты по заранее известному признаку. Носки по цветам, документы по языкам, музыку по жанрам»

Сегодня используют для:

  • Спам-фильтры
  • Определение языка
  • Поиск похожих документов
  • Анализ тональности
  • Распознавание рукописных букв и цифр
  • Определение подозрительных транзакций

Здесь и далее в комментах можно дополнять эти блоки. Приводите свои примеры задач, областей и алгоритмов, потому что описанные мной взяты из субъективного опыта.

Классификация вещей — самая популярная задача во всём машинном обучении. Машина в ней как ребёнок, который учится раскладывать игрушки: роботов в один ящик, танки в другой. Опа, а если это робот-танк? Штош, время расплакаться и выпасть в ошибку.

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

Раньше все спам-фильтры работали на алгоритме Наивного Байеса. Машина считала сколько раз слово «виагра» встречается в спаме, а сколько раз в нормальных письмах. Перемножала эти две вероятности по формуле Байеса, складывала результаты всех слов и бац, всем лежать, у нас машинное обучение!

Позже спамеры научились обходить фильтр Байеса, просто вставляя в конец письма много слов с «хорошими» рейтингами. Метод получил ироничное название Отравление Байеса, а фильтровать спам стали другими алгоритмами. Но метод навсегда остался в учебниках как самый простой, красивый и один из первых практически полезных.

Возьмем другой пример полезной классификации. Вот берёте вы кредит в банке. Как банку удостовериться, вернёте вы его или нет? Точно никак, но у банка есть тысячи профилей других людей, которые уже брали кредит до вас. Там указан их возраст, образование, должность, уровень зарплаты и главное — кто из них вернул кредит, а с кем возникли проблемы.

Да, все догадались, где здесь данные и какой надо предсказать результат. Обучим машину, найдём закономерности, получим ответ — вопрос не в этом. Проблема в том, что банк не может слепо доверять ответу машины, без объяснений. Вдруг сбой, злые хакеры или бухой админ решил скриптик исправить.

Для этой задачи придумали Деревья Решений. Машина автоматически разделяет все данные по вопросам, ответы на которые «да» или «нет». Вопросы могут быть не совсем адекватными с точки зрения человека, например «зарплата заёмщика больше, чем 25934 рубля?», но машина придумывает их так, чтобы на каждом шаге разбиение было самым точным.

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

Деревья нашли свою нишу в областях с высокой ответственностью: диагностике, медицине, финансах.

Два самых популярных алгоритма построения деревьев — CART и C4.5.

В чистом виде деревья сегодня используют редко, но вот их ансамбли (о которых будет ниже) лежат в основе крупных систем и зачастую уделывают даже нейросети. Например, когда вы задаете вопрос Яндексу, именно толпа глупых деревьев бежит ранжировать вам результаты.

Но самым популярным методом классической классификации заслуженно является Метод Опорных Векторов (SVM). Им классифицировали уже всё: виды растений, лица на фотографиях, документы по тематикам, даже странных Playboy-моделей. Много лет он был главным ответом на вопрос «какой бы мне взять классификатор».

Идея SVM по своей сути проста — он ищет, как так провести две прямые между категориями, чтобы между ними образовался наибольший зазор. На картинке видно нагляднее:

У классификации есть полезная обратная сторона — поиск аномалий. Когда какой-то признак объекта сильно не вписывается в наши классы, мы ярко подсвечиваем его на экране. Сейчас так делают в медицине: компьютер подсвечивает врачу все подозрительные области МРТ или выделяет отклонения в анализах. На биржах таким же образом определяют нестандартных игроков, которые скорее всего являются инсайдерами. Научив компьютер «как правильно», мы автоматически получаем и обратный классификатор — как неправильно.

Сегодня для классификации всё чаще используют нейросети, ведь по сути их для этого и изобрели.

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

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

Регрессия

«Нарисуй линию вдоль моих точек. Да, это машинное обучение»

Сегодня используют для:

  • Прогноз стоимости ценных бумаг
  • Анализ спроса, объема продаж
  • Медицинские диагнозы
  • Любые зависимости числа от времени

Регрессия — та же классификация, только вместо категории мы предсказываем число. Стоимость автомобиля по его пробегу, количество пробок по времени суток, объем спроса на товар от роста компании и.т.д. На регрессию идеально ложатся любые задачи, где есть зависимость от времени.

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

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

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

Для желающих понять это глубже, но тоже простыми словами, рекомендую цикл статей Machine Learning for Humans

Обучение без учителя

Обучение без учителя (Unsupervised Learning) было изобретено позже, аж в 90-е, и на практике используется реже. Но бывают задачи, где у нас просто нет выбора.

Размеченные данные, как я сказал, дорогая редкость. Но что делать если я хочу, например, написать классификатор автобусов — идти на улицу руками фотографировать миллион сраных икарусов и подписывать где какой? Так и жизнь вся пройдёт, а у меня еще игры в стиме не пройдены.

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

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

Обучение без учителя, всё же, чаще используют как метод анализа данных, а не как основной алгоритм. Специальный кожаный мешок с дипломом МГУ вбрасывает туда кучу мусора и наблюдает. Кластеры есть? Зависимости появились? Нет? Ну штош, продолжай, труд освобождает. Тыж хотел работать в датасаенсе.

Кластеризация

«Разделяет объекты по неизвестному признаку. Машина сама решает как лучше»

Сегодня используют для:

  • Сегментация рынка (типов покупателей, лояльности)
  • Объединение близких точек на карте
  • Сжатие изображений
  • Анализ и разметки новых данных
  • Детекторы аномального поведения

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

Отличный пример кластеризации — маркеры на картах в вебе. Когда вы ищете все крафтовые бары в Москве, движку приходится группировать их в кружочки с циферкой, иначе браузер зависнет в потугах нарисовать миллион маркеров.

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

Правда для начала им приходится найти эти самые «характерные черты», а это уже только с учителем.

Сжатие изображений — еще одна популярная проблема. Сохраняя картинку в PNG, вы можете установить палитру, скажем, в 32 цвета. Тогда кластеризация найдёт все «примерно красные» пиксели изображения, высчитает из них «средний красный по больнице» и заменит все красные на него. Меньше цветов — меньше файл.

Проблема только, как быть с цветами типа Cyan ◼︎ — вот он ближе к зеленому или синему? Тут нам поможет популярный алгоритм кластеризации — Метод К-средних (K-Means). Мы случайным образом бросаем на палитру цветов наши 32 точки, обзывая их центроидами. Все остальные точки относим к ближайшему центроиду от них — получаются как бы созвездия из самых близких цветов. Затем двигаем центроид в центр своего созвездия и повторяем пока центроиды не перестанут двигаться. Кластеры обнаружены, стабильны и их ровно 32 как и надо было.

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

Хитрым задачам — хитрые методы. DBSCAN, например. Он сам находит скопления точек и строит вокруг кластеры. Его легко понять, если представить, что точки — это люди на площади. Находим трёх любых близко стоящих человека и говорим им взяться за руки. Затем они начинают брать за руку тех, до кого могут дотянуться. Так по цепочке, пока никто больше не сможет взять кого-то за руку — это и будет первый кластер. Повторяем, пока не поделим всех. Те, кому вообще некого брать за руку — это выбросы, аномалии. В динамике выглядит довольно красиво:

Как и классификация, кластеризация тоже может использоваться как детектор аномалий. Поведение пользователя после регистрации резко отличается от нормального? Заблокировать его и создать тикет саппорту, чтобы проверили бот это или нет. При этом нам даже не надо знать, что есть «нормальное поведение» — мы просто выгружаем все действия пользователей в модель, и пусть машина сама разбирается кто тут нормальный.

Работает такой подход, по сравнению с классификацией, не очень. Но за спрос не бьют, вдруг получится.

Уменьшение Размерности (Обобщение)

«Собирает конкретные признаки в абстракции более высокого уровня»

Сегодня используют для:

  • Рекомендательные Системы (★)
  • Красивые визуализации
  • Определение тематики и поиска похожих документов
  • Анализ фейковых изображений
  • Риск-менеджмент

Изначально это были методы хардкорных Data Scientist’ов, которым сгружали две фуры цифр и говорили найти там что-нибудь интересное. Когда просто строить графики в экселе уже не помогало, они придумали напрячь машины искать закономерности вместо них. Так у них появились методы, которые назвали Dimension Reduction или Feature Learning.

Проецируем 2D-данные на прямую (PCA)

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

Инструмент на удивление хорошо подошел для определения тематик текстов (Topic Modelling). Мы смогли абстрагироваться от конкретных слов до уровня смыслов даже без привлечения учителя со списком категорий. Алгоритм назвали Латентно-семантический анализ (LSA), и его идея была в том, что частота появления слова в тексте зависит от его тематики: в научных статьях больше технических терминов, в новостях о политике — имён политиков. Да, мы могли бы просто взять все слова из статей и кластеризовать, как мы делали с ларьками выше, но тогда мы бы потеряли все полезные связи между словами, например, что батарейка и аккумулятор, означают одно и то же в разных документах.

Точность такой системы — полное дно, даже не пытайтесь.

Нужно как-то объединить слова и документы в один признак, чтобы не терять эти скрытые (латентные) связи. Отсюда и появилось название метода. Оказалось, что Сингулярное разложение (SVD) легко справляется с этой задачей, выявляя для нас полезные тематические кластеры из слов, которые встречаются вместе.

Другое мега-популярное применение метода уменьшения размерности нашли в рекомендательных системах и коллаборативной фильтрации (у меня был пост про их виды). Оказалось, если абстрагировать ими оценки пользователей фильмам, получается неплохая система рекомендаций кино, музыки, игр и чего угодно вообще.

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

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

На эту тему есть неплохая лекция Яндекса — Как работают рекомендательные системы

Поиск правил (ассоциация)

«Ищет закономерности в потоке заказов»

Сегодня используют для:

  • Прогноз акций и распродаж
  • Анализ товаров, покупаемых вместе
  • Расстановка товаров на полках
  • Анализ паттернов поведения на веб-сайтах

Сюда входят все методы анализа продуктовых корзин, стратегий маркетинга и других последовательностей.

Предположим, покупатель берёт в дальнем углу магазина пиво и идёт на кассу. Стоит ли ставить на его пути орешки? Часто ли люди берут их вместе? Орешки с пивом, наверное да, но какие ещё товары покупают вместе? Когда вы владелец сети гипермаркетов, ответ для вас не всегда очевиден, но одно тактическое улучшение в расстановке товаров может принести хорошую прибыль.

То же касается интернет-магазинов, где задача еще интереснее — за каким товаром покупатель вернётся в следующий раз?

По непонятным мне причинам, поиск правил — самая хреново продуманная категория среди всех методов обучения. Классические способы заключаются в тупом переборе пар всех купленных товаров с помощью деревьев или множеств. Сами алгоритмы работают наполовину — могут искать закономерности, но не умеют обобщать или воспроизводить их на новых примерах.

В реальности каждый крупный ритейлер пилит свой велосипед, и никаких особых прорывов в этой области я не встречал. Максимальный уровень технологий здесь — запилить систему рекомендаций, как в пункте выше. Хотя может я просто далёк от этой области, расскажите в комментах, кто шарит?

Часть 2. Обучение с подкреплением

«Брось робота в лабиринт и пусть ищет выход»

Сегодня используют для:

  • Самоуправляемых автомобилей
  • Роботов пылесосов
  • Игр
  • Автоматической торговли
  • Управления ресурсами предприятий

Наконец мы дошли до вещей, которые, вроде, выглядят как настоящий искусственный интеллект. Многие авторы почему-то ставят обучение с подкреплением где-то между обучением с учителем и без, но я не понимаю чем они похожи. Названием?

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

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

Знания об окружающем мире такому роботу могут быть полезны, но чисто для справки. Не важно сколько данных он соберёт, у него всё равно не получится предусмотреть все ситуации. Потому его цель — минимизировать ошибки, а не рассчитать все ходы. Робот учится выживать в пространстве с максимальной выгодой: собранными монетками в Марио, временем поездки в Тесле или количеством убитых кожаных мешков хихихих.

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

Умные модели роботов-пылесосов и самоуправляемые автомобили обучаются именно так: им создают виртуальный город (часто на основе карт настоящих городов), населяют случайными пешеходами и отправляют учиться никого там не убивать. Когда робот начинает хорошо себя чувствовать в искусственном GTA, его выпускают тестировать на реальные улицы.

Запоминать сам город машине не нужно — такой подход называется Model-Free. Конечно, тут есть и классический Model-Based, но в нём нашей машине пришлось бы запоминать модель всей планеты, всех возможных ситуаций на всех перекрёстках мира. Такое просто не работает. В обучении с подкреплением машина не запоминает каждое движение, а пытается обобщить ситуации, чтобы выходить из них с максимальной выгодой.

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

Эта идея лежит в основе алгоритма Q-learning и его производных (SARSA и DQN). Буква Q в названии означает слово Quality, то есть робот учится поступать наиболее качественно в любой ситуации, а все ситуации он запоминает как простой марковский процесс.

Машина прогоняет миллионы симуляций в среде, запоминая все сложившиеся ситуации и выходы из них, которые принесли максимальное вознаграждение. Но как понять, когда у нас сложилась известная ситуация, а когда абсолютно новая? Вот самоуправляемый автомобиль стоит у перекрестка и загорается зелёный — значит можно ехать? А если справа мчит скорая помощь с мигалками?

Ответ — хрен знает, никак, магии не бывает, исследователи постоянно этим занимаются, изобретая свои костыли. Одни прописывают все ситуации руками, что позволяет им обрабатывать исключительные случаи типа проблемы вагонетки. Другие идут глубже и отдают эту работу нейросетям, пусть сами всё найдут. Так вместо Q-learning’а у нас появляется Deep Q-Network (DQN).

Reinforcement Learning для простого обывателя выглядит как настоящий интеллект. Потому что ух ты, машина сама принимает решения в реальных ситуациях! Он сейчас на хайпе, быстро прёт вперёд и активно пытается в нейросети, чтобы стать еще точнее (а не стукаться о ножку стула по двадцать раз).

Потому если вы любите наблюдать результаты своих трудов и хотите популярности — смело прыгайте в методы обучения с подкреплением (до чего ужасный русский термин, каждый раз передёргивает) и заводите канал на ютюбе! Даже я бы смотрел.

Помню, у меня в студенчестве были очень популярны генетические алгоритмы (по ссылке прикольная визуализация). Это когда мы бросаем кучу роботов в среду и заставляем их идти к цели, пока не сдохнут. Затем выбираем лучших, скрещиваем, добавляем мутации и бросаем еще раз. Через пару миллиардов лет должно получиться разумное существо. Теория эволюции в действии.

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

Человечеству еще не удалось придумать задачу, где они были бы реально эффективнее других. Зато отлично заходят как студенческие эксперименты и позволяют кадрить научруков «достижениями» особо не заморачиваясь. На ютюбе тоже зайдёт.

Часть 3. Ансамбли

«Куча глупых деревьев учится исправлять ошибки друг друга»

Сегодня используют для:

  • Всего, где подходят классические алгоритмы (но работают точнее)
  • Поисковые системы (★)
  • Компьютерное зрение
  • Распознавание объектов

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

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

Причём даже лучше, когда взятые алгоритмы максимально нестабильны и сильно плавают от входных данных. Поэтому чаще берут Регрессию и Деревья Решений, которым достаточно одной сильной аномалии в данных, чтобы поехала вся модель. А вот Байеса и K-NN не берут никогда — они хоть и тупые, но очень стабильные.

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

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

Ключевое слово — разных алгоритмов, ведь один и тот же алгоритм, обученный на одних и тех же данных не имеет смысла. Каких — ваше дело, разве что в качестве решающего алгоритма чаще берут регрессию.

Чисто из опыта — стекинг на практике применяется редко, потому что два других метода обычно точнее.

Беггинг Он же Bootstrap AGGregatING. Обучаем один алгоритм много раз на случайных выборках из исходных данных. В самом конце усредняем ответы.

Данные в случайных выборках могут повторяться. То есть из набора 1-2-3 мы можем делать выборки 2-2-3, 1-2-2, 3-1-2 и так пока не надоест. На них мы обучаем один и тот же алгоритм несколько раз, а в конце вычисляем ответ простым голосованием.

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

Дикая способность параллелиться даёт беггингу преимущество даже над следующим методом, который работает точнее, но только в один поток. Хотя можно разбить на сегменты, запустить несколько. ах кого я учу, сами не маленькие.

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

Как в беггинге, мы делаем выборки из исходных данных, но теперь не совсем случайно. В каждую новую выборку мы берём часть тех данных, на которых предыдущий алгоритм отработал неправильно. То есть как бы доучиваем новый алгоритм на ошибках предыдущего.

Плюсы — неистовая, даже нелегальная в некоторых странах, точность классификации, которой позавидуют все бабушки у подъезда. Минусы уже названы — не параллелится. Хотя всё равно работает быстрее нейросетей, которые как гружёные камазы с песком по сравнению с шустрым бустингом.

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

Сегодня есть три популярных метода бустинга, отличия которых хорошо донесены в статье CatBoost vs. LightGBM vs. XGBoost

Часть 4. Нейросети и глубокое обучение

«У нас есть сеть из тысячи слоёв, десятки видеокарт, но мы всё еще не придумали где это может быть полезно. Пусть рисует котиков!»

Сегодня используют для:

  • Вместо всех вышеперечисленных алгоритмов вообще
  • Определение объектов на фото и видео
  • Распознавание и синтез речи
  • Обработка изображений, перенос стиля
  • Машинный перевод

Если вам хоть раз не пытались объяснить нейросеть на примере якобы работы мозга, расскажите, как вам удалось спрятаться? Я буду избегать этих аналогий и объясню как нравится мне.

Любая нейросеть — это набор нейронов и связей между ними. Нейрон лучше всего представлять просто как функцию с кучей входов и одним выходом. Задача нейрона — взять числа со своих входов, выполнить над ними функцию и отдать результат на выход. Простой пример полезного нейрона: просуммировать все цифры со входов, и если их сумма больше N — выдать на выход единицу, иначе — ноль.

Связи — это каналы, через которые нейроны шлют друг другу циферки. У каждой связи есть свой вес — её единственный параметр, который можно условно представить как прочность связи. Когда через связь с весом 0.5 проходит число 10, оно превращается в 5. Сам нейрон не разбирается, что к нему пришло и суммирует всё подряд — вот веса и нужны, чтобы управлять на какие входы нейрон должен реагировать, а на какие нет.

Чтобы сеть не превратилась в анархию, нейроны решили связывать не как захочется, а по слоям. Внутри одного слоя нейроны никак не связаны, но соединены с нейронами следующего и предыдущего слоя. Данные в такой сети идут строго в одном направлении — от входов первого слоя к выходам последнего.

Если нафигачить достаточное количество слоёв и правильно расставить веса в такой сети, получается следующее — подав на вход, скажем, изображение написанной от руки цифры 4, чёрные пиксели активируют связанные с ними нейроны, те активируют следующие слои, и так далее и далее, пока в итоге не загорится самый выход, отвечающий за четвёрку. Результат достигнут.

В реальном программировании, естественно, никаких нейронов и связей не пишут, всё представляют матрицами и считают матричными произведениями, потому что нужна скорость. У меня есть два любимых видео, в которых весь описанный мной процесс наглядно объяснён на примере распознавания рукописных цифр. Посмотрите, если хотите разобраться.

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

Когда мы построили сеть, наша задача правильно расставить веса, чтобы нейроны реагировали на нужные сигналы. Тут нужно вспомнить, что у нас же есть данные — примеры «входов» и правильных «выходов». Будем показывать нейросети рисунок той же цифры 4 и говорить «подстрой свои веса так, чтобы на твоём выходе при таком входе всегда загоралась четвёрка».

Сначала все веса просто расставлены случайно, мы показываем сети цифру, она выдаёт какой-то случайный ответ (весов-то нет), а мы сравниваем, насколько результат отличается от нужного нам. Затем идём по сети в обратном направлении, от выходов ко входам, и говорим каждому нейрону — так, ты вот тут зачем-то активировался, из-за тебя всё пошло не так, давай ты будешь чуть меньше реагировать на вот эту связь и чуть больше на вон ту, ок?

Через тысяч сто таких циклов «прогнали-проверили-наказали» есть надежда, что веса в сети откорректируются так, как мы хотели. Научно этот подход называется Backpropagation или «Метод обратного распространения ошибки». Забавно то, что чтобы открыть этот метод понадобилось двадцать лет. До него нейросети обучали как могли.

Второй мой любимый видос более подробно объясняет весь процесс, но всё так же просто, на пальцах.

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

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

Пока лет десять назад не бомбанул диплёрнинг.

На английской википедии есть страничка Timeline of machine learning, где хорошо видны всплески радости и волны отчаяния.

В 2012 году свёрточная нейросеть порвала всех в конкурсе ImageNet, из-за чего в мире внезапно вспомнили о методах глубокого обучения, описанных еще в 90-х годах. Теперь-то у нас есть видеокарты!

Отличие глубокого обучения от классических нейросетей было в новых методах обучения, которые справлялись с большими размерами сетей. Однако сегодня лишь теоретики разделяют, какое обучение можно считать глубоким, а какое не очень. Мы же, как практики, используем популярные «глубокие» библиотеки типа Keras, TensorFlow и PyTorch даже когда нам надо собрать мини-сетку на пять слоёв. Просто потому что они удобнее всего того, что было раньше. Мы называем это просто нейросетями.

Расскажу о двух главных на сегодняшний момент.

Свёрточные Нейросети (CNN)

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

Картинка выше — результат работы библиотеки Detectron, которую Facebook недавно заопенсорсил

Проблема с изображениями всегда была в том, что непонятно, как выделять на них признаки. Текст можно разбить по предложениям, взять свойства слов из словарей. Картинки же приходилось размечать руками, объясняя машине, где у котика на фотографии ушки, а где хвост. Такой подход даже назвали «handcrafting признаков» и раньше все так и делали.

Проблем у ручного крафтинга много.

Во-первых, если котик на фотографии прижал ушки или отвернулся — всё, нейросеть ничего не увидит.

Во-вторых, попробуйте сами сейчас назвать хотя бы десять характерных признаков, отличающих котиков от других животных. Я вот не смог. Однако когда ночью мимо меня пробегает чёрное пятно, даже краем глаза я могу сказать котик это или крыса. Потому что человек не смотрит только на форму ушей и количество лап — он оценивает объект по куче разных признаков, о которых сам даже не задумывается. А значит, не понимает и не может объяснить машине.

Получается, машине надо самой учиться искать эти признаки, составляя из каких-то базовых линий. Будем делать так: для начала разделим изображение на блоки 8×8 пикселей и выберем какая линия доминирует в каждом — горизонтальная [-], вертикальная [|] или одна из диагональных [/]. Могут и две, и три, так тоже бывает, мы не всегда точно уверены.

На выходе мы получим несколько массивов палочек, которые по сути являются простейшими признаками наличия очертаний объектов на картинке. По сути это тоже картинки, просто из палочек. Значит мы можем вновь выбрать блок 8×8 и посмотреть уже, как эти палочки сочетаются друг с другом. А потом еще и еще.

Такая операция называется свёрткой, откуда и пошло название метода. Свёртку можно представить как слой нейросети, ведь нейрон — абсолютно любая функция.

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

На выходе же мы поставим простой перцептрон, который будет смотреть какие сочетания активировались и говорить кому они больше характерны — кошке или собаке.

Красота идеи в том, что у нас получилась нейросеть, которая сама находит характерные признаки объектов. Нам больше не надо отбирать их руками. Мы можем сколько угодно кормить её изображениями любых объектов, просто нагуглив миллион картинок с ними — сеть сама составит карты признаков из палочек и научится определять что угодно.

По этому поводу у меня даже есть несмешная шутка:

Дай нейросети рыбу — она сможет определять рыбу до конца жизни. Дай нейросети удочку — она сможет определять и удочку до конца жизни.

Рекуррентные Нейросети (RNN)

Вторая по популярности архитектура на сегодняшний день. Благодаря рекуррентным сетям у нас есть такие полезные вещи, как машинный перевод текстов (читайте мой пост об этом) и компьютерный синтез речи. На них решают все задачи, связанные с последовательностями — голосовые, текстовые или музыкальные.

Помните олдскульные голосовые синтезаторы типа Microsoft Sam из Windows XP, который смешно произносил слова по буквам, пытаясь как-то склеить их между собой? А теперь посмотрите на Amazon Alexa или Алису от Яндекса — они сегодня не просто произносят слова без ошибок, они даже расставляют акценты в предложении!

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

Достаточно легко обучить сеть произносить отдельные слова или буквы. Берём кучу размеченных на слова аудиофайлов и обучаем по входному слову выдавать нам последовательность сигналов, похожих на его произношение. Сравниваем с оригиналом от диктора и пытаемся максимально приблизиться к идеалу. Для такого подойдёт даже перцептрон.

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

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

Когда нейросеть не умеет забывать — её нельзя обучить (у людей та же фигня).

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

Когда нейрону было нужно поставить себе напоминалку на будущее — он писал это в ячейку, когда наоборот вся история становилась ненужной (предложение, например, закончилось) — ячейки сбрасывались, оставляя только «долгосрочные» связи, как в классическом перцептроне. Другими словами, сеть обучалась не только устанавливать текущие связи, но и ставить напоминалки.

Просто, но работает!

Озвученные тексты для обучения начали брать откуда угодно. Даже базфид смог выгрузить видеозаписи выступлений Обамы и весьма неплохо научить нейросеть разговаривать его голосом. На этом примере видно, что имитировать голос — достаточно простая задача для сегодняшних машин. С видео посложнее, но это пока.

Про архитектуры нейросетей можно говорить бесконечно. Любознательных отправляю смотреть схему и читать статью Neural Network Zoo, где собраны все типы нейронных сетей. Есть и русская версия.

Заключение: когда на войну с машинами?

На вопрос «когда машины станут умнее нас и всех поработят?» я всегда отвечаю, что он заранее неправильный. В нём слишком много скрытых условий, который примаются как как данность.

Вот мы говорим «станут умнее нас». Значит мы подразумеваем, что существует некая единая шкала интеллекта, наверху которой находится человек, собаки пониже, а глупые голуби тусят в самом низу. Получается человек должен превосходить нижестоящих животных во всём, так? А в жизни не так. Средняя белка может помнить тысячу тайников в орешками, а я не могу вспомнить где ключи. Получается интеллект — это набор разных навыков, а не единая измеримая величина? Или просто запоминание орешков в него не входит? А убивание человеков входит?

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

Вот давайте, прямо сейчас в уме умножьте 1680 на 950. Да, знаю, вы даже пытаться не станете. Но дай вам калькулятор, это займёт две секунды. Значит ли это, что вы только что расширили возможности своего мозга с помощью калькулятора? Можно ли продолжать их расширять другими машинами? Я вот использую заметки на телефоне — значит ли это, что я расширяю свою память с помощью машины?

Получается, мы уже успешно расширяем способности нашего мозга с помощью машин. Или нет?

Обзор нового продукта: Inovance – трейдинг с машинным обучением на платформе TRA >

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

Стартап Inovance Financial Technologies намеревается осуществить это при помощи искусственного интеллекта и машинного обучения. Продукт Inovance действует на основе собственной платформы TRAID. Она обеспечивает пользователей широким спектром алгоритмических торговых стратегий, аналогичных подходам, которые используют институциональные и профессиональные трейдеры.

В социальном и автоматическом трейдинге пользователи копируют сигналы или сделки. Ключевое отличие TRAID состоит в том, что трейдеры создают портфель стратегий для каждого торгового инструмента, а после этого платформа корректирует весовой коэффициент каждой стратегии в зависимости от ее результативности и рыночный условий.

Объясняя процесс работы платформы для Forex Magnates, Джастин Кахун, руководитель бизнес-операций Inovance, отметил, что основная идея, на которой основана TRAID — «создать платформу, включающую алгоритмы, которыми пользуются трейдеры Уолл-стрит. TRAID проводит бэктестинг алгоритмов для создания модели, которая выставляет весовые коэффициенты стратегиям для оптимальной эффективности». Он также добавил: «С каждым новым входящим значением модель перестраивается: эффективные алгоритмы увеличивают вес, а менее эффективные, наоборот, уменьшают».

Для использования платформы необходимо выбрать валюту и создать портфель, добавив в него алгоритмические стратегии. По словам Кахуна, алгоритмы основаны на сотнях различных технических индикаторов, а также инструментов фундаментального и cентимент-анализа.

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

В настоящий момент Innovance заинтересован в получении обратной связи относительно TRAID и активно ищет бета-тестеров продукта.

forex-prediction

Here are 23 public repositories matching this topic.

Simple version of auto forex trader build upon the concept of DQN

hayatoy / ml-forex-prediction

Predicting Forex Future Price with Machine Learning

    Updated Sep 29, 2020

iancamleite / prediciting-binary-options

Predicting forex binary options using time series data and machine learning

    Updated Aug 15, 2020

rrfaria / iqoption-bot

iqoption bot to trading forex on:

    Updated Sep 30, 2020

Live-Rates / live-rates.com

Forex Real-time Streaming, Web-service & Rest API

    Updated Sep 18, 2020

cenkcorapci / forex-prediction

Comparison of few deep learning models on 15m interval USD/EUR time series data

    Updated Sep 13, 2020

rrguardo / market_predictor_cnn

Softwares tools to predict market movements using convolutional neural networks.

    Updated Aug 14, 2020

ExcViral / adaptive-forex-forecast

An adaptive model for prediction of one day ahead foreign currency exchange rates using machine learning algorithms

    Updated Sep 6, 2020

VelbazhdSoftwareLLC / VitoshaTrade

VitoshaTrade is a Forex forecasting module for MetaTrader4.

    Updated Jul 15, 2020

innocentkithinji9 / ForexPred

    Updated May 19, 2020

newellp88 / V20py

Wrapper for oandapyV20 and associated projects

    Updated Nov 8, 2020

neoricalex / nafi

DeepRL para Forex Trading

    Updated Apr 8, 2020

Financial-ML / Market-Analysis-2

Machine Learning techniques that analyse Forex market.

    Updated Sep 14, 2020

stpaulchuck / Forex-Indicator-Data-Generators

generate various math studies like CCI, Trix, MACD, to use in your programs

    Updated Sep 6, 2020

deezone / forex-clock

An API to monitor and suggest trends in the world FOREX markets. Responses include consolidated indicator values, market status and general currency trends (predictions).

Машинное обучение. Технический пост: с чего начинать и на что обратить внимание.

Всем привет! Меня довольно часто спрашивали в комментариях к научным постам, откуда лучше стартовать в машинном обучении и анализе данных. Ну что же. Попробуем собрать воедино мой опыт и посвятить пост техническим вопросам.

0. Как вообще изучать

1. Тематические ресурсы.

2. Техническая часть.

Как вообще изучать это дело?

Любая наука двигается людьми. Каждый учёный имеет свою область интересов, поэтому надо в первую очередь определиться, что тебе интересно. Вообще, в России самый-самый главный по машинному обучению — это Воронцов Константин Вячеславович. Он написал ряд лекций, каждая из которых от «А» до «Я» всё объясняет.

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

Воронцов в своей диссертации затрагивает вопросы переобучения. Если вкратце, то он описывает методы, по которым можно понять, а хорош ли ваш алгоритм? Не переобучился ли? Знания тут. очень и очень нетривиальные. В качестве бонуса, рекомендую прочитать его приложение. Там он описывает как исследование длинною в 10 лет можно было. провести за один час, если сделать правильный эксперимент. В общем, рекомендую.

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

Я походу своей деятельности занимался компьютерной лингвистикой. В компьютерной лингвистике правит бал сейчас модель word2vec. Поэтому, берём работы Tomasa Mikolova и гуглим его труды. Это даст вам необходимый минимум.

Вообще, литературы по этому делу в интернете масса. Однако,что редкость, в русскоязычном сегменте есть весьма достойный сайт. Там можно найти почти всё! Вообще, такие сайты большая редкость. Думаю, что многие вспомнят хабр. Ну там. Там больше технические моменты описываются. С точки зрения программиста, хабр вещь незаменимая, но с научной. Мне попадались там действительно удачные циклы научпопа про тематическое моделирование. Если вам надо постараться смоделировать поведение пользователя, опираясь на тематики, то рекомендую их блог. На пальцах объясняют как это сделать и почему это будет работать. Результаты экспериментов прилагаются.

В последнее время, детище Грефа стало проявлять интерес к машинному обучению. Второй год подряд проводят конкурсы с очень неплохими призовыми, а результаты публикуют здесь. Также могу порекомендовать неплохую конфу «АИСТ». ВНИМАНИЕ, её результаты идут в Scopus. То есть — неплохая возможность получить публикацию в зарубежном журнале. Примите к сведению. Помимо чисто практических интересов (публикация) там проскакивают весьма и весьма интересные работы.

В последнее время развился огромный интерес к свёрточным нейросетям. Ходит устойчивое мнение, что это панацея для создания сильного искусственного интеллекта. Выглядит многообещающе, но. я с этим не работал и могу сказать, что там да как. По идее, в этой области каждый день выходят статьи и выбрать стоящее. довольно трудно.

ШАД — это бренд. Я не знаю, что там проходят точно, но я уверен, что там круто. Очень круто. Поступление бесплатное, но очень трудное. Подробнее с задачами можно ознакомиться здесь. Из онлайн курсов я бы порекомендовал мониторить stepic. Там можно выцепить весьма любопытные курсы. Между прочим, с сертификатами, что весьма приятно. И бесплатно.

Ну, тут всё просто. Идём и смотрим на hh/linkedin/stackoverflow что интересует потенциального работодателя.

2. Стэк: Big Data: Hadoop, Hive, Spark (для инженеров)

3. Python — просто маст хэв. Особенно его библиотеки для машинного обучения.

4. Желательно java

Если интересно для себя, то:

1. h20. Интуитивно просто и понятно. Я всегда использую для разных конкурсов 🙂

2. MS Azure. Детище майкрософта. Интерфейсом напоминает RapidMiner, раньше была платной, как сейчас — хз. Есть всё. В сети довольно много уроков, которые рассказывают, как этим пользоваться.

3. RapidMIner. Штука прикольная. Интерфейс довольно простой и дружелюбный. Из минусов: в бесплатной версии всего 1 гиг оперативки можно использовать, что довольно печально.

Ну вот вы натренировались, выучили всё, что можно и вам не терпится попробовать свои силы? Ну тогда вам

1. Kaggle. Самая-самая платформа для конкурсов по машинному обучению. Для сильных духом. Вообще, помимо конкурсов, можно почитать форумы, посмотреть тестовые проекты и поискать работу.

2. Гугл наш друг. Вбиваем machine learning contest и смотрим, что есть.

Обучение Форекс. Набираю VIP группу на скрытый форум нас уже более 500-т человек

Обучение Форекс начну со знакомства с вами, конечно, если еще есть в интернете такой человек который меня не знает, то переходите на страницу — обо мне. ШУТКА! но в каждой шутке …. В общем, как и обещал, начинаю Форекс обучение, а точнее, собираю определенную группу людей (ВИП читателей раздела Forex), которые могут повторить мой путь выхода на большие деньги, то есть буду делится опытом, показывать свои счета и рассказывать на чем я торгую на них! Как я вам говорил, я почистил свою рассылку, где было 10 000 человек, сейчас 2500, остальных удалил! Так буду делать постоянно )))

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

Сразу кину затравку! Хотите крутить большие деньги? Я за вас отвечу: ДАААА! А для этого нужно обучаться!

На столе трейдера должен быть антистресс ))

Для примера смотрите мою торговлю:

Пример заработка №1

В 2020 году открыл счет у брокера велтрейд, вложил $2500. На данный момент абсолютный прирост +628.73% и выведено со счета $4300 + депозит на момент написания $6839. Думаю очень хороший заработок на автомате при условии что просадка составила 19.73% за все три года торговли.

Вот Мой мониторинг

Как видите счет успешно работает и по сей день и думаю проработает еще лет пять. 1000 % я сделаю )

Пример заработка № 2

В далеком 2015 году я открыл счет в Альпари, в который вложил всего 300 $ и на данный момент сделано 580% и выведено много денег, смотрите все сами по мониторингу

Пример заработка №3

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

Обратите внимание просадка всего 20% при рисковой торговли и счету уже более года

Пример заработка №4

Счет в Амаркетс. На момент написания статьи на нем 230% прибыли за 11 месяцев. То есть, я вложил $2148, и чистой прибыли на счете $8533 с учетом инвесторских.

Секретный скрин из терминала МТ4, где я торгую Дописано через время! А вот скрин прибыли через три месяца! Хотя за это время были ужасные просадки и неприятности! если бы не они, было бы 15 000 прибыли А вот доходность еще через месяц! Торговля шла в нормальном режиме, без просадок, поэтому прибыль так увеличилась! Соответствие сделок со скриншота вы сможете проверить по мониторингу, поэтому картинку сделал чуть больше, что бы было время и дата

Счет был разогнан до 600 % за чуть меньше чем за два года! Но в данный момент, он в просадке, при рискованной торговле это неизбежный результат! Но я за это время заработал 15 000$ и инвесторы тоже 15 000$. Так что вот так вот и зарабатываю. В группе вся правда и мой опыт, разгона депозита, сокращения рисков, ну и конечно опыт сливов. Все показываю!

Как вы поняли, свои вложенные деньги я давным-давно вернул и пошла сверх прибыль! Посмотрим, что будет дальше, а теперь выложу мониторинг, жмите на него и вы получите более полную информацию:

20,0,1,0,0

Пример заработка №5

Данный счет давно оправдан, что бы с ним не случилось на данный момент

Теперь примеры моей торговли у других брокеров:

Пример заработка №6

Пример заработка №7

Брокер NPBFX . тут я вложил 1000 $ и за 5-ть месяцев сделал 150 %, все уже вывел, просадка была минимальной

Таких примеров у меня очень много! Вот к примеру еще смотрите — мои лучшие Форекс сигналы в mql5. Главный смысл всего, что бы счет заработал больше 100 % (то есть вернул свое) + большой портфель роботов, один потерял, другие закрыли эти потери

Серия статей примеры моего заработка

Так вот, таких счетов у меня очень много, не только паммы, но читатели о них не знают! Я думаю, что я созрел для обучения трейдеров форекс, по крайней мере ВИП группе буду давать конкретные советы из моего опыта. Что делать, что нет, на что тратить время, на что нет …

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

Для тех кто не знает, я в Афорекс(Амаркетс) получил сертификат на 2000$ за успешную торговлю, я вас научу точно также зарабатывать на Форекс:

Мой приз в 2000$ в конкурсе «Миллион от Афорекс»

Кто хочет получить от меня помощь и онлайн консультации в обучении на Форекс — читать до конца!

Смысл обучения такой, вы разбираетесь сами, ВНИМАТЕЛЬНО читаете, А ПОТОМ, ЧТО ВАМ НЕПОНЯТНО СПРАШИВАЕТЕ! Ниже, чуть подробней — как это будет проходить! Но обращаю ваше внимание, что не будет информации, как установить советник в Метатрейдер 4 и что это такое, это у меня написано и у многих других Форекс блоггеров, которые передерают информацию друг у друга! Мое Форекс обучение, будет содержать уникальную информацию, которое не найдете нигде, это мой личный опыт + даю советников (платных, бесплатных) + каждый счет подтверждаю мониторингом (да некоторые не одним) + и ссылкой на памм счет для сравнения.

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

+ если у вас есть какой то платный робот на примете, я могу купить его, протестировать и сказать вам стоит им торговать или нет!

Вы спросите: А есть ли РИСКИ? Риск есть всегда, но мы уменьшим его до минимума!

Но конечно, свои консультации я предоставлю не всем, об этом ниже, а сейчас о том, как родилась эта идея.

Вот это видео вы обязаны посмотреть до конца, там конечно я не согласен с Герчиком, где он говорит что на форекс можно заработать на покушать, а что бы больше, нужно уходить на другие биржи, может он и прав, но 10 000$ в месяц я уже преодолел, может для него это покушать и есть. Я считаю, что на Форекс прибыли больше, но и риски тоже больше, нужно научится находить золотую середину, а так видео вам все объяснит, особенно НОВИЧКАМ (дописано через время, Герчик сам открыл форекс брокера, как сейчас это смешно смотрится):

Как родилась идея онлайн обучения на Форекс?

С каждым днём мне больше и больше стало не хватать времени для работы над блогом, для торговли на финансовых рынках и для изучения новинок в сфере моих интересов.

40,1,0,0,0

Я решил структурировать свой распорядок дня. Я стал успевать делать важные дела, которые в последствии приносят мне деньги. НО ВРЕМЯ на читателей у меня вообще не осталось, в данный момент у меня забита почта, допишу статью, буду разбирать ))

Я подсчитал вопросы, которые ко мне приходят за сутки в соц.сетях — ВК,ОД, FB, почте, скайпе (который уже боюсь включать, ибо не оторвусь от него), аське, в общем получилось более 300-т. это я генерирую еще три статьи в день только в ответных сообщениях! В общем основное время я тратил на болтовню с читателями.

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

Конечно и с остальными буду, но по мере свободного времени и не больше 2-х часов в неделю. В общем у меня сейчас работа по графику. )))

Пряники при бесплатном обучении торговле на форекс

1. Я дам своего советника копира! Зачем он нужен? Отвечаю! К примеру, вы купили советника за большие деньги, как вы знаете, он привязывается к одному счету и на других торговать им не получится, придется покупать еще одну лицензию! Нет! Есть копир, который будет копировать ордера в другие терминалы МТ4.

Лично я покупал советников за цену более 1000$. Так что копир мне пригодился.

2. Будут и бесплатные советники, которых пока нет на моем блоге + постоянно тестирую новые

3. Покажу, как торгует советник на мониторах и паммах и на каких какой работает

51,0,0,0,0

4. Посоветую советника, точней дам робота, который ограничивает потери! То есть закроет сделки в минус, если просадка достигла установленного % от депозита. Любая торговля на мартингейле становится безопасней и слить депозит не получится + не нужно постоянно следить за опасными советниками.

52,0,0,0,0

5. Если получится, то буду проводить конкурсы среди ВИПов, призом будут платные советники!

53,0,0,0,0

Я мониторю весь интернет, отслеживаю море информации о рынке финансов, так же информацию мне кидают читатели, блага — я общаюсь с тысячами!

54,0,0,0,0

55,0,0,0,0

На каких условиях можно пройти курсы обучение Форекс?

Я денег с вас брать не буду, мое форекс обучение бесплатное.Но я не АЛЬТРУИСТ, даже отвлечение от работы на час — это солидная упущенная прибыль, поэтому, пройдите регистрацию по моим ссылкам у 13-ти брокеров:

56,0,0,0,0

  • ЦРФИН — Афорекс — http://www.amarkets.org/g/463Z8
  • ЦРФИН — Альпари — https://alpari.com/ru/?partner_ >

Внимание! Если при регистрации попросят код партнера, то это любое окончание ссылки. К примеру, в РобоФорекс это wel, в Альпари это 1216252

57,0,0,0,0

13 — мое любимое число ) Если вы уже есть в Альпари или Афорекс, то или договаривайтесь с тех поддержкой о переводе! либо удалите старые кабинеты и откройте новые … Но они обязательны должны быть зарегистрированы по моим ссылкам! Это мое условие! Основной портфель у нас будет именно у этих бро. За большим количеством участников я не гонюсь, как раз наоборот. так что решать вам ))

58,0,0,0,0

Лично у меня в первых двух сосредоточены большие суммы и работают памм счета, а в остальных по мелкому (один, два счета по 300 -1000$, но я в них развиваюсь и увеличиваю депозиты, но те так, как в Афорекс)

59,0,0,0,0

Зачем я требую регистрации по ссылкам за обучение? не секрет что брокеры берут % с любой вашей сделки, это называется — спред, а с этого процента они отдают маленькую долю партнерам. Вот кстати, статья где я делюсь с читателями 20% своего заработка с памм счетов 200.000$, я не стану с этого сверх богатым, но по крайней мере хоть что то. С вас так или иначе возьмут этот %, только так брокер оставит его себе! С моей торговли тоже берется %, Вот кому то повезло, кто пригласил меня)

60,0,0,1,0

Сразу предвижу, что некоторые недоверчиво увидят тут подвох! Такие люди просто идут мимо и не отвлекают меня.

61,0,0,0,0

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

62,0,0,0,0

Ах! Если бы не эти лохотроны, в которые я попадал (гамма, ммсис, форекс-тренд, пантион……..), то было бы вообще шоколадно
.

63,0,0,0,0

ВОТ ИМЕННО, ПОЭТОМУ БРОКЕРОВ В ПОРТФЕЛЕ БОЛЬШОЕ КОЛИЧЕСТВО! Основными у нас будут Альпари и Афорекс, тут я советую держать 50-60% своих накоплений. А остальное распределить по другим, по списку. Если у вас пока не так денег, я надеюсь они вскоре у вас появятся для распределения! Этому я тоже буду вас учить!

64,0,0,0,0

Это главное правило инвесторов. Этому я тоже буду обучать. Случится может все что угодно! На сервера компании упадет метеорит, или если помните как обанкротилась Британская Альпари, не знали? Переходим по ссылке и читаем!

65,0,0,0,0

В общем, как то так!

66,0,0,0,0

Какие читатели предпочтительней для бесплатного Форекс обучения — консультаций

  • 1) Готовые вложить в депозиты (я за вас это сделать не смогу)
  • 2) Готовые купить некоторых роботов (продаю не я, дал бы бесплатно) они привязываются к одному счёту и на другой их не установишь. Но дам и бесплатные советники.
  • 3) Понимающих риски и готовых их принимать
  • 4) Нет денег? ладно! Поучимся на демо! Но, конечно, основа портфеля это платные советники! Имейте это ввиду.

На форекс никто вам не сможет гарантировать, что мол пройдете мое обучение и заработаете за определенный промежуток времени, определенную сумму! Если кто то так обещает, то это 100% лохотрон! Сливы и просадки возможны всегда, тем более при работе с советниками! Но составляем портфель так, что возможные потери, должны покрыть прибыли других роботов! В общем у меня смысл обучения, я показываю как и чем я торгую и делюсь с вами своими успехами или наоборот! Но всю актуальную информацию вы получите и выводы сделаете!

67,0,0,0,0

Что от вас необходимо для обучения торговли советниками на Forex?

А там уже расскажу более подробно, что потребуется от вас, что вы вообще хотите и на что в данный момент пойдете!

68,0,0,0,0

К примеру, нужно будет снять впс для форекс, открыть центовый счет (это по вашим средствам), купить советники (постепенно будем наращивать вам портфели советников)

69,0,0,0,0

Нужно только настроить и готовый пассивный источник дохода вам обеспечен.

70,0,0,0,0

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

71,0,0,0,0

Запомните, торговать одним советником, гораздо опасней чем сотней (конечно проверенных и надежных)

72,0,0,0,0

По мере появления излишних денег, вкладываем в другие инструменты заработка на форекс.

73,0,0,0,0

Не верующих, сомневающихся, боящихся, не умеющих воспринимать риски, думающих что это кнопка бабло… просьба проходить мимо!

74,0,0,0,0

Но вы на этом останавливаться не должны! Инвестируйте, учите ручные стратегии … Создавайте сайты для привлечения инвесторов… Кстати, если у вас есть сайт, то могу помочь и в этом!

75,0,0,0,0

P.S. Дописано через время. На данный момент времени в группе 160 человек и 40% из них блоггеры — люди которые имеют свои сайты инвестиционной тематики, скоро они из инвесторов превратятся в форекс трейдеров! Это все хорошо, я рад, скоро появится ТЫСЯЧИ новых памм счетов у различных брокеров. Но хочу предупредить людей имеющих свои сайты, вы имеете аккаутнты у брокеров на которых уже были привлечены партнеры, возможно их не перевели под меня и вы открыли другие ЛИЧНЫЕ КАБИНЕТЫ на родственников или на себя. Важно! Я ТРЕБУЮ, что бы вы перевели всю работу на новые аккаунты иначе БУДУ ИСКЛЮЧАТЬ ИЗ ГРУППЫ!

76,0,0,0,0

P.S. Опять дописываю статью! Набор в группу продолжается! Я организовал все в виде ВИП рассылки, где я делюсь СВОИМИ СЕКРЕТАМИ, кому что то не понятно, задают вопросы, а я постепенно отвечаю на них! Так что справляюсь с большим количеством участников! Тем более многим хватает информации: какими роботами я торгую + мониторинг + памм (где работает робот) + рекомендации по настройке и ММ. Если дойдут руки, то в планах сделать закрытый форум, где можно будет всем общаться между собой, тем самым обучение трейдингу будет проходить веселей )))

77,0,0,0,0

12.01.2020 запущен скрытый форум!

78,0,0,0,0

09.08.2020 — численность группы приближается к 600 ! Я не в состоянии всем отвечать. Поэтому, личного обучения уже нет. я выкладываю нужную информацию на скрытый форум, а люди делятся своим мнением и реальными результатами. В группу все также принимаю, только все основное вы получаете из ВИП рассылки и форума и могу рассматривать заявки в течении двух недель, так что не торопите меня

79,0,0,0,0

04.04.2020 на форуме появился новый администратор. Мы поменяли специфику секретного форума, скупаем все платные совы, раздаем бесплатно и тестируем их, но требуем активности от каждого участника — вот прием на секретный форекс форум

80,0,0,0,0 81,0,0,0,1

(42 оценок, среднее: 5,00 из 5)

Структуры данных и Алгоритмический трейдинг: машинное обучение

Data Structures and Algorithmic Trading: Machine Learning

Структуры данных и алгоритмический трейдинг: машинное обучение, торговля на фондовом рынке, инвестирование в криптовалюты, создание робота Forex, все это мы разберем в нашем курсе. Структуры данных и алгоритмический трейдинг — это метод выполнения заказов с использованием автоматических запрограммированных торговых инструкций. Они были разработаны так, что трейдерам не нужно постоянно следить за запасом и повторно делать те же самые вещи вручную. Алгоритмическая торговля не является попыткой получить прибыль от торговли. Это просто способ минимизировать затраты, но если вы не можете использовать этот невероятный инструмент, вы можете пропустить правильные точки входа или выхода, которые с радостью возьмут другие трейдеры.

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

Forecast by Machine Learning

CryptoCurrency, Stock, Forex, Fund, Commodity Price Predictions by Machine Learning

Our Predictions are made by Machine Learning, and shouldn’t been used for financial decisions. We can’t guarantee any profit.

«Machine learning is a type of artificial intelligence (AI) that allows software applications to become more accurate in predicting outcomes without being explicitly programmed. The basic premise of machine learning is to build algorithms that can receive input data and use statistical analysis to predict an output value within an acceptable range. «

The cryptocurrency, stock, commodity, fund and forex rates are influenced by many things: economic news, trader opinions, natural disasters, wars, investor groups. It is therefore very difficult to give an accurate estimate of the future.

WalletInvestor’s cryptocurrency, and other forecasts are based on changes in the exchange rates, trade volumes, volatilities of the past period, and other important aspects.

The accuracy of the estimation depends on the quantity and quality of training data, so it is also difficult to anticipate anything in the case of newer cryptocurrencies.

We are constantly developing our algorithm, but we can not assume responsibility for the accuracy of the data.

Expertise behind the project: data science, neural networks, science network, cryptocurrency market analysis, Ai & ML programming, web development.

CyberCortex® Машинное Обучение для Трейдинга

CyberCortex

Прохожий

CyberCortex® (КиберКортекс®) – это программа для алгоритмического трейдинга по автоматическому поиску закономерностей в биржевых данных, базирующаяся на современных технологиях машинного обучения. Ядром CyberCortex® является один из мощнейших алгоритмов классификации – алгоритм адаптивного бустинга решающих деревьев.

Программа позволяет загружать любые биржевые данные в формате CSV, обучать автоматический алгоритм классификации и строить прогноз. Но самое главное CyberCortex® дает возможность непосредственно real-time получать данные из платформы MetaTrader 4, производить анализ на лету и возвращать результат обратно в терминал, для того чтобы Вы или Ваш робот могли использовать прогноз в торговле. Для этих целей в CyberCortex® использована технология именованных каналов, которая позволяет программам с высокой скоростью общаться между собой непосредственно внутри оперативной памяти компьютера.

Преимущества CyberCortex® в сравнении с существующими аналогами:
Простота освоения. Чтобы воспользоваться CyberCortex® Вам не понадобится часами изучать громоздкие инструкции по эксплуатации, подбирать разные настройки и конвертировать файлы с непонятными расширениями в файлы с еще более непонятными расширениями. В CyberCortex® все элементарно просто и работает из коробки. К тому же, весь интерфейс программы на русском языке.
Используемый алгоритм. Для многих трейдеров технологии из области искусственного интеллекта начинаются и заканчиваются на избитой теме классических нейронных сетей. Но алгоритм бустинга, реализованный в CyberCortex® – это на порядок более мощный и современный инструмент потому что:
1. Алгоритм в CyberCortex® не требует сокращать размерности входных данных и выискивать какие признаки несут информативность, а какие нет. Напротив, чем больше входных данных имеется, тем выше вероятность правильной классификации. Неинформативные признаки автоматически отсеиваются. Также нет никакой необходимости предварительно нормировать данные.
2. Алгоритм в CyberCortex®, в отличие от нейронных сетей, не требует настраивать параметры обучения для того, чтобы получить оптимальный результат, практически не подвержен склонности к переобучению, а также позволяет классифицировать данные на произвольное число классов.
3. Удивительная особенность реализованного алгоритма в том, что, если в данных содержатся закономерности, – они будут найдены. Если же в данных закономерности отсутствуют, то прогнозы алгоритма будут не лучше простого подбрасывания монетки, что, собственно, логично.
Удобство. CyberCortex® связан с самым популярным терминалом для торговли – MetaTrader 4. Это позволит Вам использовать наработки миллионов трейдеров, а также всю вашу фантазию для построения своей собственной прибыльной торговой системы, использующей в своей основе интеллектуальный анализ данных.

Наша целевая аудитория – это люди, готовые выйти за рамки «торговли по скользящей средней или стохастику», а также просто энтузиасты, готовые пробовать и испытывать новые инструменты.

Предупреждение 1. Разработчики не гарантируют, что, приобретя программу, Вы сразу же построите прибыльную торговую систему. Увы, но Граалей не существует. И Вам все-равно надо будет активно шевелить извилинами и использовать Вашу фантазию по максимуму, чтобы получить хороший результат.
Предупреждение 2. Разработчики гарантируют, что все алгоритмы, реализованные в CyberCortex® реализованы максимально качественно с точки зрения заложенной в них математики.

Мы протестировали правильность работы CyberCortex® на данных, взятых с этих сайтов:
_http://archive.ics.uci.edu/ml/datasets/Arcene
(репозиторий данных по машинному обучению)
_http://www.uta.edu/faculty/manry/new_classification.html
(сайт лаборатории по распознаванию изображений университета Арлингтона в Техасе, США).

В первом случае использовались данные анализа крови здоровых людей и людей больных раков. Гипотеза заключалась в построении модели, способной прогнозировать рак у человека на основе его анализов. Классифицировать требовалось на 2 класса (болен — не болен).
Длина обучающего примера составила 10000 признаков. 3000 из которых носили случайный характер и специально добавлены учеными для тестирования качества классификации алгоритмов. Всего в обучающей выборке использовано 100 примеров, что несомненно очень мало, но больше, увы, нет. При тестировании использовались уже другие примеры в количестве также 100 штук.
Результат Вы можете наблюдать на скриншоте.
Точность CyberCortex® составила 75% на незнакомых данных. Мы убеждены, что если бы данных для обучения было большее, то можно было бы существенно увеличить точность прогнозов.

Введение в машинное обучение. Часть 1

В последнее время приобретают все большую популярность алгоритмы машинного обучения. Они применяются для решения задачи классификации входных данных, или, проще говоря, выявления паттернов в структуре этих данных. Небольшой цикл статей про машинное обучение опубликован на сайте inovancetech.com, здесь я представляю их перевод.

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

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

Цель машинного обучения (МО) в том, чтобы правильно смоделировать исторические данные, и затем использовать эту модель в предсказании будущего. В алгоритмической торговле применяется два типа МО:

  • Регрессия: используется для предсказания направления и амплитуды исследуемой величины. Например, цена акций Гугл возрастет на 7 долларов на следующий день.
  • Классификация: используется для предсказания категории, например, направления движения цены акций Гугл на следующий день.

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

В нашем примере мы будем использовать день недели для предсказания цены акций Гугл на закрытии следующего дня ( вверх или вниз. В следующей части мы будем использовать множество индикаторов, но в данном случае, для иллюстрации основ, мы применяем лишь один — день недели).

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

На следующем шаге надо проверить правильность выбора индикаторов и переменных для предсказания. Мы знаем, что используем день недели для предсказания движения цены на следующий день. Создадим один столбец для дней недели и второй — для цены закрытия минус цена открытия. В последней колонке отмечаем UP (вверх), если разница между ценами больше 0 и DOWN (вниз), если разница меньше 0:

В машинном обучении этот набор данных называется тренировочным, потому что алгоритм обучается на этих данных. Другими словами, алгоритм устанавливает соотношение между направлением цены и днем недели и вычисляет нелинейное соответствие. Обратите внимание, что это маленький набор данных — только 23 строки. В следующей части мы будем использовать сотни строк данных для построения модели. В общем случае, чем больше данных, тем лучше.

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

Заключение 1 части.

День недели — наш индикатор, который мы собираемся использовать для предсказания направления завтрашней цены. Мы собираемся использовать исторические данные для обучения алгоритма распознованию паттерна соответствия между днем недели и направлением цены следующего дня.

В следующей части серии мы выберем алгоритм и создадим модель на языке R, следуя пошаговым инструкциям.

SavePearlHarbor

Ещё одна копия хабора

Применение машинного обучения в трейдинге

Часть 1

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

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

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

  • Регрессия. Используется для прогнозирования направления и значения величины. Например рост на $7.00 стоимости акций Google за день.
  • Классификация. Используется для прогнозирования категорий, например направление стоимости акций Google за день.

Рассмотрим простой пример. Давайте попытаемся предсказать движение стоимости акций Google на один день вперед. В следующей части мы будем использовать несколько индикаторов, но сейчас, для изучения основ, мы будем использовать только один показатель: день недели. Итак, давайте попробуем предсказать движение цены на основе дня недели.
Ниже отображен график акций Google и картинка экспортированных данных из Yahoo Finance.

Я добавил колонку день недели и колонку цена закрытия минус цена открытия. Так же, я добавил колонку направления цены, где пишу «UP», если разница между ценой закрытия и открытия больше 0 и «DOWN» если меньше:

В машинном обучении этот набор данных будет называться тренировочным, потому что алгоритм обучается на них. Другими словами алгоритм просматривает весь набор данных и устанавливает зависимость между днем недели и направлением изменения стоимости акции. Заметьте, что наш набор маленький — здесь всего 23 строки. В следующей части, мы будем использовать сотни строк для построения модели. В действительности, чем больше данных, тем лучше.

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

Часть 2

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

Что такое наивный байесовский классификатор?

Формула Байеса позволяет найти вероятность того, что событие А случится, если известно, что событие В уже произошло. Обычно обозначается как: P (A | B).

В нашем примере, мы спрашиваем: «Какова вероятность, что сегодняшняя цена повысится, если известно, что сегодня среда?». Метод учитывает как вероятность того, что сегодняшняя цена вырастет исходя из общего количества дней во время которых наблюдался рост, так и исходя из того, что сегодня среда, т. е. сколько раз цена росла в среду.

У нас появляется возможность сравнить вероятность того, что сегодняшняя цена вырастет и вероятность того, что она упадет, и использовать наибольшее значение как прогноз.

До сих пор мы обсуждали только один индикатор, но как только их становится несколько, вся математика быстро усложняется. Чтобы это предотвратить используется наивный байесовский классификатор (вот тут хорошая статья). Он обрабатывает каждый индикатор, как независимый, или не коррелированный (отсюда термин наивный). Поэтому важно использовать индикаторы связанные слабо или не связанные вовсе.
Это очень упрощенное описание наивного байесовского классификатора, если вам интересно узнать о нем подробнее, а так же о других алгоритмах машинного обучения, посмотрите тут

Пошаговый пример на R

Сам по себе язык очень простой. Файлы скриптов можно не создавать – все пишется прямо в консоли.
Теперь по порядку, все что встретится:
В языке не строгая типизация, объявлять переменные нет необходимости. Для присвоения значения используется знак « Примечание переводчика 4

Всего в тестовой выборке 164 дня. При этом предсказания нашей модели совпали с реальными данными 79 раз или в 48% случаев.
Этот результат нельзя назвать хорошим, но он должен дать вам представление о том, как построить свою собственную стратегию, основанную на машинном обучении.
В следующей части, мы посмотрим, как можно использовать эту модель для улучшения вашей стратегии.
Примечание переводчика 5. На сегодняшний день есть еще 2 статьи из этого цикла: про дерево решений и про нейронные сети. Статьи в таком же стиле, т.е. не глубокие, а только дающие общее представление о вопросе. Если интересно — я продолжу переводить. Обо всех замечаниях, неточностях и прочих ошибках пишите в личку.

Структуры данных и Алгоритмический трейдинг: машинное обучение

Data Structures and Algorithmic Trading: Machine Learning

Структуры данных и алгоритмический трейдинг: машинное обучение, торговля на фондовом рынке, инвестирование в криптовалюты, создание робота Forex, все это мы разберем в нашем курсе. Структуры данных и алгоритмический трейдинг — это метод выполнения заказов с использованием автоматических запрограммированных торговых инструкций. Они были разработаны так, что трейдерам не нужно постоянно следить за запасом и повторно делать те же самые вещи вручную. Алгоритмическая торговля не является попыткой получить прибыль от торговли. Это просто способ минимизировать затраты, но если вы не можете использовать этот невероятный инструмент, вы можете пропустить правильные точки входа или выхода, которые с радостью возьмут другие трейдеры.

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

Машинное обучение угрожает хедж-фондам, инвестирующим в акции

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

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

По словам Джеффа Тарранта, основателя Protégé Partners, модель хедж-фондов, взимающих комиссию «2 и 20» (2% за управление активами и 20% по итогам работы), по инвестированию в рост или падение «голубых фишек» «больше не работает» и находится на грани краха. Он обращает внимание на тот факт, что за последние десять лет инженеры и ученые коренным образом изменили механизмы работы других отраслей: «Джефф Безос выбрал книжный бизнес, Apple захватила музыкальный, а Netflix совершенно изменила телевидение. Теперь машинное обучение собирается захватить хедж-фонды».

Воплощая теорию в практику, он запускает бизнес, который будет инвестировать исключительно во вновь созданные инвестиционные фонды, в которых используется искусственный интеллект. Новая компания Protégé, получившая название Mov37, будет вкладывать средства в 10 управляющих активами менеджеров, как предоставляя начальный капитал, так и в форме прямого инвестирования. Ожидается, что общие инвестиции составят до $1 млрд. Хотя многие из крупнейших системных хедж-фондов, применяющих компьютерные алгоритмы для принятия торговых решений, уже начали использовать методы машинного обучения, г-н Таррант считает, что полностью сломать старую модель смогут молодые начинающие менеджеры.

Потенциал машинного обучения, сулящего огромные прибыли в бурном море «Big Data», растет по мере того, как деньги устремляются в компьютерные хедж-фонды, а остальная отрасль демонстрирует средние результаты и страдает от оттока средств.

Г-н Таррант, который в 2002 году основал Protégé Partners для инвестирования и предоставления начального капитала новым менеджерам, более 30 лет работает в индустрии хедж-фондов. Он сотрудничал с различными фондами, включая фонд Berkeley Asset Management, совместно управляя одним из самых первых хедж-фондов, который инвестировал в менеджеров, включая Джона Генри и Луиса Бэкона.

По данным поставщика данных Hedge Fund Research, так называемые «количественные» хедж-фонды в 2020 году зафиксировали приток клиентов восьмой год подряд, удвоив свои активы до $918 млрд с 2009 года.

Искусственный интеллект – важный и даже необходимый инструмент для детального анализа обширных потоков цифровых данных, которые генерирует мир в настоящее время. По оценкам IDC, к 2020 году объем цифровых данных достигнет 44 триллиона гигабайтов и будет настолько большим, что если бы весь такой объем был загружен в планшеты iPad Air, стопка таких устройств превысила бы расстояние от Земли до Луны более чем в шесть раз.

Выступая перед многочисленными менеджерами хедж-фондов на прошлой неделе, Эрик Шмидт, председатель правления Alphabet, материнской компании Google, высказал мнение, что через 50 лет не будет торговли без компьютеров, анализирующих данные и рыночные сигналы.

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

Подпишитесь на нашу рассылку, и каждое утро в вашем почтовом ящике будет актуальная информация по всем рынкам.

Искусственный интеллект и машинное обучение в трейдинге

> Дмитрий Лиманов
Интервью с трейдерами
Комментариев нет

Статья переведена и дополнена на основании источника.

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

Ниже приведены выдержки из презентации, которую я провел в прошлом году в Европе в качестве приглашенного докладчика для группы малоизвестных инвесторов и трейдеров с крупным капиталом. Определенная организатором тема была посвящена влиянию искусственного интеллекта (ИИ) и машинного обучения (МО) на торговлю и инвестиции. Выдержки, приведенные ниже, состоят из четырех разделов и охватывают около половины первоначальной презентации.

Общее влияние ИИ и машинного обучения на торговлю

Искусственный интеллект позволяет заменить людей машинами. В 1980-х годах исследования ИИ были основаны, главным образом, на экспертных системах и нечеткой логике. С уменьшением стоимости вычислительной мощности, использование машин для решения широкомасштабных задач оптимизации стало экономически целесообразным. В результате достижений в области аппаратного и программного обеспечения, в настоящее время ИИ ориентирован на использование нейронных сетей и других методов обучения для выявления и анализа предикторов, также известных как функции или факторы, которые имеют экономическую ценность и могут использоваться с классификаторами для разработки прибыльных моделей. Такое конкретное применение искусственного интеллекта обычно называется машинным обучением (англ. machine learning, ML).

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

Обратите внимание на то, что ИИ и МО используются не только для разработки стратегий трейдинга, но и в других областях, например, при разработке алгоритмов поиска ликвидности и предложения портфелей клиентам. Таким образом, по мере распространения применения ИИ, количество людей, участвующих в торговых и инвестиционных решениях, уменьшается, и это очевидным образом влияет на рынки и ценовые маневры. Рано строить предположения об общих последствиях этой новой технологии для отрасли, но возможно, что широкое использование ИИ приведет к созданию более эффективных рынков с более низкой волатильностью на продолжительный период времени, с последующими за этим случайными скачками волатильности вследствие изменений режима. Это становится возможным в связи с тем, что воздействие субъективной оценки информации людьми будет сведено к минимуму, а вместе с ним и связанный с этим шум. Но в этом нам еще предстоит убедиться на практике.

Влияние искусственного интеллекта и машинного обучения на поколение «Альфа»

На этих начальных этапах внедрения технологий ИИ будут доступны возможности для тех, кто понимает его, и знает, как снизить риски. Одна из проблем торговых стратегий, основанными на ИИ, заключается в том, что они могут создавать модели, которые будут хуже случайных. Попытаюсь объяснить, что я имею в виду: традиционный технический анализ — это невыгодный метод трейдинга, потому что стратегии, основанные на графических паттернах и индикаторах, извлекают прибыль из распределения с нулевым средним значением до любых транзакционных издержек. Всегда найдутся трейдеры, оказавшиеся в нужном хвосте распределения, и это создает ложное впечатление о том, что эти методы имеют экономическую ценность. Мои исследования показывают, что в особенности на фьючерсных и валютных рынках трудно достичь долгосрочной рентабельности, вне зависимости от используемого метода. Ведь эти рынки предназначены для того, чтобы приносить прибыль маркет-мейкерам. Тем не менее, в течение более коротких периодов времени некоторые трейдеры могут получить большую прибыль на рынках с использованием кредитного плеча благодаря удачному стечению обстоятельств. Тогда эти трейдеры приписывают свой успех собственным стратегиям и навыкам, а не удаче. Поскольку трейдеры ИИ «хуже случайных» удаляются с рынка, и остаются только те, у кого есть надежные модели, битва за прибыль будет напряженной.

ИИ и МО могут иметь дополнительные последствия, такие как компромисс между смещением и дисперсией. Погрешность анализа данных может привести к возникновению стратегий, которые слишком подогнаны под прошлые данные, но сразу же терпят неудачу, имея дело с новыми, либо слишком простых стратегий, которые не могут улавливать важные сигналы данных, имеющих экономическую ценность. Результатом этого компромисса являются стратегии «хуже случайных» и отрицательный перекос в распределении прибыли таких трейдеров еще до того, как будут добавлены издержки транзакции. Это дает возможность получать прибыль крупным фондам и инвесторам в эпоху после количественного смягчения. Поскольку трейдеры ИИ «хуже случайных» удаляются с рынка, и остаются только те, у кого есть надежные модели, битва за прибыль будет напряженной. Пока слишком рано заниматься домыслами по поводу того, кто победит: ИИ трейдеры или крупные инвесторы.

Также я хотел бы упомянуть о распространенном заблуждении в этой области: некоторые люди считают, что ценность состоит в использовании алгоритмов МО. Это не так. Истинная ценность — в предикторах, также известных как функции или факторы. Алгоритмы МО не могут найти золото там, где его нет. Одна из проблем заключается в том, что большинство профессионалов МО используют одни и те же предикторы и пытаются разработать модели в циклическом режиме, которые приведут к лучшим результатам. На этот процесс влияет погрешность анализа данных и в конечном итоге он терпит неудачу. В двух словах, анализ данных является результатом опасной практики использования данных со многими моделями по нескольку раз до тех пор, пока результаты не будут приемлемы в качестве образцов обучения и тестирования. Мои исследования в этой области показывают, что если простой классификатор, такой как бинарная логистическая регрессия, работает неудовлетворительно с заданным набором предикторов, то весьма вероятно, что экономической ценности не существует. Таким образом, успех зависит от так называемого Feature Engineering (создание параметров, описывающих объекты — прим. переводчика), являющегося одновременно и наукой, и искусством, и который требует знаний, опыта, воображения для создания параметров, имеющих экономическую ценность, и лишь небольшой процент профессионалов может с этим справиться.

Влияние искусственного интеллекта и машинного обучения на технический анализ

Мы должны провести различие между традиционным и количественным техническим анализом, потому что все методы, основанные на анализе показателей цен и объема, относятся к этому вопросу. С самого начала, традиционный технический анализ, то есть графические паттерны, некоторые простые индикаторы, определенные теории Price Action и т.д., не был эффективен. Публикации, рекламирующие эти методы, не считая некоторых недостаточных попыток ограниченного масштаба и охвата, никогда не соответствовали своим долгосрочным статистическим ожиданиям, а лишь обещали, что применение того либо иного правила несет в себе возможность получения прибыли. Поскольку прибыль и убытки на рынках следуют некоторым статистическим распределениям, всегда были те, кто приписывал свою удачу этим методам. В то же время, вся индустрия развивалась вокруг этих методов, потому что им было легко научиться. К сожалению, многие считали, что смогут получать прибыль, эффективнее используя всем известные методы, и результатом этого стала массовая передача состояния этих наивных трейдеров маркет-мейкерам и другим хорошо информированным профессионалам.

Успех зависит от так называемого Feature Engineering, являющегося одновременно и наукой, и искусством, и который требует знаний, опыта и воображения. В начале 1990-х годов некоторые специалисты рынка поняли, что большое количество частных трейдеров вели торговлю, используя эти наивные методы. Некоторые разработали алгоритмы и торговые роботы ИИ, чтобы заранее определить формации, а затем торговать против них, вызывая в процессе волатильность, с которой частные трейдеры, также известные как “слабые руки”, не могли справиться. Более фундаментально провал традиционного технического анализа можно объяснить исчезновением с рынков высокой сериальной корреляции, начиная с 1990-х годов. По сути, это была высокая сериальная корреляция, которая создала ложное впечатление о том, что эти методы работали. В настоящее время, за некоторым исключением, рынки возвратились к среднему уровню, не оставляя места для простых методов технического анализа. Тем не менее, некоторые количественные методы технического анализа часто работают хорошо, такие, как модели возврата к среднему и статистического арбитража, включая алгоритмы МО, использующие функции с экономической стоимостью.

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

Победители и проигравшие в новой технологии трейдинга

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

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

Будущее торговли — это обработка информации, разработка и проверка моделей в режиме реального времени.

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

В Интернете есть отличные ресурсы о МО, ИИ и трейдинге. Лучший способ обучения — попытаться решить несколько практических задач. Но я считаю, что для большинства трейдеров трансформация будет невозможна. Сочетание навыков, необходимых для понимания и применения правил ИИ, исключает 95% трейдеров, привыкших проводить линии на графиках и просматривать скользящие средние.

Инвесторы должны провести свое собственное исследование и обратиться к компетентному финансовому консультанту, который знаком с этими новыми разработками. У каждого инвестора свой уровень неприятия рисков, и в данном случае трудно предложить общие рекомендации. В скором времени получат распространение консультанты-роботы, и выбор того, кто бы соответствовал конкретным потребностям и задачам, может оказаться сложной задачей.

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

Об авторе: Майкл Харрис — трейдер и автор бестселлеров. Он также является разработчиком первого коммерческого программного обеспечения для идентификации моделей ценовых паттернов Price Action 17 лет назад. В течение последних семи лет он работал над разработкой DLPAL — программного обеспечения, которое может использоваться для выявления краткосрочных аномалий в рыночных данных для использования с моделями стационарного и машинного обучения.

Машинное обучение для Форекс

Разработчик с ютуб-ником Greer Viau показывает, как обучал нейросеть играть в «Змейку» с помощью эволюционного подхода. Сначала всё предсказуемо плохо: нейронка ничего не понимает и не знает, чего от нее хотят.

Постепенно она обучается есть еду и избегать стен.

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

Важно понимать, что нейросеть понятия не имеет, что вообще происходит. Всё, что она знает — это расстояние до ближайшей стены, расстояние до еды и до собственного хвоста. Она даже не видит игровое поле так, как видим его мы.

_______________________
Позаимствовано с Дзена, баянометр выдавал какую-то хрень

Компьютерных человечков обучили игре в прятки. Соревнование привело к тому, что все поумнели

Некоммерческая лаборатория OpenAI, созданная в 2015 году при участии Илона Маска, продолжает экспериментировать с искусственным интеллектом. В этот раз ее сотрудники обучили компьютер игре в прятки. Для этого они разместили на небольшой виртуальной площадке синих и красных человечков. Синие прятались, а красные — искали своих противников.

Правила игры со временем усложняли: синей команде давали фору, менялось количество участников, на карту добавляли дополнительные объекты — например, ящики и трамплины. Со временем синие человечки поняли, что могут укрываться за ящиками. С их помощью они даже отгораживались от своих соперников. В свою очередь красные научились обходить препятствия и перебираться через виртуальные стены, используя все те же ящики.

При этом сотрудники OpenAI не программировали подобное поведение. Искусственный интеллект дошел до всего сам — на это понадобилось более миллиона игр. Его действия основывались на алгоритмах, схожих с алгоритмами человеческого поведения.

Хитрец

ИИ, созданный для игры в прятки, научился прятать тех, кто ищет, вместо того, чтобы прятаться самому.

Нейросеть быстро уберет фон на фотографии

Если вам по роду деятельности или просто внезапно нужно быстро убрать фон, а фотошопа под рукой нет, то сегодня я нашел такой полезный сервис основанный на нейронной сети. Фон убирает в большинстве случаев почти идеально, но только с людьми. Животных распознает, но не всегда и иногда не точно. Пробуйте сами адрес сайта: https://www.remove.bg

Этого человека не существует

Разработчик Uber Филипп Ванг запустил сайт thispersondoesnotexist, на котором раз в несколько секунд генерируется человеческое лицо с помощью алгоритма генеративных нейронных сетей StyleGAN, разработанного Nvidia.

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

Разработчику удалось преодолеть эффект «зловещей долины» благодаря генеративной нейронной сети — это комбинация из двух нейросетей. Первая генерирует изображение, а вторая пытается определить, насколько оно реалистично. Обучение GAN продолжится до тех пор, пока нейросеть-генератор не обманет нейросеть-судью.

Теперь, когда на пикабу вас попросят скинуть фотку, просто кидайте ссылку на сайт, а там как повезёт. 🙂

Искусственный интеллект научился скрытно жульничать на заданиях

Группа ученых из Google и Стенфордского университета использовали нейронную сеть для преобразования воздушных фотографий в навигационные карты, и обратно (обратное преобразования использовало только полученную ранее карту, без доступа к исходному снимку). Это позволило бы сервисам вроде Google Maps более быстро создавать и обновлять карты из снимков с воздуха. Обратное преобразование же было нужно, чтобы было легче сверять результат с оригиналом, и тем самым проверять качество работы нейронной сети.

Ученые отметили, что программа работает хорошо. слишком хорошо. На воссозданном снимке были детали, которые должны были потеряться в результате первичного преобразования снимка в карту. Например, уличные фонари и прочие элемента ландшафта, которые не были нанесены на карту, волшебно возвращались на место при обратном преобразовании.

В итоге оказалось, что нейронной сети, вместо того чтобы придумывать, как лучше преобразовать «чистую» карту в спутниковый снимок, оказалось легче вставлять скрытые «шпаргалки» в изначально созданную карту, которые содержали скрытую информацию для обратного преобразования — такую, как мельчайшие изменения в цвете пикселей, незаметную глазу человека.

На предыдущей картинке показана разница между «обычной» картой сделанной в Google Maps (a), и картой нейронной сети, созданной из воздушного снимка (b). Между первой и второй есть зашифрованная информация (c), используя которую, можно преобразовать карту обратно в снимок (d). Разница (с) искуственно преувеличена для анализа — в реальных снимках она настолько незаметна, что даже в выделенном формате человек бы ее не заметил.

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

Фотошоп-мастерам на заметку

NVIDIA продемонстрировала искусственный интеллект способный в реальном времени преобразовать рисунок в Paint в фотореалистичное изображение.

Видео с комментариями:

Статья в блоге NVIDIA и репозиторий в котором «скоро» будет исходной код.

Докажите, что вы не человек

Билайн Россия первым в России совместно с «Лиза Алерт» разработал нейросеть для поиска пропавших людей

Состоялось то, чего мы очень ждали и о чём мечтали: Билайн представил решение «Beeline AI — Поиск людей» на базе нейросети для обработки фотографий, полученных с беспилотных летательных аппаратов (БПЛА) в местах поиска пропавших людей. Эта технология, разработанная совместно с нами, позволит сократить время на просмотр и сортировку полученных с БПЛА снимков в 2,5 раза. В дальнейшем технология будет адаптироваться к специфике поиска и совершенствоваться.

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

Анализ снимков — процесс трудоемкий: на это нужно не только много времени, но и достаточное количество людей, готовых отсматривать фотографии. Для привлечения к этой работе большого количества добровольцев отряд создал специальный ресурс watcher.lizaalert.ru , где люди, физически не принимающие участие в поиске, могут помогать отряду онлайн – находясь дома или в офисе у компьютера. Но люди устают, и отсматривать снимки в течение нескольких часов, не снижая эффективности, – задача почти невыполнимая, а цена ошибки, как вы понимаете, очень высока.

С одного дня поисков с помощью дронов отряд получает порядка 2500 фотографий, на проверку которых группа из 30 человек тратит в среднем 5-7 часов. Благодаря «Beeline AI — Поиск людей» время на анализ 1 фотоизображения занимает 2-3 секунды, что позволяет сократить процесс сортировки всего контента до 1-2,5 часов в зависимости от количества фотографий. По мере обучения нейросети скорость и точность ее работы будет расти. Важная особенность нейросети – это её способность обучаться распознавать объекты на снимках, сделанных с высоты от 40 до 100 метров, с высоким уровнем визуального «шума» — деревья, природный ландшафт, сумерки и т.д.

Первоочередная задача «Beeline AI — Поиск людей» — убрать «пустые» и неинформативные фотографии, на которых точно нет человека или атрибутов, указывающих, что в этом месте был человек. Это позволяет группе анализа сразу сосредоточиться на потенциально результативных снимках.

Первичные тесты совместно с отрядом «Лиза Алерт» показали, что точность модели на тестовых изображениях приближается к 98%. Потенциально нейронная сеть способна находить людей и предметы во всех местах поиска, таких как лес, болота, поля, города, независимо от времени года и одежды человека, так как алгоритм настраивается на работу в любое время года и сможет распознавать нестандартное положение тела в пространстве, например, сидящего, лежащего или частично прикрытого листвой.

Мы очень рады, что у нас снова есть повод сказать огромное спасибо нашему замечательному и давнему другу – Билайну, при поддержке которого у нас функционирует бесплатная горячая линия, осуществляется смс-рассылка с информацией о поисках и действуют островки безопасности для потерявшихся детей! Мы видели, как сотрудники Билайна, разрабатывающие для нас эти решения, болеют душой за результат, понимая, что они создают инструменты для спасения человеческих жизней. Мы хотели бы поблагодарить всю команду, участвовавшую в разработке этого крайне важного для нас проекта, и лично Евгению Чистову, руководителя по корпоративной социальной ответственности ПАО «Вымпелком» (Билайн), которая давно стала настолько близким другом «Лиза Алерт», что мы считаем её таким же, как мы, представителем отряда.

ИИ научился создавать видео с одного кадра. Старые картины теперь можно сделать живыми

Технология из Гарри Поттера дошла до наших дней. Теперь для создания полноценного видео человека достаточно одной его картинки или фотографии. Исследователи машинного обучения из «Сколково» и центра Samsung AI из Москвы опубликовали свою работу о создании такой системы, вместе с целым рядом видео знаменитостей и предметов искусства, получивших новую жизнь.

Текст научной работы можно почитать тут. Там всё довольно интересно, с массой формул, но смысл прост: их система руководствуется «ориентирами», достопримечательностями лица, вроде носа, двух глаз, двух бровей, линии подбородка. Так она мгновенно улавливает, что человек собой представляет. И потом может переносить всё остальное (цвет, текстуру лица, усы, щетину и прочее) на любое другое видео человека. Адаптируя старое лицо к новым ситуациям.

Разумеется, это пока работает только на портретах. Модели нужен только один человек, с лицом, повернутым к нам, чтобы у него было хотя бы видно оба глаза. Тогда система может делать с ним что угодно, передавать ему любую мимику. Достаточно дать ей подходящее видео (с другим человеком с головой примерно в том же положении).
Ранее ИИ уже научился делать дипфейки, и интернет-пользователи знатно поиздевались над знаменитостями, вставляя их лица в порно и делая мемы с Николасом Кейджем. Но для этого им приходилось тренировать алгоритмы мегабайтами (а лучше – гигабайтами) данных, находить как можно больше изображений и видео с лицами знаменитостей, чтобы выдать более-менее пристойный результат. Сам создатель Deepfakes говорил, что на компиляцию одного короткого ролика у него уходит 8-12 часов. Новая система генерирует результат моментально, а на входе ей достаточно одной картинки.
С предыдущей системой мы никогда бы не смогли посмотреть на живую Мону Лизу, у нас есть только один её ракурс. Теперь, с алгоритмами, работающими по ориентирам, это становится возможным. Идеала не достичь, но уже что-то близко.

В работе московских исследователей также используется генеративно-состязательная сеть. Две модели алгоритма сражаются друг с другом. Каждая пытается обмануть оппонента, и доказать ему, что то видео, которое она создает – настоящее. Так достигается определенный уровень реализма: картинка человеческого лица не выпускается «в свет», если модель-критик не уверена в её подлинности более чем на 90%. Как говорят авторы в своей работе, в изображениях регулируются десятки миллионов параметров, но за счет такой системы, работа кипит очень быстро.

Если картинок несколько, результат улучшается. Опять же, проще всего получается работать со знаменитостями, которые уже сняты со всех возможных ракурсов. Для достижения «идеального реализма» нужны 32 снимка. В этом случае сгенерированные ИИ фото в невысоком разрешении будут неотличимы от настоящих фото человека. Нетренированные люди на этом этапе уже не способны выявить фейк – возможно, шансы остаются у экспертов или у близких родственников «подопытного» со всех этих изображений.
Если фото или картинка только одна, итог пока не всегда самый лучший. Увидеть артефакты на видео, когда голова находится в движении, можно без особых проблем. Сами исследователи говорят, что их самое слабое место – взгляд. Модель, основанная на ориентирах лица, пока не всегда понимает, как и куда человек должен смотреть.

Нейронная сеть сгладила кинохронику Первой мировой войны, позволив замедлить скорость до настоящей

«Статья про минет»: ученые обработали 109 часов орального секса, чтобы разработать ИИ, который сосет член

Анонимные специалисты по машинному обучению написали «статью про минет», чтобы сделать эту машинку для отсоса более реалистичной.

Autoblow AI, секс-игрушка для пользователей с пенисом, состоит из резинового рукава и расположенного внутри корпуса электродвигателя, и пытается имитировать оральный секс. Ее кампания на Indiegogo была запущена на прошлой неделе и быстро достигла своей цели в 50 000 $. Ее главное преимущество над предыдущей моделью, Autoblow 2, выпущенной в 2014 — это алгоритм машинного обучения, который «постоянно меняет технику», чтобы удовлетворить пользователя новыми способами.

Вместо повторяющихся, механических движений, этот «режим искусственного интеллекта» обещает воспроизвести сложные и непредсказуемые движения настоящего, человеческого минета. Чтобы сделать это, компания попросила команду из шести человек просмотреть и аннотировать 109 часов порно и наняла специалистов по машинному обучению, чтобы создать модель, обрабатывающую эти данные и транслирующую их в то, что делает игрушка. Вся работа заняла три года.

Результатом исследования стала «Статья про минет», исследование (очевидно, не рецензировавшееся), наполненное сексуальными — или хотя бы имеющими отношение к сексуальной теме — алгоритмическими исследованиями: «В этой работе мы пытаемся количественно описать „общие“ или „типичные“ движения в оральном сексе, выполняемом на мужчинах» — так начинается статья. «Чтобы сделать это, мы анализируем набор данных, содержащий более 108 часов порнографического видео, каждый кадр которого аннотирован позицией губ на стволе пениса. Мы используем технику квантизации, чтобы обнаружить шестнадцать различных движений, и используя эти движения, мы разрабатываем и оцениваем систему, которая процедурно генерирует реалистичные последовательности движений, используя глубокое обучение. Мы количественно показываем, что эта система превосходит простые методы, основанные на цепях Маркова».

У меня не было проблем с этим

Я спросил Брайана Слоана (Brian Sloan), разработчика Autoblow AI, о его попытке нанять серьезных ученых для работы над дрочильной машинкой. Его предложение было прямым и лишенным намеков:

«Я сказал им, что разрабатываю секс-игрушку для мужчин, воссоздающую ощущения от минета и спросил, могут ли они использовать ИИ, чтобы изучить, что на самом деле происходит во время минета, чтобы мое устройство могло делать минет, как человек,» — Слоан написал мне в электронном письме. «Этого было достаточно, чтобы семь компаний практически сразу сказали мне, что „эта работа не для них“. Когда я спросил, почему, они не захотели ответить.»

Восьмая команда ответила «да», и написала «Статью про минет», за которую получила, по словам Слоана, 30 000 $. Но несмотря на прекрасные вычисления и методы сбора данных, в этом исследовании, очевидно, отсутствует одна вещь — имена авторов. В статье нет имен, не упомянуты исследовательские группы или учреждения, ответственные за работу. Ученые выполнили работу анонимно, так как считали, что другие клиенты могут отказаться от сотрудничества с ними, если об этой работе станет известно.

«Статья про минет» начинается с нескольких диаграмм и графиков, описывающих, как исследователи количественно оценили движения, полученные из видео с оральным сексом и преобразовали их в различные движения, предлагаемые Autoblow. Среди них — кластерные диаграммы, представляющие различные действия, включая паузы, управление оргазмом, игру с головкой и «глубокую глотку».

Исследователи разработали архитектуру плотной нейронной сети (dense neural network, DNN), которая предсказывает следующее движение исполнителя минета на основе анализа предыдущих движений, примерно так же, как работает предиктивный ввод текста в вашем телефоне.

Копич собрал команду из шести человек, чтобы извлечь данные про минет из порнороликов. Это не были специалисты по статистике или машинному обучению, просто друзья и доверенные лица, желающие помочь с абсурдным заданием. Они создали систему для аннотирования 109 часов видео про минет — всего 1200 видеороликов с оральным сексом — при помощи анимированной рисованной головы на полосе прокрутки, положение которой можно было менять мышкой во время просмотра порнороликов. Копич сообщил мне в электронном письме, что голову назвали Слайдерменом.

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

«Если они так открыто хотели работать над автоматизацией минета с помощью ИИ, зачем оставаться анонимными?» — спросил я. Мне ответили, что связались с некоторыми из своих клиентов и спросили, не будет ли проблемой участие в этой работе и публичная ассоциация с ней.

«Ответ был удивительным,» — сказали ученые: «Корпорации не хотят никакой связи с подобными вещами. Для них это неприемлемо, и они видят это, как пиар-кошмар. Поэтому я остался анонимным. На личном уровне я не увидел несогласия, а на корпоративном уровне это считается проблемой. Для понимания контекста — мы много работаем с финансовыми и правительственными организациями. От них мы и получили запрет.»

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

Помимо математики, это доступный и понятный пример того, как ИИ встраивается в повседневные продукты, такие, как автодополнение электронных писем и поиск Google. Они изучают наш прошлый опыт, и в теории Autoblow AI ничем не отличается. Он просто обучается на примере порнографии.

Анонимные ученые также сообщили мне, что проект для них оказался не бесплодным. «Я понял, что сверточные нейронные сети очень гибкие, и то, что ИИ может понять настолько высокоуровневую идею, как минет, в чем-то удивительно. Я чувствую, что мы действительно используем самые передовые технологии, применяя библиотеки, которых еще не существовало шесть месяцев назад.»

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

«Секс-игрушки доступны повсюду в развитых странах. Очевидно, люди хотят эти вещи, и они будут становиться умнее по мере того, как ученые и инженеры вроде меня будут делать свою работу,» — сказали они мне: «Это общая картина. Есть, разумеется, и чисто технические улучшения того решения, которое мы построили для этой конкретной секс-игрушки, например, лучшая процедурная генерация имитируемого минета, и другие вещи, помимо минета. Мы обнаружили, например, что анальный секс тоже распознается таким образом.»

Мошенники подделали голос директора компании с помощью ИИ и заставили подчинённого перевести им 243 тысячи долларов

Эксперты назвали инцидент первым киберпреступлением, совершённым с помощью имитации голоса.

В марте 2020 года мошенники обманом заставили подчинённого британской компании перевести им 243 тысячи долларов (более 15 миллионов рублей), используя сымитированный с помощью искусственного интеллекта голос его руководителя. Об этом сообщил The Wall Street Journal со ссылкой на страховую компанию Euler Hermes Group, которая возместила убытки пострадавшим и отказалась указывать названия компаний.

Генеральный директор британской энергетической фирмы думал, что разговаривал по телефону со своим начальником, исполнительным директором немецкой головной компании. Босс попросил его срочно, в течение часа, перевести 243 тысячи долларов венгерскому поставщику.

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

Деньги ушли на счёт венгерского банка, затем были переведены в Мексику и дальше разошлись по разным местам. Детективам не удалось обнаружить ни одного подозреваемого. Неизвестно, использовали ли преступники роботов, чтобы сгенерированный голос мог самостоятельно реагировать на вопросы жертвы.

Полиция и эксперты по кибербезопасности ещё в 2020 году предсказывали, что преступники начнут использовать ИИ для автоматизации кибератак. Рюдигер Кирш (Rüdiger Kirsch), эксперт по мошенничеству в Euler Hermes, отметил, что никогда не сталкивался с мошенниками, которые использовали бы ИИ.

Инцидент стал первым подобным зарегистрированным преступлением в Европе, отметил Филипп Аманн (Philipp Amann), глава безопасности в Европейском центре киберпреступности. Он подчеркнул, что хакеры, скорее всего, начнут чаще использовать технологию, если она позволяет успешно совершать преступления.

Кирш полагает, что мошенники использовали коммерческую программу для генерации голоса. С помощью подобного сервиса он записал собственный голос и отметил, что имитация звучала как настоящая. Существует несколько компаний, продающих программы, позволяющие быстро имитировать голос, отметил Бобби Филар (Bobby Filar), директор компании Endgame, занимающейся анализом данных: «Вам не нужна докторская степень по математике, чтобы её использовать».

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

Технологии машинного обучения, с помощью которых можно имитировать голоса, позволяют намного проще совершать киберперступления, считает глава исследовательского центра ИИ и роботов в институте ООН по вопросам преступности и правосудия Иракли Беридзе (Irakli Beridze). Он изучает способы, позволяющие распознавать фейковые видео. Беридзе считает, что DeepFake-ролики станут ещё более удобным инструментом для хакеров: «Представьте видео-звонок с голосом и выражением лица вашего начальника. У вас не возникло бы никаких сомнений».

Лучшие брокеры с бонусами:
  • Evotrade
    ☆☆☆☆☆
    ★★★★★
    Evotrade

    Бонусы для новых трейдеров до 5000$!

  • BINARIUM
    ☆☆☆☆☆
    ★★★★★
    BINARIUM

    Лучший брокер по бинарным опционам. Огромный раздел по обучению.

Добавить комментарий