Kantor.AI
11.6K subscribers
141 photos
12 videos
5 files
185 links
Канал Виктора Кантора про Data Science, образование и карьеру в сфере анализа данных. По вопросам сотрудничества: @mariekap

РКН: 5140322136
Download Telegram
Итак, пора бы уже завершить рассказ про индустрию, науку и хайп в машинном обучении. Настало время поговорить про хайп. Недавно выступал на Матемаркетинге (конференция про аналитику в маркетинге) в секции Яндекс.Метрики, с рассказом про одну из Таксишных задач. И в кулуарах организаторы поделились тем, что при составлении программы очень внимательно смотрели на все выступления, связанные с ML, т.к. последнее время все чаще ML трактуют как «соберите табличку с признаками и отправьте в XGBoost/LightGBM/CatBoost - вот и всё, ваша модель готова». И я испытал то самое чувство радости, которое приходит, когда вы ощущаете, что кто-то вас понимает. Эта тенденция и похожие на нее меня очень беспокоят, и я убежден, что репутация профессии Data Scientist сейчас в огромной опасности.

Для начала - напомню, что машинное обучение в индустрии - это не про вызов методов fit и predict у готового классификатора, а про улучшение бизнес-процессов, сервиса или продукта и, в конечном итоге, заработок или экономию денег компании. 90% работы в постановке и приоритезации задач, планировании и выстраивании процесса работы над проектом, оценки качества и внедрения. И в какой-то степени к этому имеют отношение все участники проекта. Начинающие свой путь в Data Science говорят «ой, это менеджмент какой-то, а мне технические вещи интересны». Ну конечно, спланирует за них менеджер процедуру A/B тестирования в условиях дефицита примеров и невозможности хорошо разбить выборку (как вполне бывает в жизни). Да еще и так, чтобы и статзначимость достигалась за разумное время и результат был понятен и полезен бизнесу. И заодно метрики качества, отображаемые в экономический эффект выберет, и, например, recall@k вместо ROC-AUC предложит для классификатора замерить, чтобы полгода не настраивать модель не на то, что нужно. Дело в том, что есть много «как бы организационных» вопросов, которые требуют hard skills в data science, и бросать эти вопросы на коллег с другим бэкграундом, как мне кажется, очень странная затея.

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

Пример из практики, который я уже много раз приводил: в одной команде с помощью машинного обучения автоматизировали определение пригодности некоторого продукта к использованию людьми по ряду замеров и построили для этого некоторую нейросетку. Аналитики были очень довольны проделанной работой, но, увы, при валидации модели поступали так: пригодные продукты обозначали единичкой, непригодные ноликом, от нейросети получали прогноз пригодности продукта в виде вероятности (например, «пригоден на 0.9 - т.е. 90%») и качество оценивали по модулю отклонения этой вероятности от правильного ответа (0 или 1). Если бы аналитик, который это делал, хоть немного мог думать о постановке задачи, знал матчасть и умел ей пользоваться, он бы знал, что при такой оценки качества модель, выдающая честные вероятности, будет считаться хуже, чем модель, округляющая вероятность до 0 или 100%. А теперь представьте, если от качества продукта зависят жизни людей. Если это лекарство, еда, строительные материалы. А модель вместо пригодности на 51% выдает 100%-ную пригодность потому что кто-то не любит разбираться с метриками качества, а вместо этого сразу бежит обучать модель. Это просто катастрофа. Ситуацию усугубляет то, что сейчас этот пример приводится на любом приличном курсе машинного обучения и спрашивается на собеседованиях во многих хороших компаниях, но откуда-то в индустрию все равно просачиваются те, кто продолжают допускать ту же ошибку.
Из-за таких историй машинное обучение гораздо реже действительно помогает бизнесу, а это в свою очередь может постепенно окончательно дискредетировать профессию Data Scientist. Это огромная опасность, которую несет в себе хайповый подход и решение задач «лишь бы было круто и модно».

Хайп вокруг ML, конечно, имеет и позитивные стороны - в конце-концов интерес большого количества людей к области все-таки способствует распространению технологий, получению каких-то полезных результатов и многим другим хорошим вещам. И, конечно, люди так устроены, что зачастую мода на что-то может протащить полезные технологии туда, куда их не смог протащить здравый смысл. Поэтому хайп - это не всегда прямо-таки очень плохо. Иногда бывает так: сначала становится модно пытаться сделать на Reinforcement Learning хоть что-нибудь, а завтра эти же алгоритмы помогают в реальной прикладной задаче. Но нужно быть очень аккуратным, вовлекаясь в хайповые темы, и уметь нести ответственность за то, что делаешь. Как-никак репутация профессии Data Scientist тоже играет очень большую роль в распространении и разумном применении машинного обучения.
👍1
Некоторое время назад я писал про новость об Амазоновской системе распознавания лиц преступников, которая в эксперименте активистов опознала преступников в 28 конгрессменах США: https://m.habr.com/post/418509

Настало время рассказать о том, в чем был подвох. Дело в том, что Amazon рекомендовал в качестве порога классификации брать 95% вероятности, а активисты использовали порог 80%. Разумеется, когда для отнесения человека к преступникам достаточно уверенности классификатора на 80%, ложных срабатываний становится больше, поэтому эксперимент на самом деле был подтасован, чтобы выглядеть более убедительно для общественности. О том, сколько конгрессменов останется преступниками с порогом 95%, история умалчивает, но все это хороший повод обсудить, как нужно внедрять машинное обучение в подобных ситуациях.

Если вам нужно детектировать какие-то нежелательные примеры - драки или пожары по данным камер видеонаблюдения, мошенников среди клиентов банка, нежелательный контент в сервисе - внедрять ML следует аккуратно. Любая модель, которую вы построите, на разных примерах будет в разной степени уверена, что пример нежелательный, и полезно смотреть на оцененную ей вероятность принадлежности к классу «драка», «мошенник», «нежелательный контент» и т.д. (в зависимости от того, какую вы решаете задачу). Выбирая порог по вероятности, начиная с которого вы автоматически принимаете меры (например, временно баните контент и его автора в вашем сервисе, или вызываете полицию к месту драки), вы решаете, для какого топа случаев (если отсортировать их по убыванию вероятности) вы автоматически принимаете меры. Разумеется, там, где прогноз вероятности меньше, «нежелательные» примеры будут реже встречаться. Так что чем ниже порог по вероятности - тем менее точная ваша модель. Поэтому, возвращаясь к примеру с преступниками, при внедрении модели сначала имеет смысл ставить порог по вероятности очень высоким - например, 95% или 99%, чтобы модель срабатывала пусть и раз в сто лет, но когда очень уверена, и постепенно дорабатывать модель и понижать порог.

При этом, даже если пока у вас есть только несложный бейзлайн модели, это не значит, что его совсем нельзя использовать - возможно, он уже может быть полезен при применении с высоким порогом. По мере улучшения модели вы сможете опускать порог и автоматизировать большее количество решений, делая разработку и поддержку модели более оправданной экономически. Продолжать наращивать качество становится не интересно, когда выигрыш в количестве автоматизированных решений уже не окупает затраты на доработку. И нужно иметь ввиду, что этот момент может настать уже с самого начала проекта.
👍1
Иллюстрация для примера с преступниками: как зависит доля преступников среди задержанных от доли задерживаемых. А - высокий порог (и маленький топ), В - более низкий порог (и больший топ).
#interview
Одна из тем, которые я обещал осветить - собеседования и найм в Data Science. Тема бесконечная и неисчерпаемая, так что одним постом все не ограничится, а пока начнем обсуждать самый болезненный вопрос - деньги, и как про них говорить комфортно. Вопрос, конечно, касается как переговоров при работе в компании, так и при найме.

