От Экономистов До Специалистов По Обработке Данных Или Как Стать Лидером Рейтинга Kaggle Notebooks

Привет! Меня зовут Андрей Лукьяненко .

В команде Центра искусственного интеллекта МТС я работаю над проектом по улучшению разрешения видео (суперразрешения): например, из видео в формате 1к мы делаем хорошую «картинку» 4к, которую можно показывать на большом экране.

Как я к этому пришел? Пять лет назад я решил освоить новую профессию: оставил свою (тогда) работу в ERP-консалтинге и начал изучать машинное обучение.

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



От экономистов до специалистов по обработке данных или как стать лидером рейтинга Kaggle Notebooks



Как я сменил профессию и освоил ML с нуля

По образованию я экономист, после обучения в университете начал работать в сфере ERP-консалтинга, занимался внедрением и поддержкой ERP-систем (систем планирования ресурсов предприятия).

Это системы управления контрактами, логистикой, активами и другими процессами.

Я работал в 3-х консалтинговых компаниях, это было по-своему интересно, но в итоге я понял, что меня это не устраивает: бесконечное тестирование чужих разработок, написание десятков страниц документации, постоянные переделки, стресс.

Я начал искать чем бы еще заняться и в 2016 году обратил внимание на машинное обучение.

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

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

Я прошел курс Эндрю Н.

Г.

, читал книги о Python, посты в профильных сообществах и смотрел видео.

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

Я проработал там полгода, завершил проект и перешел в небольшой стартап.

Учиться я, конечно, не бросил: прошел курс по машинному обучению на Coursera. В то же время я прошел Стэнфордский курс по компьютерному зрению.

Потом был еще один курс по ML от сообщества ODS. После этого я начал работать в компании, предоставляющей доступ к Wi-Fi в метро.

Там я работал над системой аналитики Wi-Fi — было интересно.

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

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

Именно в это время я стал активным участником Kaggle, начал выступать и организовывать мероприятия в ODS. Например, в 2019 году я участвовал в подготовке DataFest и даже вел секцию.



От экономистов до специалистов по обработке данных или как стать лидером рейтинга Kaggle Notebooks

В ноябре 2019 года я начал работать в AI-центре МТС.

Меня заинтересовал проект по созданию медицинского чат-бота, и через некоторое время я стал техническим руководителем НЛП-части проекта.

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

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



Что такое сообщество Kaggle и зачем оно нужно специалисту по данным?

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

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

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

Участие в сообществе Kaggle разделено на 4 компонента:

  1. сами соревнования;
  2. форумы для обсуждения конкурсов и любых тем, связанных с ML;
  3. Наборы данных – они могут относиться к соревнованиям или быть независимыми.

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

  4. блокноты — в этом разделе люди показывают, как именно они решили проблему, и публикуют свой код.


Что такое блокноты и зачем они нужны?



От экономистов до специалистов по обработке данных или как стать лидером рейтинга Kaggle Notebooks

Когда люди пишут код Python, есть несколько вариантов, как это сделать.

И один из них — Jupyter-Notebooks, интерактивный интерфейс, в котором можно писать код и сразу показывать результаты анализа.

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

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

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

Важным условием была публикация Блокнотов – ваших записей исследований.

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

Меня это заинтересовало и я подготовил свой анализ.

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

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

Мотивов было несколько.

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

Когда вы работаете в компании, вы можете сравнивать свои навыки только с навыками коллег.

При этом вы часто работаете над разными задачами.

А если на платформе зарегистрированы сотни тысяч специалистов, то это хорошая возможность оценить себя.

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

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

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

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

Участник может достичь звания эксперта, мастера и гроссмейстера.

И для каждого из них нужно выполнить некоторые требования.

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

И их получают те, кто входит в топ-10-20 среди тысяч участников конкурса.

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

Гроссмейстером по тетрадям я стал в феврале 2019 года, а чуть позже достиг 1-го места в рейтинге и удерживал его более года.

Сейчас я сбавил темп и нахожусь на 4-м месте.

При этом я продолжал участвовать в соревнованиях и в августе 2019 года получил звание мастера соревнований.

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

И это было довольно сложно.

Часто мне приходилось проводить исследования очень быстро.

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

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

Есть конкурсы на самые разные темы: тексты, картинки, медицина, металлургия и так далее.

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

Полноценная работа на ноутбуке может занять около 20-30 часов.

Иногда это происходит быстрее, иногда дольше.

Это заняло много времени, но я уверен, оно того стоило.



Как попасть в рейтинг Kaggle

Стать участником сообщества и попасть в рейтинг может абсолютно любой желающий.

Гораздо сложнее подняться в рейтинге.

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

Трудно занять первое место в рейтинге соревнований.

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

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



Самые интересные задачи в Блокнотах

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

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

Еще был интересный конкурс от Two Sigma. Они хотели, чтобы мы попытались предсказать цены на акции.

Это очень популярная тема, но реализовать ее практически невозможно.

Они предоставили довольно интересные данные.

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

На основании этих данных и нужно было построить прогноз.

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

Это было довольно интересно, но, конечно, очень сложно предсказать цену акций.



От экономистов до специалистов по обработке данных или как стать лидером рейтинга Kaggle Notebooks

Помню еще один конкурс на другую тему.

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

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

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

На основании анализа фонд планировал улучшить объявления.

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



От экономистов до специалистов по обработке данных или как стать лидером рейтинга Kaggle Notebooks

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

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

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



Как стать лидером рейтинга Kaggle Notebooks

Самый главный совет – не бояться.

Каждый с чего-то начинал и каждый совершал ошибки.

Только практика принесет результаты.

Основные советы и лайфхаки:

  1. Первое и главное: ноутбуки нужно подготовить качественно.

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

  2. Вам нужно подумать, о чем вы будете писать «Тетради».

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

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

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

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

    Иногда люди не рассказывают об исследовании и не пишут код сразу — это отпугивает участников сообщества и снижает ваши шансы на получение лайков.

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

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

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

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

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



Что мне дает Каггл?



От экономистов до специалистов по обработке данных или как стать лидером рейтинга Kaggle Notebooks

Когда я стал мастером соревнований, мне стало поступать больше предложений о работе — так я устроился в AI-центр МТС.

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

Быть на вершине рейтинга Kaggle — крутое достижение.

Я дал несколько интервью об этом и выступил на мероприятиях.

Это выгодно не только мне лично, но и моему работодателю.

Я знаю как минимум пару человек, для которых тот факт, что я работал в компании, был одним из критериев принятия решения.

Звучит нескромно, но это правда.

Когда я выступаю на внешних мероприятиях, всегда говорю, что работаю в AI-центре МТС, и это влияет на восприятие компании другими людьми.

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

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

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

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

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

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

Теги: #Машинное обучение #Карьера в ИТ-индустрии #ИТ-компании #ИТ-компании #наука о данных #машинное обучение #kaggle #визуализация #карьера

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.