Машин лернинг что это – Машинное обучение на практике. Опыт применения облачных технологий и машин-лернинга в крупном проекте — «Хакер»

Содержание

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

Что такое машинное обучение

Machine Learning (ML, с английского – машинное обучение) — это методики анализа данных, которые позволяют аналитической системе обучаться в ходе решения множества сходных задач. Машинное обучение базируется на идее о том, что аналитические системы могут учиться выявлять закономерности и принимать решения с минимальным участием человека.

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

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

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

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

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

Вот хороший пример от гугловского DeepMind:

DeepMind от Google самостоятельно научился ходить

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

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


Для чего используется машинное обучение

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

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

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

Похожую систему использует Google, чтобы подбирать релевантную рекламу, и у него такие же проблемы – стоит поискать информацию о том, какие виды велосипедов бывают, как Google тут же решит, что пользователь хочет погрузиться в эту тему с головой. Тем же самым занимается и «Яндекс» в своем сервисе «Дзен» – там МО используется для формирования ленты, точно так же, как и в Twitter, Instagram, Facebook, «ВКонтакте» и других социальных сетях.

Вы также могли работать с голосовыми помощниками вроде Siri – они используют системы распознавания речи, основанные на ML. В будущем они могут заменить секретарей и операторов кол-центров. Если вы загорелись этой идеей, можете попробовать сервис аудиоаналитики Sounds от Mail.Ru.

Есть и другие примеры использования систем с машинным обучением:

То есть применение МО может быть самым разным. И даже вы можете использовать его в своих приложениях – для этого понадобится приобрести, настроить и поддерживать инфраструктуру обучения машинных моделей. Альтернатива — воспользоваться готовыми средствами машинного обучения на платформе Mail.Ru Cloud Solutions.

Каким бывает машинное обучение?

Всего есть 3 вида машинного обучения:

  1. С учителем (Supervised machine learning).
  2. Без учителя (Unsupervised machine learning).
  3. Глубокое обучение (Deep learning).

С учителем (Supervised machine learning)

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

Учителем выступает человек, который вбивает в компьютер данные. Допустим, он внес в базу следующую таблицу:

Имя ученикаКлассIQПолСклад умаВозрастПредмет с самой высокой успеваемостью
Олег8120МужскойТехничес­кий15Геомет­рия
Виктория8100ЖенскийТворчес­кий15Литера­тура
Иван8110МужскойГуманитар­ный 14История
Игорь8105МужскойТехничес­кий15Физика
Мария8120ЖенскийГуманитар­ный14Литера­тура

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

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

Так, например, программы учат распознавать объекты на фотографиях – программа просматривает миллионы изображений с описанием того, что на них изображено (дерево или облако). Она находит общие черты и уже сама учится давать описания изображениям. Учитель показывает изображение без описания, а программа спрашивает «это дерево?». Если человек отвечает утвердительно, программа понимает, что сделала правильные выводы. Хороший пример такой системы – облачный сервис для встраивания в приложения машинного зрения Vision на платформе Mail.Ru Cloud Solutions.

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

Без учителя (Unsupervised machine learning)

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

Поэтому обучение на играх – это один из самых эффективных способов машинного обучения. Вот более простой пример – программа получает данные о том, как далеко от нее находятся какие-то объекты, и может выбрать, как лучше перемещаться в игре «Змейка», чтобы получить больше очков:

Искусственный интеллект учится играть в «Змейку»

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

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

Также нейросети могут обучаться не самостоятельно, а в паре. Так работает генеративно-состязательная сеть (GAN). Она состоит из сетей G и D – первая на основе реальных изображений генерирует образцы, а вторая пытается отличить подлинные образцы от неправильных.

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

Глубокое обучение (Deep learning)

Глубокое обучение может быть как с учителем, так и без, но оно подразумевает под собой анализ Big Data – настолько большой информации, что одного компьютера будет недостаточно. Поэтому Deep Learning использует для работы нейронные сети.

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

Это можно рассмотреть на примере систем распознавания объектов:

  1. получение изображения;
  2. выявление всех точек;
  3. нахождение линий, построенных из точек;
  4. построение простых фигур с помощью линий;
  5. составление сложных фигур из простых и так далее.

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

Я нейросеть, я так вижу

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