Зарплаты в Data Science шокируют всех: и работодателей, и самих специалистов в Data Science, и смежников. Причина тому - огромный разброс. Оцененный на один и тот же уровень специалист может в одной компании зарабатывать 50 тысяч в месяц, а в другой - 130. Первые, услышав про зарплату вторых, очень расстраиваются, а вторые, услышав про зарплату первых - очень удивляются. С ростом уровня разброс (по субъективным ощущениям) не меньше, а усугубляется ситуация еще и тем, что тот, кого не возьмут Junior DS в одну компанию, в другой компании может замечательно устроиться как Senior. Поэтому когда на собеседование приходит специалист, которому в компании могут предложить максимум постажироваться за 50 тысяч, и просит зарплату, например, 200, это несложно понять. Но такой опыт все равно оказывается травматичным для всех: и для HR, и для собеседующих, и для кандидата.

Часто здесь начинаются рассуждения о «рыночной зарплате», но мне кажется, что при таком разбросе как в оценке навыков, так и в оплате труда, очень тяжело говорить о ЗП «по рынку». Мне кажется, что главное - не воспринимать деньги как что-то личное или, тем более, как оценку профессиональных качеств, не зависящую от контекста - компании, задач, потребности в этом специалисте, имеющегося бюджета и так далее. Если продолжать этот полет мысли, то кандидат, в общем-то, может называть зарплату хоть 100500 миллионов долларов в месяц, а работодатель - хоть просить сотрудника еще доплачивать компании за работу (ладно-ладно, последнее по ТК наверно не очень возможно, но вы поняли идею). В этом нет чего-то личного, это просто предложения, которые могут приводить к выходу человека на работу или не приводить. И каждая сторона сама решает, какое предложение выставить.
#interview
Например, вы, очевидно, можете быть очень профессиональным специалистом, но если кто-то менее опытный готов посетить в 10 раз больше собеседований и получить больше отказов, чем вы, и поэтому выставит ценник выше - в конце-концов может договориться на зарплату выше вашей. Аналогично и с компаниями. Если вы готовы провести больше собеседований - возможно вы найдете более «экономичный» вариант при сравнимых навыках у сотрудника. В общем, все как всегда с поиском лучшего предложения. Вопрос в том, насколько вам комфортен этот процесс, насколько вам важно время и, что очень важно, насколько вам интересен сотрудник, готовый работать за меньшие деньги (если вы нанимаете) или компания, готовая платить больше (если вы устраиваетесь на работу). У всего есть и обратная сторона. Например, бывают компании, из которых люди сбегают за несколько месяцев, несмотря на высокие зарплаты. А бывают те, в которых почему-то работают многие годы с невысокими.

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

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

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

3. Вести предметный разговор: слушать собеседника, предлагать варианты, помнить что собеседник не обязан принять ваше предложение только потому что вам оно кажется хорошим, не воспринимать ответ «нет» как что-то личное. Просто попробуйте получить удовольствие от конструктивного общения - проясните интересы обеих сторон, поймите, где они пересекаются. Работодателю нужно, чтобы человек работал и приносил пользу, сотруднику нужно делать то, что он любит и получать за это деньги. Здесь много возможностей договориться, если у обеих сторон правда будет такая цель.
Вскоре после поста друзья скинули отличную картинку на тему поиска более дешёвых сотрудников (вся серия гуглится по запросу «сова эффективный менеджер»):
Ранее я упоминал в публикации про хакатон RAIF, но вообще хакатонов и соревнований в последнее время появилось очень много, и это повод развить эту тему. Кстати, конкурсы периодически порождают отличные истории для лекций. Например, буквально неделю назад на DMIA я рассказывал про случай, как на соревновании при оценке качества по ROC-AUC потребовали от участников присылать результаты классификации тестовой выборки на два класса с 0 и 1 в качестве ответов (а ROC-AUC вообще-то измеряется по числовым прогнозам, выражающим уверенность алгоритма в классе - например, по вероятностям класса 1). Было замечательной подводкой к тому, чтобы рассказать про такое забавное явление, как треугольный ROC-AUC.

