Хабрахабр

Как стать датасайнтистом, если тебе за 40 и ты не программист

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

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

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

Но потом все изменилось, во многом благодаря Coursera и Kaggle.

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

Итак, обо всем по порядку.

О себе

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

О следующей карьере. 3 года назад, в 42 года, когда почувствовал, что от успехов в консалтинге я начинаю бронзоветь, и стал задумываться о необходимости перемен. У меня уже был опыт, как начать карьеру с нуля (в 30 лет я поменял спокойную жизнь экономиста на консалтинг), поэтому перемены меня не пугали.

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

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

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

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

Kaggle

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

Я был новичком и хотел проверить уровень своих знаний в деле. Моим первым соревнованием был конкурс от банка Santander — предсказание уровня удовлетворенности клиентов. Это было куда выше моих ожиданий от первого конкурса, учитывая, что в нем участвовало более 5 тысяч человек. Я совместил свой опыт как клиента банка, навыки анализа бизнес-кейсов и технологии машинного обучения и сделал довольно неплохую модель, с которой я забрался в топ-50 на public leaderbord.

На хэппиэнд я тогда не заработал. Но не все было так просто. Локальная валидация была организована слабо, я слишком сильно ориентировался на паблик, и как результат — на закрытой части теста я улетел на 500+ позиций вниз. Есть такая распространенная среди новичков проблема, как «переобучение модели», с которой я познакомился на практике. Сейчас этот компонент — одна из сильных сторон моих моделей. Конечно, я был расстроен, но урок пошел впрок: хорошая валидация — основа машинного обучения, и ей надо заниматься серьезно.

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

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

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

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

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

Через полгода я занял 7 место в очередном конкурсе от банка Santander и заработал свою первую золотую медаль. У меня было то, чего не было у большинства участников — умение анализировать бизнес-кейсы и мой опыт в консалтинге, это очень помогало при построении моделей.

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

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

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

Надо было впахивать и на работе, и во вторую смену не забывать о Кэггле. Планы на карьерный рост у меня были амбициозными и вариант «не торопясь поработать несколько лет, чтобы дорасти до следующей ступени» не рассматривался. И это дало результаты — еще 3 золотые медали и я заработал погоны Грандмастера на Кэггле плюс закрепился в глобальном топе (сейчас 23-й). Непросто, но кому нынче легко?

И, как видно, занимался хорошо. Как вишенка на торте — 3 призовое место в соревнованиях по банковскому скорингу, то, чем я профессионально занимался последний год.

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

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

А теперь о том, как добиться успеха в соревнованиях

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

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

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

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

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

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

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

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

Итого

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

Новая цифровая экономика нуждается (и будет нуждаться) в высококлассных специалистах. Теперь я всячески подбиваю своих друзей проделать тот же путь. Coursera + Kaggle — это просто отличные возможности для старта.

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

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

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

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

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть