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

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

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

Машинное обучение

  • Если вам нужно напомнить о статистике или познакомиться с анализом в R, мне очень понравится Изучение статистики с помощью R. DSUR на самом деле не относится к машинному обучению как таковому, поскольку большая часть книги сосредоточена на статистических выводах. Точно так же эта книга может помочь вам погрузиться в легкие математические аспекты анализа, если вы раньше этого не делали. DSUR огромен - как серьезная книга о дверных ограничителях - огромен, но я обещаю, что он действительно удобоварим. Некоторая часть кода должна быть обновлена ​​здесь и там, поскольку эта книга была опубликована несколько лет назад, и с тех пор были обновлены многие пакеты R. Если вы столкнулись с ошибкой R во время работы с примерами, не паникуйте. Быстрый поиск по Stack Overflow обычно может исправить любую икоту. Если вы хотите подкрепить свои статистические знания, прежде чем переходить к машинному обучению, я бы начал здесь.
  • Школа данных дает очень легкое введение в машинное обучение с использованием Python. Под очень легким я имею в виду смехотворно легкий, поэтому эти учебные пособия хороши, чтобы просто заставить код работать, но не имеют большого количества мяса на костях. Во всяком случае, эти видео представляют собой не страшное введение в машинное обучение с использованием Python.
  • Машинное обучение с R Ланца - отличная книга для базового введения в машинное обучение, особенно если вы немного знаете R (или даже немного SAS) и / или боитесь начинать с Python. Эта книга не слишком углубляется в детали, но это больше, чем просто обзор без каких-либо математических объяснений. Вероятно, вы могли бы довольно быстро разобраться с объяснениями и примерами проблем и получить хорошее вводное представление о наиболее распространенных алгоритмах, которые люди используют для общих задач машинного обучения. Если у вас нет опыта машинного обучения и / или плохо разбираетесь в математике, я рекомендую начать здесь.
  • Если вам нужно что-то, выходящее за рамки базового введения, Прикладное прогнозное моделирование от Kuhn & Johnson отлично подойдет. Он дает больше деталей о том, как работают алгоритмы, но не настолько, чтобы вы увязли в оптимизации или чем-то подобном. Я люблю эту книгу Это особенно здорово, если у вас уже есть обзор большинства часто используемых алгоритмов контролируемого обучения и вы хотите расширить свои знания. Кроме того, в нем довольно много информации об очистке данных и разработке функций, которые пропускаются в большинстве книг по машинному обучению (см. Это для контрпримера). Основные недостатки заключаются в том, что она не дает вам много информации о неконтролируемом обучении, а код написан на R. Тем не менее, я часто использую эту книгу в качестве справочника, даже если я на самом деле разрабатываю на Python.
  • Если вы действительно хотите сойти с ума, попробуйте Элементы статистического обучения. Лично я только бегло просмотрел его части и решил, что на самом деле это не было во мне. Но если вы один из тех людей, которые хотят иметь возможность утверждать, что вы читаете этого плохого парня, во что бы то ни стало вырубите себя. Я определенно НЕ рекомендую это место для начинающих.
  • Многие предлагают в качестве отправной точки взять Курс Эндрю Нг по машинному обучению на Coursera, но я думаю, что этому классу будет легче следовать, если вы начнете с некоторых других книг, которые не работают с линейной алгеброй, лежащей в основе алгоритмов. первый. Если вы уже знакомы с линейной алгеброй и / или немного знакомы с машинным обучением, это отличный ресурс. Эндрю Нг - очень успокаивающий учитель, который заставляет вас чувствовать, что все будет хорошо.

Python и другие вещи программирования

Если вы хотите стать специалистом по обработке данных, вам, вероятно, придется изучить несколько вещей помимо статистики и машинного обучения. Многие работодатели, нанимающие специалистов по обработке данных, предпочитают тех, кто знает Python, а не R (хотя многие используют R). Практически никто не использует MATLAB / SAS / SPSS, поэтому, если один из них - ваш единственный инструмент языка / анализа, к сожалению, вам, вероятно, придется подобрать еще один или два. (Обратите внимание, что цены на курсы Udemy обычно равны 15 долларам после создания учетной записи, а не непомерно высокой цене, которая появляется при нажатии на ссылки ниже).

  • Если у вас нет большого опыта работы с Python, я думаю, что Курс Udemy Хосе Портильи для базового Python вполне подойдет. Это легкое введение, но вы познакомитесь со многими типами данных и общими функциями Python, а упражнения / домашние задания довольно интересны. Кроме того, инструктор умеет давать понятные объяснения новичкам. Я бы начал здесь, чтобы научиться программировать на Python.
  • Кроме того, у того же профессора есть класс по SQL, который было довольно легко понять и проработать. Практически каждый в отрасли захочет, чтобы вы немного знали SQL, поэтому базовый обзор может быть очень полезным.
  • Если вы уже хорошо разбираетесь в Python, но плохо разбираетесь в объектно-ориентированном программировании, я нашел Курс Фебина Джорджа действительно полезным. Кроме того, у вас всего около 5 часов лекций, поэтому вам не придется вечно изучать основное содержание. По моему опыту, большинство специалистов не ожидают, что специалисты по обработке данных сразу после школы будут действительно свободно владеть объектно-ориентированным программированием. Однако, если вы все же получите работу в области науки о данных, вам, вероятно, в конечном итоге придется учиться. Если вас трясет от фразы объектно-ориентированное программирование, просто забудьте, что вы прочитали этот пункт.
  • Большинство специалистов в области науки о данных считают, что некоторый опыт работы с распределенными вычислениями приятно иметь, а не как строгое требование, поэтому, если вы все время ограничены во времени, я бы не стал особо беспокоиться об этом. При этом тот же чувак, который преподавал курсы SQL и Python, которые я перечислил выше, также имеет класс Spark для Python. Документация для PySpark действительно очень плохая, а сообщения об ошибках от Spark часто совершенно непостижимы, поэтому я нашел этот класс чрезвычайно полезным, когда действительно начал использовать Spark.

Полезные подкасты

Я фанат подкастов. Когда я только начинал заниматься машинным обучением, я использовал подкасты как способ превратить прогулку с собакой / поездку на работу / работу по дому во время учебы. Два моих любимых подкаста по науке о данных - это Data Skeptic и Linear Digressions. Я узнал о многих концепциях машинного обучения из этих двух подкастов и даже думаю, что впечатлил некоторых людей во время интервью, узнав о том, о чем я впервые услышал в подкастах.

  • Data Skeptic: ведущий Data Skeptic - опытный аналитик данных. В большинстве своих длинных подкастов он берет интервью у кого-нибудь из специалистов по анализу данных. Эти полные подкасты интересны, но я бы сказал, что подкасты MINI и веселее, и полезнее. В них он пытается объяснить некоторую концепцию науки о данных своей жене, которая не очень разбирается в технологиях и, как правило, не заботится о науке о данных. Он продолжает работать с информацией, пока она не получит ее. Если она это поймет, то, вероятно, поймешь и ты. Очевидно, что эти подкасты MINI не дают вам подробностей, но они дают вам представление о том, какие методы существуют, легко для понимания и с некоторым комическим облегчением.
  • Линейные отклонения. Ведущая "Линейных отклонений" - специалист по данным, которая объясняет вещи своей подруге, которая занимается разработкой программного обеспечения. Объяснения немного более технические, чем в Data Skeptic, но они по-прежнему доступны и представлены в интересной форме. Кроме того, здесь есть ссылки на множество статей и ресурсов, которые полезно прочитать, если вы хотите узнать больше. Кроме того, это женщина, которая ведет подкаст о науке о данных, что является плюсом.

Несколько слов о математике

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

  • В Руководстве по линейной алгебре без ерунды есть замечательное введение по Основам математики, которое вы даже можете бесплатно скачать здесь. В главе Основы математики рассматривается масса школьной математики, которую вы, вероятно, забыли. Остальная часть книги затем переходит к линейной алгебре, которую я нашел в целом понятным (по крайней мере, для глав, которые я читал). Кроме того, Кирк Бейкер написал учебник по разложению по сингулярным числам (SVD) (не паникуйте, это вроде как PCA), специально предназначенный для новичков в линейной алгебре. Фактически, первые 10 страниц или около того - это учебник, в котором рассказывается об основах перед тем, как перейти к SVD.
  • Около шести месяцев назад я подписался на полноправное членство на Brilliant.org. Люди в Интернете, кажется, дают блестящие смешанные отзывы, но пока мне это очень нравится. По сути, он обучает вас математическим понятиям с помощью набора анимаций и интерактивных материалов. Затем это фактически заставляет вас решать множество проблем, что, очевидно, сложнее, чем просто сидеть и смотреть видео на Coursera, но я думаю, вы уйдете с лучшим пониманием того, что вы узнали. Кроме того, вы можете просмотреть подробные объяснения каждого вопроса викторины, который вам задают. Я прошел курс Основы исчисления и даже пересмотрел некоторые материалы из курсов базовой алгебры и геометрии, чтобы быстро освежиться. Мобильное приложение тоже неплохо, поэтому, если вы можете сконцентрироваться в дороге, это хороший способ учиться в дороге.

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