Так или иначе, огромное количество конкурсов ставит серьезный вопрос перед их организаторами: как выделиться и привлечь внимание к своему мероприятию. Для нетерпеливых сразу отвечу: прежде всего, нужно выбрать адекватную задачу, метрику, нормально подготовить данные, чтобы участники потом не обсуждали повсюду целый месяц как вы облажались, выгрузив где-то не те id-шники. Конечно, только лишь это не привлечет людей, но хотя бы спасет от пиара в негативном свете. Другой важный момент - оригинальность. Можно сделать хакатон с самым маленьким призовым фондом (вряд ли сработает) или самым большим в истории (безумие), а можно придумать интересную легенду или номинации. Например, сейчас меня периодически догоняет в рекламе хакатон Росбанка на boosters.pro, ради интереса посмотрел и очень порадовался находчивости ребят - одна из номинаций - за первое место на лидерборде в новогоднюю ночь. Не могу назвать себя сторонником такого способа встретить Новый год (потому что однажды мне почти пришлось так встречать), но идею оценил 🙂

Кстати, недавно общался с компанией совершенно не из банковской сферы с аналогичной задачей. На этом соревновании просят спрогнозировать популярность банкомата по его геопозиции, а компания, с которой говорил, хотела определять точки, в которых будет открывать новые магазины. К сожалению, ни сферу, ни название, ни больше конкретики не напишу по понятным причинам. Но замечу, что определенно круто, когда люди выкатывают соревнование с такой задачей, которая возникает и в других сферах - это тоже неплохой способ привлечь больше участников. На тему пересечений задач из разных сфер еще будет несколько постов, особенно ближе к НГ (будет повод 🙂)
#teaching Если к вам придут образователи и позовут преподавать, вспомните эту картинку. Если вы образователь и зовёте специалиста - тоже.
#teaching Штука с прошлой картинки называется Learning Pyramid и периодически вызывает обоснованные нападки людей, связанных с психологией и образованием. Например, вот статья на этот счет в Washington Post: https://www.washingtonpost.com/news/answer-sheet/wp/2013/03/06/why-the-learning-pyramid-is-wrong/ а вот просто неплохая запись в блоге: https://theeffortfuleducator.com/2017/11/29/the-pyramid-of-myth/

Я нарисовал ее даже чуть помягче - в оригинальной версии есть еще довольно смелые проценты на каждом уровне, якобы отражающие долю усваиваемой информации. Проблема здесь в том, что люди иногда воспринимают всё слишком буквально. Возможно, можно придумать более-менее адекватный эксперимент, который оценит какие-то такие проценты для разных видов активности. Но в жизни все равно будут не лабораторные условия, поэтому к числам в таких экспериментах не надо относиться слишком уж серьезно. Но вот что точно имеет ценность - это качественное наблюдение, что эффективность разных видов образовательных активностей отранжирована «как-то так». Примерно. Без особых гарантий. По субъективным ощущениям 🙂 И если отдельные уровни еще можно переставлять местами, то преподавание, если это делать честно и основательно, - точно самый действенный способ разобраться в области еще лучше. Только про остальные варианты надо тоже не забывать.
#cases Буквально 45 минут назад на Хабре вышел пост о том, как у нас в Такси качество машин оценивается дистанционно с помощью компьютерного зрения. И если у вас возник в голове ироничный ответ «так себе оценивается», то вы поспешили 🙂 Пока эта вещь только внедряется в использование, но уже есть серьезные надежды, что это позволит гораздо лучше следить за качеством автомобилей - ведь по сравнению с людьми нейросетка может делать эту работу мгновенно, причем даже более качественно.

