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

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

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

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

Около пяти лет назад мое внимание начали привлекать Data Science и машинное обучение. Я хотел узнать что-то новое, и это была самая большая шумиха и самая многообещающая технология на тот момент. Так что я начал осматриваться в поисках пути обучения, которым хотел бы пойти. Сначала я прошел онлайн-курс для начинающих по машинному обучению. Было полезно получить базовые знания и изучить соответствующую терминологию. Но это было довольно далеко от «настоящих» задач Data Science, и после завершения этого курса у меня действительно не было ощущения, что я могу пойти и рассказать всем, что теперь я эксперт в Data Science. Так что я искал что-то другое. И это «еще» оказалось соревнованием по Data Science, что очень хорошо соответствовало тому, что я искал.

И вот почему ...

1. Реальные задачи

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

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

2. Сообщество

Если бы единственное, что мне нужно было решить, это была реальная проблема, я мог бы взять некоторые реальные общедоступные данные (например, историю использования Википедии) и попытаться предсказать их использование в будущем. Это было бы настоящей проблемой, которую нужно было бы решить, как я и хотел. Но… вряд ли мне удастся таким образом получить знания. Как и в начале, нам нужна помощь, руководство и «хорошие» примеры, на которых можно поучиться. Одной проблемы теперь достаточно.

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

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

3. Мгновенная объективная обратная связь

Еще одна проблема с онлайн-курсами или обучением по реальной проблеме - это отсутствие обратной связи. Конечно, на курсах есть домашние задания и экзамены, но означает ли сдача экзамена, что вы теперь хорошо разбираетесь в науке о данных? И если один и тот же экзамен сдали еще 10 000 человек, означает ли это, что все они обладают одинаковыми навыками? Конечно, нет.

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

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

4. Современные алгоритмы и инструменты.

После окончания соревнования очень часто команды-победители делятся своими подходами, моделями, а иногда даже полным исходным кодом своих решений.
Это даст вам очень хорошо и «доказано», выиграв ресурс, чтобы узнать, что действительно работает. Что я имею в виду под «доказанным»? Какому-нибудь «эксперту» легко написать статью или даже книгу о каком-либо алгоритме, методе или инструменте, заявив, что это лучший или самый эффективный, и т. Д. Мы можем найти множество описаний таких «лучших» алгоритмов. и инструменты. Но, к сожалению, часть этих инструментов и алгоритмов далеки от того, чтобы быть даже хорошими, и даже близко не к тому, чтобы называть их лучшими. Так кому мы можем верить?

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

5. Контакты, признание

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

Обладая более чем 10-летним опытом работы в ИТ, я очень регулярно получаю предложения о работе. Но я никогда раньше не получал столько предложений, сколько после победы в моем первом конкурсе Data Science на Kaggle.

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

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

6. Призы

Не все выиграют призы. Это естественно, поскольку участников может быть несколько тысяч, а призов очень мало (обычно от 3 до 5, а иногда даже один). Таким образом, призы не должны быть основной причиной участия в соревнованиях по Data Science. С другой стороны, по мере того, как вы будете становиться все лучше и лучше в науке о данных и соревнованиях, ваши шансы на получение призов значительно возрастут.

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

7. Конкурентоспособность и веселье.

И последнее, но не менее важное - это весело! А чувство конкуренции может дать дополнительную мотивацию в тот момент, когда это действительно необходимо.

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

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

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

1. Качество данных

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

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

2. Ограниченный объем знаний

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

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

3. Затраченное время

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

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

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

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

Спасибо за чтение!