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

РКН: 5140322136
Download Telegram
Многие заметили, что в канале давно не было новых постов. На самом деле за это время был миллион тем, чтобы о них написать, но все происходило так быстро, что даже дыхание не перевести. Только за последнюю неделю: выступления на разных конференциях по ML, подготовка к защите диссера (последнего, наверно к счастью, до нового года не будет), подготовка запуска Data Mining in Action со срочным переездом в МИСиС. Кстати насчёт DMIA - запуск сегодня, через два часа уже буду на площадке, через пять часов начнётся первая лекция.

Все перечисленные вещи связаны с какими-то интересными историями или наблюдениями про машинное обучение и образование, и на этой неделе обязательно будет несколько таких рассказов.
Как уже писал выше, за сентябрь и октябрь мне посчастливилось рассказывать про Data Science на ряде конференций, делюсь наблюдениями. Я выступал на конфе Открытых Систем, РИФ Воронеж (на РИФе в Москве уже выступал в этом году), DataStart и RAIF (Russian Artificial Intelligence Forum). Общее замечание - везде много заинтересованных людей от бизнеса. Это очень приятно и не всегда было ожидаемо. Например, т.к. на DataStart много различных туториалов, я ожидал увидеть в основном технарей, начинающих свой путь в анализе данных, но аудитория была гораздо шире. На DataStart хотел попробовать выступить ближе к формату стендапа, но, мне кажется, как-то не сложилось. Увидел адекватных людей в аудитории и как-то не захотелось кривляться, начал серьёзничать. Хотя несколько забавных случаев рассказал. Кстати, очень понравилась площадка - проводилось в Azimut Hotel на Смоленской, помещения довольно эстетичные, а в перерыве вкусно покормили 🙂 Я был уверен, что меня такими студенческими фишками как еда и нормальные помещения уже давно не проймешь, а вот нет. Все-таки важны такие простые вещи.

Одно печально - засилье однотипных названий всего, что связано с анализом данных. Так, знакомые меня просили ответить на приглашение конференции DataStart, а я перепутал названия и согласился выступить на SmartData. Разница только в одну букву и последовательность слов! Оказалось оба мероприятия стоят внимания, но в этом году SmartData отменили 😞 Но вот эти Что-то-тамData вокруг - просто ужас. SmartData, DataStart, TrainMyData, DoubleData, DataFest - вроде все хорошие ребята, но фантазией в отношении нейминга никто не блещет.

В итоге на конфе Открытых Систем и на РИФе рассказывал про look-alike модели для персонализации пуш-уведомлений в Яндекс.Такси и других похожих применений, на DataStart - про то, как и зачем объяснять другим людям вещи, связанные с машинным обучением, а на RAIF - когда, кого и в каком порядке нанимать в команду для DS (и нужно ли вообще). А после выступления на RAIF модерировал там же техническую сессию с замечательными докладчиками 🙂 (можно посмотреть новость здесь: https://finance.rambler.ru/other/41154272-v-moskve-proshel-raif-hackathon-2018-s-prizovym-fondom-bolee-1-000-000-rubley/ ). Опыт с модерацией на мероприятии такого уровня у меня был почти впервые, и это оказалось довольно увлекательной задачей, особенно если вовлекаться в происходящее, слушать докладчиков, и помогать вопросами (и слушателям и аудитории), когда аудитория не готова начать задавать вопросы сама. RAIF проходил тоже на отличной площадке прямо напротив гостиницы «Украина», и там наверно было больше всего бизнесовой аудитории (да и размах мероприятия большой). Очень крутая конфа с очень крутыми организаторами, с удовольствием не только выступил на пленарной секции, но и послушал другие доклады.
Про запуск Data Mining in Action. Восемь лет назад достаточно было прийти в семинарскую аудиторию, обнаружить там несколько заинтересованных студентов, пришедших на курс, и начать рассказывать. Сейчас даже после сокращения с трех направлений до одного (только на этот семестр) и организации отбора слушателей - у нас все равно 300 человек (в прошлый раз было 1000, но с онлайн-потоком, в позапрошлый - 700 без онлайна). Это означает, что нужно искать место проведения, придумывать как с учетом принятого пропускного режима провести всех через охрану таким образом, чтобы не было очередей и толпы, и чтобы всем было понятно, как пройти в аудиторию. Знаете же как сейчас модно рассуждать - давайте поставим всех встречать только одного и не очень расторопного человека, чтобы люди восхитились, какая к нам выстроилась очередь и как наше мероприятие популярно 🙂 Мы пока стараемся так не делать, хотя иногда особенно сложно все сделать гладко из-за серьезной ограниченности ресурсов (проект некоммерческий, курс совершенно бесплатен для слушателей, длится 8-10 недель по две пары на каждой (раньше было по 4), и заканчивается торжественным выпускным).

В этот запуск не обошлось без неожиданностей. У нас было несколько возможных мест проведения, в одном из них была аудитория на 350 человек, в другом - максимум на 220. Это был МИСиС, где и проводим сейчас. Т.к. мы собрали очень много хороших анкет от слушателей (в отборе были и тесты и мотивационные письма), хотелось оставить побольше людей и мы отказались от варианта проводить в МИСиСе из-за вместимости аудитории. В другом месте мы проводили занятия уже не в первый раз, но за пару дней до старта курса стало известно, что провести занятия там мы не можем. Нужно было срочно найти другой вариант. Сказать, что я рад, что коллеги из МИСиС были снова готовы принять наш курс у себя - это ничего не сказать. Нам удалось договориться буквально за день и даже не сорвать первое занятие! Чтобы поместить всех, пришлось начать вести курс в два одинаковых потока в соседних лекционных аудиториях.

Вчера в МИСиСе прошли уже вторая лекция и второй семинар DMIA. Они были посвящены знакомству с математикой, используемой в анализе данных, и с простыми методами машинного обучения (kNN, наивный Байес, деревья и пни). Мы с Эмели Драль довольно долго готовили эту лекцию, т.к. подумали, что нужно идти дальше в преподавании Data Science и не просто напоминать или обзорно рассказывать слушателям основные вещи из высшей математики, нужные для курса (так мы уже сделали в 2016 году в курсе «Математика и python для анализа данных» на Coursera), а сразу показывать этот аппарат в приложениях. Кстати, даже уже в том курсе были пассажи вроде «как можно применить матричные разложения? например, можно с их помощью строить рекомендательные системы, давайте посмотрим как», т.е. уже тогда было очевидно, что конкретные прикладные примеры сильно мотивируют вникать в математику. В очередной лекции DMIA мы попробовали развить этот подход. Лекция была эксклюзивной - видеосъемка не велась, записи не будут выкладываться, но в будущем появится статья по ее мотивам (ее уже начали готовить). Особенно приятно было то, что несмотря на ноябрьские праздники, на занятие сново пришло много слушателей. Есть конечно и небольшой минус - мы пока не можем всех уместить в одну аудиторию и читать в один поток, слишком маленький для этого отток слушателей 🙂 Но мы решили поступить так: сделать второй отбор по первому вводному домашнему заданию курса и продолжить дальше работать с теми, кто его выполнит. Пока надеемся, что так сможем сконцентрироваться на самых мотивированных из слушателей.
Итак, пора бы уже завершить рассказ про индустрию, науку и хайп в машинном обучении. Настало время поговорить про хайп. Недавно выступал на Матемаркетинге (конференция про аналитику в маркетинге) в секции Яндекс.Метрики, с рассказом про одну из Таксишных задач. И в кулуарах организаторы поделились тем, что при составлении программы очень внимательно смотрели на все выступления, связанные с 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/