Если кратко - мы итак просим водителей раз в некоторый период времени присылать фотографии машины, и у нас есть специальные асессоры, которые оценивают качество автомобиля - чистый ли, нет ли вмятин и так далее. Получается, за большой период времени мы уже накопили неплохую обучающую выборку. Остается только определиться, как ставить задачу в терминах машинного обучения, как оценивать и как применять результат. Об этом можно узнать в статье: https://habr.com/company/yandex/blog/433386/

Автор поста Никита Селезнев руководит направлением Deep Learning на курсе Data Mining in Action и отвечает за применение DL в дистанционном контроле качества Такси, и, я думаю, еще не раз порадует нас хорошими курсами и статьями про DL и его применение 🙂
До Нового Года остается четыре часа, у кого-то все уже приготовлено к празднованию, кто-то еще бегает и суетится, но большая часть приготовлений в любом случае позади. Пока все еще не начали отмечать, поздравляю всех с наступающим! 🙂

Очень надеюсь, что для многих из вас какие-то приятные события в 2019 году будут связаны и с Data Science. Кто-то успешно внедрит новые решения на основе Machine Learning в своей компании, кто-то устроится на новую любимую работу или продолжит с удовольствием работать на старой, кто-то выиграет в соревнованиях, а кто-то просто будет наслаждаться красотой всей той магии, которую можно делать с помощью анализа данных (и, я считаю, нам очень повезло жить в это замечательное время). Мы с партнерами и коллегами по образовательным проектам со своей стороны постараемся помочь вам в этих достижениях.

Уже в феврале мы планируем новый запуск Data Mining in Action, в этот раз с четырьмя направлениями, и каждое с лекциями, семинарами и заданиями: общий поток (про основы ML), соревновательный анализ данных (про то, как участвовать и побеждать в контестах), анализ данных в индустрии (с большим количеством кейсов из компаний и разных примеров из жизни Data Scientist’ов в компаниях) и глубокое обучение (где можно будет с самого начала последовательно узнать все то, что сейчас актуально в deep learning, включая некоторые свежие результаты из 2018, а возможно, и 2019 года : ) Примерно тогда же в феврале планируется запуск сразу трёх онлайн-курсов, которые, как мне кажется, заинтересуют очень многих подписчиков, т.к. эти курсы призваны решить одну очень серьезную проблему, которая возникает сейчас при знакомстве с Data Science. И на весь 2019 год у нас приготовлено много всего интересного.
Ну а сейчас, пока праздничные дни только начинаются, желаю всем замечательно отдохнуть и провести побольше времени с близкими. С Новым годом, уже почти наступившим!
#teaching
История про два курса

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

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

Но у меня функциональный анализ вёл другой лектор, существенно старше. Объем материала в его курсе был заметно меньше. И сам курс не производил впечатление очень интенсивного. Звучит хуже? А вот как бы не так. Если первый курс был крутым, то этот курс был гениальным, он был произведением преподавательского искусства. Вместо того, чтобы впихнуть в курс как можно больше, наш лектор (он же был моим семинаристом) оставил время для общения со студентами на занятиях. Нам давали возможность предлагать идеи доказательств, обсуждали с нами возникающие проблемы, давали нам совершать ошибки и помогали учиться на них. Это помогло многим студентам научиться рассуждать на языке математики. Кроме того, курс был насыщен запоминающимися образами. Например, можно было просто формально сообщить слушателям, что значит предъявить эпсилон-сеть для некоторого множества, а можно кроме этого ещё и объяснить, что это то же самое, что целиком осветить парк фонарями, которые освещают круглый пятачок радиусом эпсилон вокруг себя. Детский сад? Может быть. Но образность и осмысленность происходящего позволяла и понимать, и вовлекаться в предмет. И научить нас это помогало.

Последние полгода я часто вспоминаю эти два взгляда на курс. И все чаще задумываюсь, что больше - не значит лучше, ведь «знать» много всего - это, конечно, здорово, но надо же что-то и понимать 🙂 Кроме того, у фокуса на понимание есть приятный бонус: часто достаточно понять совсем немного, чтобы всё остальное стало очевидно и уже не требовало запоминания. Об этом полезно задумываться и преподавателям при подготовке материалов, и слушателям при выборе курсов и траектории обучения в целом.
Пару часов назад в «Физиках и лириках» Пушного и Митрофановой обсудили кучу общих вопросов про машинное обучение :) Александр оказался глубоко в теме и был бесконечным источником релевантных вопросов, а Маргарита мастерски помогла нам не заболтаться и не уйти в обсуждение совсем абстрактных материй. В результате, как мне кажется, обсуждение получилось довольно простым для восприятия в целях «послушать что-то про машинное обучение», если ваша профессия с ним не связана :) А если связана - можно дать послушать родственникам и друзьям, которым интересно, чем вы занимаетесь. Ссылка на запись: https://radiomayak.ru/shows/show/id/62250/

Кстати, сейчас полным ходом идёт подготовка мини-курса с очень плавным и безболезненным введением в основные понятия ML, так что для аудитории, которой хочется развлекательного знакомства с ML, скоро будут анонсы :) Ну а для тех, кто хочет хардкора, мы уже почти всё подготовили к старту набора на Data Mining in Action, в который возвращаются направления соревновательного и индустриального анализа данных, а также глубокого обучения. Этот анонс следует ожидать уже на следующей неделе.
#how_to_ml #ml_courses #dmia
Когда вам нужно применить машинное обучение так, чтобы все заработало, с приемлемым качеством и не с запредельными вложениями сил, если говорить об алгоритмах, выбор довольно понятный. Либо линейные модели (если у вас тексты или другие данные с большим количеством признаков, особенно разреженных), либо ансамбли деревьев (если есть время и память на обучение и вас не смущает меньшая интерпретируемость), либо нейросетки (если работаете с картинками, либо строите более «умную» модель на текстах, либо анализируете звук или какие-то еще данные с интересной внутренней структурой). Иногда, например, в некоторых банках, еще любят строить одиночные решающие деревья, по большей части - просто потому, что они очень уж наглядно визуализируются. Конкретно с нейросетками неплохо быть в курсе существующих архитектур для разных задач, чтобы просто применять их, но в целом, столкнувшись с конкретной задачей вы можете просто хорошо погуглить и изучить статьи. Но по крайней мере понимать, какие идеи сейчас активно развиваются в Deep Learning и как это работает - в 2019 году точно нужно.

Еще пару лет назад у меня был показательный случай: меня привлекали для обновления программы курса ML в одном университете и компании-партнеры ВУЗа, формировавшие требования к программе, недовольно восклицали «представляешь, у нас в 2017 году курс машинного обучения все еще без введения в deep learning!». Конечно, это не подразумевало добавление в курс рассказа за 2-3 лекции полноценного курса по DL, но полная неосведомленность уже тогда не устраивала тех, кто хантил DS’ов.

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

На нашем курсе Data Mining in Action базовое направление знакомит слушателей именно со всем необходимым для быстрого старта в машинном обучении в 2019 году - есть и про классические методы, и про работу с признаками и оценку качества, и неплохое введение про нейросетки. Для тех, кто уже имеет неплохую базу в ML есть специализированные направления - индустриальное (применение ML в компаниях), спортивное (о том, как участвовать и побеждать в соревнованиях по анализу данных) и, конечно, направление deep learning. Отбор на курс уже идет полным ходом, запись на курс и отборочные задания направлений будут еще как минимум до 7 февраля доступны по ссылке: https://goo.gl/forms/Z5QvN6UR1wJRTeKg1 Организационные детали можно найти там же.

