В этой статье я хотел бы поделиться своим опытом работы в области науки о данных за последние 18 месяцев.

Это мой первый пост на Medium, поэтому я хотел бы рассказать немного о себе и своем предыдущем опыте. Я занимаюсь экологической инженерией и компьютерными науками из Гарварда, доктор философии. студент, а также по совместительству консультант по машинному обучению и блокчейну в Critical Future, британской консалтинговой фирме, специализирующейся на искусственном интеллекте. Мои исследования сосредоточены на внедрении машинного обучения и искусственного интеллекта в науку об окружающей среде с использованием сенсорных систем на основе дронов, которые способны интеллектуально перемещаться для картирования химического состава нижних слоев атмосферы, преимущественно в тропических лесах Амазонки (для тех, кто заинтересован в этом). проекта, в ближайшее время я опубликую об этом отдельные статьи).

Я начал свою докторскую диссертацию. в Гарвардском университете осенью 2017 года, когда я закончила комбинированную программу бакалавриата и магистра машиностроения в Имперском колледже Лондона, а последний год я закончила за границей в Национальном университете Сингапура. Во время учебы в бакалавриате я мало знакомился с наукой о данных или статистикой в ​​целом, но хорошо разбирался в кодировании в форме Matlab, C и Visual Basic, а также имел сильную математическую основу.

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

Присоединиться к программе в Гарварде с акцентом на науку о данных и машинное обучение с таким небольшим опытом было похоже на восхождение по отвесной скале, физически утомительно и довольно опасно - хотя, в конце концов, это Гарвард, поэтому вряд ли можно ожидать меньшего. Доктор философии Программа в Гарварде требует, чтобы вы посетили 10 классов, обычно 8 из которых являются классами для выпускников. Вы можете делать это в своем собственном темпе, но должны закончить их до окончания учебы, что в среднем занимает 5 лет. Рекомендуется, чтобы учащиеся закончили все свои занятия в течение первых двух лет, после чего им разрешается получить (технически бесплатно) степень магистра при прохождении. В конце семестра весны 2019 года я отвечу этим требованиям и получу диплом, после чего сосредоточусь исключительно на исследованиях.

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

За последние 18 месяцев я прошел широкий круг занятий. Одним из первых был CS205: Parallel Computing, где я впервые научился программировать на Linux и построил вычислительные кластеры, которые были способны обеспечивать линейное ускорение для матричных вычислений, что привело к финальному проекту, который включал параллельные вычисления на Python с Dask на Kubernetes. кластер.

В то же время я взял курс AM207: Advanced Scientific Computing, который предлагается Гарвардской школой расширения (и, таким образом, любой может записаться на этот курс). Этот класс был посвящен байесовской статистике и ее внедрению в машинное обучение, что включало бесчисленные часы моделирования цепей Маркова Монте-Карло (MCMC), работу с теоремой Байеса и даже включало просмотр короткого видео о Супермене. обратимости времени в машинном обучении.

Другими основными классами являются AC209a, которые посвящены основам машинного обучения и темам науки о данных. Я бы сказал, что это то, о чем думает большинство людей, когда кто-то произносит слова «наука о данных» или «машинное обучение». Он включает в себя обучение выполнению исследовательского анализа данных и запуску регрессоров и классификаторов sklearn. Большая часть класса фокусируется на понимании этих методов и на том, как лучше всего их оптимизировать для заданного набора данных (это немного больше, чем выполнение model.fit (X_train, y_train)…). Другой класс - AC209b: Advanced Topics in Data Science, который является расширением первого класса. По сути, это наука о данных на стероидах, где первые несколько лекций начинаются с обобщенных аддитивных моделей и создания красивых сплайнов для описания наборов данных. Однако он быстро перерастает в запуск 2500 моделей с использованием Dask параллельно в кластере Kubernetes, пытаясь выполнить оптимизацию гиперпараметров на 100-слойной искусственной нейронной сети. На самом деле, это было даже не самое сложное, что мы делали, это произошло всего за третью неделю лекций, если рассматривать в перспективе.

Другие занятия, которые я изучал по пути, включают CS181: Машинное обучение, в котором изучается математика регрессии, классификации, обучения с подкреплением и другие области с использованием как частотной, так и байесовской структур; AM205: научные методы решения дифференциальных уравнений, а также AM225: расширенные методы решения дифференциальных уравнений с частными производными. Есть множество других курсов, которые я мог бы посещать, и я могу посещать в течение оставшегося времени в Гарварде, чтобы углубить свои знания, такие как CS207: Разработка систем для вычислительной науки, AM231: Теория принятия решений или AM221: Расширенная оптимизация. Я также должен уточнить, что у каждого из этих классов был заключительный проект, который я смог добавить в свое портфолио.

Теперь давайте перейдем к сути этой статьи - после всего этого времени, которое я потратил на изучение того, как стать хорошим специалистом по данным, стоило ли оно того? Или я мог сделать это сам? В частности, стоит ли тому, кто хочет продолжить эту карьеру, вкладывать 1-2 года и более 100 000 долларов в получение степени в области науки о данных?

Я бы сказал, что все, что я узнал за последние 18 месяцев занятий на курсах по науке о данных, я мог бы узнать, читая книги, просматривая онлайн-видео и просматривая документацию к различным программным пакетам. Однако я не сомневаюсь, что получение степени в области науки о данных ускорит карьеру специалиста по данным, а также даст им ценный опыт работы с реальными проектами в области науки о данных, которые можно обсудить в интервью и использовать в портфолио. Лично мне потребовались бы годы, чтобы решить, как оптимизировать 100-слойную нейронную сеть, работающую в параллельном кластере в Google Cloud, если бы я просто сидел дома и смотрел видео на Youtube - я даже не мог себе представить, как это сделать.

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

Мой совет тем, кто хочет заниматься наукой о данных, - получить хороший фундамент в области статистики и математики и получить некоторый опыт программирования, особенно на таких языках, как Python, R, а также с Linux. Большинство студентов на курсах по науке о данных, которые я видел, похоже, борются с аспектами, связанными с информатикой, такими как запуск контейнеров Docker и создание распределенных кластеров, работающих в некоторой облачной инфраструктуре, и управление ими. Чтобы стать опытным специалистом по данным, необходимо овладеть множеством сложных навыков, и я, конечно же, не стал бы называть себя экспертом. Тем не менее, пройдя через этот опыт, я чувствую себя достаточно уверенно, что могу уйти и продолжить развивать свои собственные навыки в области науки о данных и машинного обучения, а также применять их в отраслевых проектах и ​​исследованиях, не опасаясь делать `` плохую науку ''. '.

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