Затем Норману предложили пройти тест Роршаха, чтобы сравнить его ответы с ответами других ИИ – где одни видели цветы, животных и зонты, Норман видел мертвых мужчин и женщин, убитых самыми разными способами.

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

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

Примечательно: Как уже говорилось выше, многие выдают за ИИ обычные программы. Яркий пример – Deep Blue, суперкомпьютер, который обыграл Гарри Каспарова 11 мая 1997 года. На самом деле шахматная система перебирала позиции из двух дебютных книг, сравнивала их с текущей партией и выбирала оптимальный вариант.

Однако шахматный искусственный интеллект все же существует – программа AlphaZero, запущенная в декабре 2017 года. Всего за 24 часа нейросеть научилась играть в шахматы на таком уровне, что смогла обыграть одну из лучших шахматных программ – Stockfish – с разгромным счетом (+28 – 0 = 72). А в декабре 2018 г. в новом матче из 1000 партий нейросеть выиграла 155 партий, проиграла 6 и свела вничью 839. Тесты показали, что Stockfish сумел лидировать в счете, только когда ему дали в 30 раз больше времени, чем нейросети.

Как начать разбираться в машинном обучении

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

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

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

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

Лучше всего обучаться этому системно, поэтому можно пройти курс «Машинное обучение» в Coursera или поступить на факультет искусственного интеллекта в GeekBrains, а также ознакомиться с 10 обязательными к прочтению книгами о машинном обучении (на английском).

Machine learning, deep learning. Что это? Зачем это?

Сейчас многие интернет-СМИ декларируют очередной бум технологий в области искусственного интеллекта.

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

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

Так ли это?

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

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

Вашему вниманию представляю порцию терминов, связанных с данными технологиями:

  • Машинное обучение (от англ. – machine learning) – алгоритмы, позволяющие компьютеру делать выводы на основании данных, не следуя определенным правилам.

Принято выделять 2 направления: 

1.     Обучение на основе выявления закономерностей в данных.

2.     Обучение, основанное на формализации знаний экспертов и их перенос в виде базы знаний.

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

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

  • Глубинное обучение (от англ. – deep learning) — набор алгоритмов машинного обучения, в которых понятия более высокого уровня определяются на основе понятий более низкого уровня.

Machine learning, deep learning. Что это? Зачем это?

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

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

Ключевыми характеристиками такой системы являются чувствительность и разрешение.

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

  • Обработка естественного языка – способность машины работать с текстом, извлекая смысл, так как это делают люди.

Данные технологии открывают возможности для создания нового класса машин – решающих когнитивные задачи.

Данные технологии смогут существенно повысить качество жизни человека.

Также в данном направлении имеет место высокая инвестиционная активность со стороны венчурных инвесторов. Стартапы, работающие в области машинного обучения, активно финансируются венчурными фондами, такими как Data Collective. WorkDay’s Machine Learning fund,и Bloomberg Beta, а также крупными российскими и зарубежными корпорациями. В настоящее время Сбербанк и Google на регулярной основе анонсируют мероприятия и хакатоны с фокусом в данном сфере.

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

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

Машинное обучение имеет широкий спектр приложений:

  • Распознавание речи

  • Распознавание жестов

  • Распознавание рукописного ввода

  • Распознавание образов

  • Техническая диагностика

  • Медицинская диагностика

  • Прогнозирование временных рядов

  • Биоинформатика

  • Обнаружение мошенничества

  • Обнаружение спама

  • Категоризация документов

  • Биржевой технический анализ

  • Финансовый надзор

  • Кредитный скоринг

  • Предсказание ухода клиентов

  • Хемоинформатика

  • Обучение ранжированию в информационном поиске

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


робототехника искусственный интеллект Машинное зрение Машинное обучение

что такое machine learning и как им овладеть — T&P

Смартфоны и компьютеры круглосуточно собирают информацию о поведении и предпочтениях каждого из нас, а размеры баз крупных онлайн-магазинов, банков и международных сотовых операторов измеряются десятками, а то и сотнями терабайт. Данные позволяют находить неожиданные связи, предсказывать выгодные шаги или делать открытия. Прежде полноценный анализ таких масштабов был невозможен из-за недостатка мощности и подходящих инструментов, но сейчас у нас есть облачные платформы серверов, фабрики GPU и специализированные программы, поэтому машинное обучение (и data science в целом) переживает мощный взрыв интереса. Рассказываем, что нужно знать (и где получить эти знания), чтобы начать путь в этой области.