Торжественное открытие курса планируется 9 февраля, с 16 февраля начнутся лекции и семинары.
После перерыва в полтора месяца, предсказуемым образом совпавшего с началом занятий на Data Mining in Action, канал продолжает свою работу. Сейчас я в поиске новых, более полезных для аудитории форматов канала, чем «пишу что приходит в голову», поэтому хочу понимать, что интересно тем, кто уже присоединился к каналу в качестве подписчика. Поэтому первая новая рубрика - Q&A. В гугл форме по ссылке можно задать мне вопрос или предложить тему поста для канала: https://goo.gl/forms/Rr8I42qr40gV7ZSi1
#edu
Моя мечта - чтобы компьютерные игры, довольно успешно конкурирующие за время людей с образованием и другими полезными активностями, делали ощутимый вклад в развитие у человека каких-то навыков, и сами могли использоваться в образовательных целях. Причем речь не про то что мы привыкли понимать под геймификацией в образовании - приделать к курсу сбоку систему уровней, ачивок и мини-игр, а про погружение в полноценную игру с некоторыми позитивными последствиями для знаний. Год назад, например, была новость о том, что RPG игра Kindom Come: Deliverance из-за своей историчности и точности воспроизведения показанной в ней эпохи, будет использоваться для обучения студентов истории в университете в Брно (интересно, осталось ли это только лишь новостью). С историей действительно есть такой эффект: играешь в игры с историческим контекстом - хоть что-то узнаешь, только вот с исторической достоверностью у игр часто все довольно плохо.

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

Примеры, о которых я очень хочу узнать, изучить их под микроскопом и понять, как это работает - это случаи, когда опыт, полученный в компьютерной игре, получилось успешно перенести в реальную жизнь. Если вы можете рассказать что-нибудь такое - напишите пожалуйста напрямую мне в телеграм ( @vkantor ). Если вы скажете, что компьютерные игры вряд ли могут научить чему-то про реальный мир, а скорее приучают разбираться с существующими механиками и применять их, это тоже подойдет, при наличии конкретных примеров, с чем получилось лучше разобраться, потренировавшись на играх. У меня есть несколько примеров, но они (на мой взгляд) очень сильно притянуты за уши и даже близко не стоят и 10% времени, потраченного на игру, если конечно не брать в расчет развлекательную составляющую.

Кстати, ссылка на ту самую новость из 2018 года про Kindom Come: Deliverance - https://kanobu.ru/news/kingdom-come-budut-ispolzovat-dlya-prepodavaniya-studentam-istorii-v-cheshskom-universitete-402886/
Сегодня у меня две новости.

Во-первых у Data Mining in Action появился сайт: https://dmia.space На нем есть описание направлений и программы, так что теперь можно скидывать ссылку на него в качестве какого-то базового объяснения, чем мы занимаемся. Также в самом низу лендинга есть запись на новости про запуск онлайн-версии DMIA. Она, в отличие от оффлайна, будет платной, т.к. производство онлайн-курсов и запись в студии не самое дешевое удовольствие. Однако по моим ощущениям это будет лучший русскоязычный онлайн-курс для быстрого погружения в ML. Почему я так думаю, а также какие вообще еще курсы есть - буду писать здесь до выхода онлайна DMIA.

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

Сразу предупрежу, что если у вас или ваших знакомых, которым этот курс будет интересен, есть время на просмотр кучи релевантных и не очень лекций на youtube по теме - этот мини-курс вряд ли очень подойдет. Основная его задача - как раз сэкономить время на поиск и просмотр большого количества материалов и собирание из них сути по крупицам. Цель курса - понятно рассказать о самом основном, не скатываясь в лекцию по математике или программированию и не начиная рассказывать маркетинговые сказки про всемогучий AI - причем всего за 75 минут минут видео-лекций по 3-15 минут каждая. Для того, чтобы слушатель мог самостоятельно проверить понимание рассказанного, видео сопровождаются семью несложными тестами и, надеюсь, будут сопровождаться обсуждениями на форуме между слушателями.

Также предупрежу, что если вы работаете Data Scientist’ом - этот курс тоже не для вас, вам могут быть полезны только более объемные и технические, а максимальная польза для вас от этого курса - посмотреть, как можно объяснять какие-то вещи просто (если мне это, конечно удалось 🙂).