Простой анализ может показать, что твиттер президента Трампа ведут президент и его помощник, причем Трамп ответственен за наиболее сердитые твиты. Методы машинного обучения позволяют делать более сложные выводы. Система получает миллионы записей или объектов, обнаруживает в данных закономерности и использует их, чтобы предсказывать свойства новых данных. Если упрощать, системы машинного обучения учатся на данных, словно ребенок, который пытается отличить кошку от собаки, делая все новые попытки, пока не поймет, чем они отличаются, и не станет их узнавать в любом виде. Вот только в случае c machine learning примеров — миллиарды, а скорость такого обучения значительно быстрее, чем человек может себе представить.

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

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

С учителем и без: каким бывает машинное обучение

Адам Гейтгей в популярной серии постов о машинном обучении приводит хороший пример. Предположим, вы риелтор, продающий дома. За время работы у вас выработалось чутье, которое подсказывает, сколько стоит тот или иной дом, но передать это чутье новым сотрудникам не выйдет. Однако у вас есть статистика, показывающая, какие дома за сколько были проданы в прошлом. Входные характеристики дома — количество спален, район, площадь — и итоговая цена хорошо известны. Вы загружаете эти данные в алгоритм — и он вычисляет вес каждой характеристики дома на основании массива продаж. После этого машина делает предположение о стоимости нового, отсутствующего в базе дома. Это называют обучением с учителем (supervised machine learning): вы сами уже знаете соотношение, влияющее на цену, и позволяете компьютеру его рассчитать. У вас есть X и Y, а компьютер лишь находит связывающую их закономерность.

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

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

© tampatra / iStock

От НАСА до лесов Амазонии: где применяется machine learning (и нужно ли оно вам)

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

Движки рекомендаций используют и музыкальные сервисы — например, Spotify. С помощью machine learning можно определить жанр песни (анализируя уровни сигнала), на основе предыдущих лайков пользователя предложить ему песню, которая с высокой вероятностью его заинтересует, или на базе проигранного создать список похожих треков. Рекомендационные системы и изменение ленты на основе алгоритмов машинного обучения используются в Mail.ru, Facebook, Twitter, VKontakte, Instagram. Нельзя не упомянуть бизнесы, связанные с интернет-торговлей: так, до 35% выручки Amazon — заслуга рекомендательного сервиса (не говоря уж о том, что компания сама — поставщик сервисов и серверов для машинного обучения).

Голосовые помощники онлайн-сервисов и операционных систем — еще одна область применения machine learning. «Алиса» от «Яндекса», «Сири» от компании Apple, «Кортана» от Microsoft, яндексовская умная колонка и механизмы зарубежных умных домов — все они занимаются распознаванием речи и пытаются понять, что имел в виду пользователь. По мере прогресса «обучения» алгоритмов улучшается и их понимание семантики языка.

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

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

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

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

Стоит упомянуть и такую активно развивающуюся и богатую индустрию, как компьютерные игры. Машинное обучение и искусственный интеллект активно вторгаются в область разработки игр, и эксперты предрекают еще большее проникновение предиктивных алгоритмов в ближайшем будущем. Машинное обучение помогает в автоматической анимации фигурок и объектов и анимации лиц, улучшает искусственный интеллект противников, частично используется в генерации уровней и помогает адаптировать мобильные игры под нужды пользователя. И это не говоря о другой стороне процесса — маркетинговых исследованиях free-to-play игр и улучшения их механик за счет анализа пользовательского поведения, предсказаний оттока игроков и тестирования новых фич. Мобильных приложений с использованием нейронных сетей тоже выпущено немалое количество — от добавления смешных ушек в Snapchat до умных клавиатур, состаривания лиц и преобразования фото.

Чемпионы в использовании машинного обучения — соцсети и поисковики. Например, Twitter умеет оптимизировать превью фотографий пользователя так, чтобы показывать самый интересный и важный элемент (а не пол или стену), анализировать эмоциональную окрашенность твитов (и использовать эти данные в маркетинговых исследованиях) — а еще предсказывать по твитам эпидемии. Google задействует его в самых разных сферах: формировании поисковой выдачи, анализе маркетинговой информации, управлении облачными серверами, переводе, распознавании образов, отлавливании спама в почте и соцсетях, построении маршрутов на картах и даже определении музыки, которая играет рядом с пользователем. Но не стоит думать, что машинное обучение — специфика IT-гигантов: крупные промышленные компании — тоже владельцы гигантских баз данных. Например, свое отделение машинного обучения есть у «Газпрома». Нефтяные компании постоянно собирают данные с датчиков в скважинах, а machine learning позволяет быстрее и эффективнее решить, как изменить способ добычи в зависимости от состояния скважины.

© tampatra / iStock

Кандидатский минимум: без чего нельзя стать специалистом по machine learning

Базовый набор для специалиста по машинному обучению таков:

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

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

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

Знание хотя бы одного популярного языка программирования. Если вы новичок, начните с Python — это самый востребованный и удобный для ML-специалиста язык, его знания требуют работодатели, а кроме того, он прост в освоении. Но это не значит, что он единственный. Если вы квалифицированный программист, подберите инструмент под себя. Работать с машинным обучением можно на R, излюбленном аналитиками и специалистами баз данных, на Java, на Javascript, C++ , подходят Scala, SAS и т. д. Язык тут — инструмент для создания моделей, а не определяющий фактор.

© tampatra / iStock

Михаил Левин

директор по машинному интеллекту в «Яндекс.Маркете», преподаватель ШАД

Область машинного обучения очень перспективна, и начать карьеру в ней не так сложно, как может показаться на первый взгляд. Есть множество курсов и образовательных проектов, где вам помогут профессионалы в этой области. Например, наша Школа анализа данных (ШАД) существует уже 11 лет. При приеме мы проверяем знания математического анализа, линейной алгебры, теории вероятностей и базовых алгоритмов — все это необходимо, чтобы глубоко изучить machine learning. Другие предметы, которые будет изучать студент ШАДа, зависят от выбранного им направления: например, у тех, кто хочет стать разработчиком machine learning, в обязательной программе есть язык C++, а у тех, кто менее склонен к разработке систем и более склонен к аналитике, — Python.

© tampatra / iStock

Где изучать machine learning

Для выпускников и начинающих специалистов отличным опытом может стать интернатура: про программы стажировки часто не знают либо недооценивают их — а это отличная возможность получить работу и увидеть применение алгоритмов на практике. На IT-рынке сейчас огромный дефицит ML-специалистов, поэтому компании периодически проводят обучение студентов с последующим трудоустройством или берут интернов/стажеров. Например, этим занимается «Яндекс», EPAM, Сбербанк и др.

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

© tampatra / iStock © tampatra / iStock

Курс «Машинное обучение» от Эндрю Ына

Если вы хотите понять, что такое машинное обучение и какие математические модели за ним стоят, то нет ничего лучше этого классического, объемного и в своем роде легендарного курса. Профессор Стэнфорда Эндрю Ын рассказывает о линейной и логистической регрессии, базе нейронных сетей, поиске аномалий и разных типах машинного обучения с квалификацией признанного эксперта. Пока это эталон. Кстати, недавно вышел его курс по Deep Learning для тех, кто хочет углубления знаний.

© tampatra / iStock

Курсы от Google

Компания всячески популяризует машинное обучение — ведет множество курсов на разных платформах, рассказывает о новых проектах в блоге. Бесплатный Machine Learning Crash Course дает основы machine learning на реальных примерах — от диагностики рака до исследования литературы XVIII века. Другой вариант — серия курсов по работе с облачной платформой Google, которая используется для машинного обучения.

© tampatra / iStock

Обзорные курсы от Kaggle

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

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

© tampatra / iStock

DataCamp

Это сайт, целиком посвященный data science, есть на нем и курсы по машинному обучению. Плюсы DataCamp в том, что курсы 1) несложные, 2) практически ориентированные. Можно построить простую модель, которая на основе предыдущих выборов пользователя предположит, какая спортивная машина будет популярной, а какая провалится в продаже, а можно рассмотреть применение моделирования в финансах или настройку нейронных сетей. На Datacamp есть курсы как под Python, так и под R. Почти все преподаватели — активно работающие в области data science специалисты. Полный доступ к платформе стоит $27 в месяц, которого вполне может хватить для ликбеза.

© tampatra / iStock

Еще больше курсов

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

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

Еще больше курсов ищите в нашей подборке.

Машинное обучение для людей :: Разбираемся простыми словами :: Блог Вастрик.ру

💰 Спонсоры статьи: Фонд развития онлайн-образования

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