Зато все остальные люди, которые не хотят кучи формул, не хотят проходить долгий и тяжелый курс, но хотят получить хорошее представление о машинном обучении - те, для кого этот курс создан. Курс уже прошел успешный бета-тест с десятком слушателей-добровольцев, а на грядущей неделе я надеюсь запустить еще один тест курса, теперь уже предложив тестерам купить курс за 50% цены (750 рублей). И если даже заплатившие за курс люди будут отзываться о нем позитивно, курс будет запущен для всех 🙂 Записываться в добровольцы здесь: https://forms.gle/ZqNX9C3whj9FnZxKA
Наконец-то разобрался с техническими трудностями запуска общеобразовательного экспресс-курса по ML. Комментировать не буду, просто прикреплю описание впечатлений диаграммой Эйлера (54-фз - это закон об использовании кассовой техники в том числе при продажах онлайн). Записавшимся начинаю волнами рассылать ссылку на курс, пока письмо получили все записавшиеся до 18:20 24 мая, проверьте пожалуйста спам на всякий случай. Протестируем функционал с первой группой и продолжим запуск курса волнами. А онлайн DMIA пока продолжаем готовить.
Ранее у меня было в голове более-менее чёткое разделение дата саентистов по уровням компетентности и иерархии в компании (об этом были посты в группе курса dmia.space в VK: https://vk.com/wall-78553823_1754 - часть 1, https://vk.com/wall-78553823_1771 - часть 2). Но, к сожалению, как и многие другие вещи, с опытом эта картина выглядит все менее стройно.

Например, не всем DS’ам даже на уровне senior/lead надо ставить задачи машинного обучения на основе потребностей бизнеса. Если в бизнесе одна большая задача, где все уже сформулировано, что прогнозировать понятно, а метрики качества выбраны сто лет назад, и никто их переосмыслять не согласится, работа может сводиться к улучшению качества в 3-4 знаке после запятой. Вы возможно скажете: «Какое бесполезное занятие!», но если это даёт экономию в несколько миллионов в месяц и делается одним человеком всего за квартал - бизнес с вами может не согласиться :) Чем же тогда отличается более квалифицированный специалист от менее квалифицированного? Да просто стоимостью своей работы для компании - ошибаешься реже, код пишешь хорошо, помощь коллег нужна меньше - вот и повод считать тебя более опытным, заплатить чуть больше денег и получать тот же результат от тебя условно не за квартал, а за месяц. Отсюда, в частности, возникают запросы к кандидатам на те умения, которые они не всегда связывают с Data Science. Например, быть ещё и хорошим разработчиком на C++/Java или чем-то ещё, на чем пишут в этой компании, или знать какую-нибудь древнюю как останки динозавра библиотеку, которую по-прежнему используют в продуктах.

Главный вывод здесь - если вы нанимаете сотрудников или если устраиваетесь на работу, не всегда несоответствие представлений бизнеса и кандидата о необходимых навыках связано с тем, что кандидаты слабые/собеседующие неадекватные и как там ещё любят жаловаться люди (и первые и вторые). В рамках одного только Data Science нужный набор компетенций уже сильно плавает от задач, которые человек должен решать. Раньше я с удивлением смотрел на топовые российские компании, которые при уходе человека в Гугл на ту же позицию любили внутри комментировать «а нам он и не подходит, нам такие не нужны», намекая на нехватку каких-то скиллов. «Ребята, ну где вы, а где Гугл? Вернитесь с небес на землю!» - думал я. Но, смешно сказать, теперь понимаю, что это отчасти было верным тезисом. У каждой компании свои процессы и свои задачи и, совершенно серьёзно, человек, очень ценный для более крупной и успешной компании, может быть бесполезен в компании поменьше - просто потому что не вписывается в ее процессы и ее задачи.

Как же быть и как понять какая компания и какой сотрудник «круче»? А никто не круче, просто кто-то больше других подходит именно вам.
👍4🔥1