💰Специализация Data Scientist on SkillFactory

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

Снова разберём на Олегах.

Предположим, Олег хочет купить автомобиль и считает сколько денег ему нужно для этого накопить. Он пересмотрел десяток объявлений в интернете и увидел, что новые автомобили стоят около $20 000, годовалые — примерно $19 000, двухлетние — $18 000 и так далее.

В уме Олег-аналитик выводит формулу: адекватная цена автомобиля начинается от $20 000 и падает на $1000 каждый год, пока не упрётся в $10 000.

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

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

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

Так родилось машинное обучение.

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

Итак, если мы хотим обучить машину, нам нужны три вещи:

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

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

За хорошими наборами данных (датасетами) идёт большая охота. Крупные компании, бывает, раскрывают свои алгоритмы, но датасеты — крайне редко.

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

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

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

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

Искусственный интеллект — название всей области, как биология или химия.

Машинное обучение — это раздел искусственного интеллекта. Важный, но не единственный.

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

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

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

Вот что машины сегодня умеют, а что не под силу даже самым обученным.

Машина можетМашина не может
ПредсказыватьСоздавать новое
ЗапоминатьРезко поумнеть
ВоспроизводитьВыйти за рамки задачи
Выбирать лучшееУбить всех людей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Популярные алгоритмы: Наивный Байес, Деревья Решений, Логистическая Регрессия, K-ближайших соседей, Машины Опорных Векторов

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

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

Старый доклад Бобука про повышение конверсии лендингов с помощью SVM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Популярные алгоритмы: Линейная или Полиномиальная Регрессия

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

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

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

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

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

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

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

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

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

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

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

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

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

Популярные алгоритмы: Метод K-средних, Mean-Shift, DBSCAN

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

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

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

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

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

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

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

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

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

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

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

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

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

Популярные алгоритмы: Метод главных компонент (PCA), Сингулярное разложение (SVD), Латентное размещение Дирихле (LDA), Латентно-семантический анализ (LSA, pLSA, GLSA), t-SNE (для визуализации)

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

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

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

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

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

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

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

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

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

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

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

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

Популярные алгоритмы: Apriori, Euclat, FP-growth

Курс Профессия Data Scientist: машинное обучение. Обучение на машинному обучению онлайн

  • Я никогда не программировал. У меня получится?

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

  • Какой график обучения? Получится ли совмещать его с работой?

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

  • Сколько часов в неделю мне нужно будет уделять учебе?

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

  • Я могу общаться с преподавателем?

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

  • Действуют ли какие-нибудь программы рассрочки?

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

  • А я точно смогу трудоустроиться?

    Курс дает достаточно знаний, чтобы получить позицию Data Scientist. Конечно, многое будет зависеть и от вас самих.

  • Что такое машинное обучение и почему оно может лишить вас работы

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

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

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

    Что такое машинное обучение

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

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

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

    машинное обучение: котQuantamagazine.org

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

    Почему машинное обучение — это важно

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

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

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

    машинное обучение: SiriIbtimes.co.uk

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

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

    Как машинное обучение применяют сегодня

    Алгоритмы машинного обучения уже способны впечатлить.

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

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

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

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

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

    Чего ждать от машинного обучения в будущем

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

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

    Почему вам стоит следить за машинным обучением

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

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

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

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

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

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

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

    где деньги лежат? / JUG Ru Group corporate blog / Habr

    Машинное обучение сейчас в тренде, вот только если коснуться коммерческого применения — возникает много вопросов. Потому мы нашли человека, у которого есть ответы. Мы поговорили с Александром AlexSerbul Сербулом из 1С-Битрикс, который рассказал о применении машинного обучения для решения бизнес-задач, причинах хайпа вокруг deep learning и пользе чат-ботов для пользователей и бизнеса. А помогла нам в этой беседе Анастасия Янина YaNastya. За подробностями добро пожаловать под кат.

    Александр Сербул — эксперт в области Big Data, разработки программного обеспечения, системного анализа и проектирования. В 1С-Битрикс курирует направление контроля качества интеграции и внедрений, активно участвует как архитектор и разработчик в проектах компании, связанных с высокой нагрузкой и отказоустойчивостью (Битрикс24), консультирует партнеров и клиентов по вопросам архитектуры высоконагруженных решений, эффективному использованию технологий кластеризации продуктов 1С-Битрикс в контексте современных облачных сервисов (Amazon Web Services и др.).

    — Как Вы пришли в машинное обучение и чем обусловлен Ваш интерес к нему?

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

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

    — Вы курируете направления AI, deep learning и big data. Расскажите об основных задачах, которые вы решали с использованием машинного обучения?  

    Александр Сербул: Официально я курирую направление контроля качества и интеграции внедрений, но, кроме того, несколько лет занимаюсь направлениями big data, machine learning (в том числе deep learning) и искусственного интеллекта.

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

    Дальше мы решили улучшать систему рекомендаций с помощью проведения АБ-тестирования. Мы внедрили в продукт Битрикс инструменты для проведения АБ-тестов. В итоге после серии тестов и анализа их результатов мы упростили модель рекомендаций и взяли за основу content-based-подход. Мы составляем профиль интересов пользователя в зависимости от того, какие сайты он посещает. Затем, когда человек приходит в магазин, мы можем понять, какие товары могут его заинтересовать, а какие — нет.

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

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

    — А как насчет модного сейчас deep learning? У вас были проекты, где нужно было обучать глубокие сети?

    Александр Сербул: Последний год мы активно копаем тему искусственного интеллекта и глубокого обучения для создания чат-ботов. Мы сделали пилот вместе с мэрией Москвы. Датасет, на котором мы обучались, состоял из 500 тыс. вопросов с ответами. Пока разработка не пошла дальше пилота, хотя качество было нормальным: accuracy получилось около 75%. Не слишком круто, но тем не менее чат-бот позволял людям находить ответы на свои вопросы быстрее и эффективнее.

    — Раз уж мы заговорили о чат-ботах, как Вы относитесь к технологиям, которые создают ребята из iPavlov? Ваше решение принципиально отличается от их?

    Александр Сербул: Я читал про их продукты, но, честно говоря, считаю, что пока машинное обучение в сфере чат-ботов не может дать необходимого бизнес-качества. Подобные алгоритмы пока скорее относятся к продвинутым исследованиям и науке, чем к бизнесу. Чат-бот может служить помощником, советчиком, но никак не заменять стандартные колл-центры или техподдержку. Я не верю, что на сегодняшний день боты смогут эффективно заменить людей. Deep learning помог сделать ботов более умными. Теперь вполне возможно решать узкие задачи (заказ пиццы, например) с их помощью, но вести диалог с ботом и получать осмысленные ответы все равно не получается.

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

    Эта область мне нравится, потому что сейчас машинное обучение активно развивается. Нужно учить разработчиков применять ML-алгоритмы, а менеджерам давать необходимую базу знаний: хочется, чтобы они хотя бы на пальцах умели объяснять, что такое логистическая регрессия. Есть огромный разрыв между наукой и бизнесом: наука приходит в бизнес, а бизнес совсем к этому не готов. В машинном обучении нас ждет революция, третья волна нейронных сетей будет уже настоящим цунами. Дальше будет еще интереснее!

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

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

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

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

    Но все-таки корень этого хайпа – интерес вендоров к подобным технологиям. Грамотная работа с контекстной рекламой, например, позволяет получать огромную прибыль. Поэтому крупным IT-гигантам, вроде Google или Facebook, выгодно тратить деньги на исследования в области глубокого обучения, нанимать ведущих ученых, обеспечивать условия развития этой области. Способствуя развитию передовых технологий, они не только двигают передовой край науки, но и зарабатывают миллионы.

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

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

    Однако есть общие подходы, описанные в различных книгах. Моя любимая – книга I. Goodfellow, Y. Bengio и A. Courville (можно скачать тут. Мой совет – начинать обучать нейронки для решения практических задач и развивать интуицию. В любом фреймфорке с нейросетями (TensorFlow, например) есть примеры и готовые архитектуры. Нужно садиться и пробовать, разбираться.

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

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

    — А как же готовые фреймворки и библиотеки машинного обучения (sklearn, например)? С ними нельзя работать, не понимая досконально математику под капотом?

    Александр Сербул: Конечно, нет. Без понимания хотя бы базовых принципов теорвера это все спекуляция какая-то. Чтобы начать эффективно использовать библиотеки машинного обучения, надо быть квалифицированным специалистом, иметь хорошую математическую базу. Там же клингонский язык 95 уровня: «тервер», мат. статистика, линейная алгебра. Многие разработчики всего этого не знают. Можно, конечно, не обладая специальными знаниями сделать «from sklearn import RandomForest», но такой data scientist с нулевыми знаниями математики далеко не уедет.

    Все машинное обучение пропитано математикой. Это как музыка: как можно играть, не зная ноты? Три аккорда побренчать в переходе, и все. Настоящая музыка требует сольфеджио. Есть самоучки, конечно. У меня нет математического образования, и это мне доставляло жуткие страдания. Открываешь книжку по машинному обучению, а там с первой страницы «eigen vectors», «eigen values», «априорная вероятность» и пошло-поехало. Приходилось разбираться самостоятельно, читать книги и тратить много времени.

    — Что насчет выбора инструментов? В качестве языка программирования используете только Python, а для обучения нейронок популярные фреймворки (тот же TensorFlow)?

    Александр Сербул: Да, TensorFlow, несомненно, популярен. Но все-таки выбор технологии и языка программирования для обучения нейронок – это открытый вопрос. Я сам писал код на Java для обучения нейросетей. Я нашел библиотеку тензоров на Java (ND4J). Я и дифференцирование писал сам, там не было готового. Эта нейросеть сейчас у нас работает в продакшне, для техподдержки. Работает хорошо, стабильно, быстро, надежно. Качество устраивает бизнес: они заменили часть сотрудников нейронкой.

    — Кроме deep learning, какие алгоритмы используете для решения бизнес-кейсов?

    Александр Сербул: Мы используем не только нейросети. Нейронки обычно идут в ход, когда более простые алгоритмы работают плохо. Мы работаем с разными алгоритмами: Random Forest, SVM, логистическая регрессия, линейные модели, деревья решений. Для каждой задачи нужно подбирать свой инструмент, от данных зависит очень много. Сейчас, например, Яндекс выпустил библиотеку CatBoost. Сам алгоритм (градиентный бустинг) придуман давно, но на многих задачах работает не хуже нейросети. Мы попробовали использовать CatBoost и остались очень довольны результатами.

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

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

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

    Во-вторых, у любого продукта должна быть бизнес-измеримость. Как продать искусственный интеллект? Надо его померять и продать, продать гарантии качества продукта. Необходимо четко ставить задачи: «Сократить издержки на 10%» или «Внедрить чат-бот и увеличить эффективность работы тех. поддержки на 20%». Задача может быть поставлена математически нечетко, задача менеджера и аналитиков – превратить бизнес-требования в понятную для науки проблему, а затем результат исследовательской работы — в понятную для бизнеса модель.

    В-третьих, нужно создавать быстрые прототипы. Кажется, в банке Тинькофф рассказывали, что из 10 сделанных у них моделей взлетает только 1-2. Еще важно, чтобы у части команды, ответственной за research, был доступ к данным от заказчика. На сбор данных надо обращать много внимания.

    — Что выгоднее: продвигать свою идею в режиме стартапа или пытаться посотрудничать с крупными компаниями?

    Александр Сербул: Я часто работал в режиме стартапа. Например, в веб-студии Qsoft. В свое время мы запускали Эльдорадо.ру. По своему опыту могу сказать, что в режиме стартапа работать намного эффективнее. Люди быстро учатся, увлечены созданием продукта, могут поработать поздно вечером или в выходные ради «идеи».
    В небольшой компании все друг друга знают, все свои.

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

    — И в завершение, как Вы думаете, в каком направлении будет дальше развиваться машинное обучение? Превзойдут ли нейронные сети людей в умении решать рутинные задачи?

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

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



    Хотите узнать детали еще большего количества кейсов по применению Machine Learning, приходите послушать доклад Александра Сербула «Прикладное машинное обучение в электронной коммерции: сценарии и архитектуры пилотов и боевых проектов» на нашу октябрьскую конференцию SmartData 2017. Кроме него там выступят еще 16 спикеров с различными докладами, среди которых:
    — Neurona: зачем мы научили нейросеть писать стихи в стиле Курта Кобейна? (Иван Ямщиков, Институт Макса Планка, Лейпциг, Германия / Created Labs)
    — Deep Learning: Распознавание сцен и достопримечательностей на изображениях (Андрей Бояров, Mail.Ru Group)
    — Глубокое обучение, вероятностное программирование и метавычисления: точка пересечения (Алексей Потапов, ИТМО)

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *