Найти тему
Data Science в переводе

Как самостоятельно освоить Data Science в 2022 году: Машинное обучение

Оглавление

Перевод статьи How to Teach Yourself Data Science in 2021: Machine Learning.
Автор Voon Hao (Travis) Tang.
Перевод выполнен с разрешения автора.

Фото Markus Winkler с сайта Unsplash.com
Фото Markus Winkler с сайта Unsplash.com

Лучший курс для старта: от линейной регрессии до нейронной сети

Предупреждение: я не получаю вознаграждение за продвижение какого-либо контента на этой странице.

Хотите изучить машинное обучение (machine learning, ML) или data science, но не знаете, с чего начать? Я был на вашем месте — и я помню долгие ночи исследований в информационном море интернета в поисках курса, который будет наилучшим использованием моего времени. После некоторых напряженных поисков я нашел несколько превосходных ресурсов по машинному обучению, которые я использовал для прохождения собеседования и получения работы в области данных. В этом посте я поделюсь своим любимым курсом машинного обучения, чтобы вы могли сразу погрузиться в учебу, не тратя ночи на исследования.

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

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

Но что именно значит машинное обучение?

Мне нравится думать о машинном обучении как о науке обучения машин учиться самим по себе. Если точнее, отец машинного обучения, Артур Сэмюэл, изящно определил его в 1959 году как

область исследований, которая дает компьютерам возможность учиться без явного программирования [1]

Это разительно отличается от того, что мы определили как традиционное программирование. В традиционном программировании мы даем компьютеру часть программы и входные данные. В свою очередь, мы ожидаем данные на выходе. Например, если мы даём программе-калькулятору на вход 1+1, мы все знаем, что будет на выходе.

Процесс традиционного программирования
Процесс традиционного программирования

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

Например, Илон Маск планирует купить подержанную Tesla. Он изучает цены на автомобили Tesla в Craigslist и обнаруживает, что стоимость почти новой Tesla начинается примерно с 40 000 $. Он также понимает, что по мере устаревания автомобиля цены на Tesla падают примерно на 1000 $ в год. Затем он предсказывает, что автомобиль 5-летнего возраста стоит — вы уже догадались — 35 000 $.

Процесс машинного обучения
Процесс машинного обучения

Другими словами, Илон просто изобрел регрессию — важную концепцию в машинном обучении! В машинном обучении программа распознает закономерности между входными и выходными данными и предсказывает, что будет на выходе.

Сколько стоит эта Tesla? Фото Nick Coleman с сайта Unsplash.com
Сколько стоит эта Tesla? Фото Nick Coleman с сайта Unsplash.com

Что насчет искусственного интеллекта и глубокого обучения?

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

Отношения между ИИ, машинным обучением, глубоким обучением.
Отношения между ИИ, машинным обучением, глубоким обучением.

Как вы можете видеть из этой диаграммы Венна, глубокое обучение (deep learning) — это подмножество машинного обучения, где алгоритмы имитируют то, как наш мозг передает информацию — от нейрона к нейрону. Глубокое обучение часто рассматривается как более сложная форма машинного обучения. Таким образом, учащийся должен сначала овладеть основами машинного обучения, прежде чем погрузиться в глубокое обучение.

С другой стороны, машинное обучение — это подмножество искусственного интеллекта (artificial intelligence, AI). В просторечии AI определяется как имитация когнитивного интеллекта, демонстрируемого машинами в различных формах, включая, но не ограничиваясь этим, рассуждение, планирование и обучение. [2]

Как это все связано с Data Science?

Data science -это междисциплинарная область, которая использует методы и теории, заимствованные из областей математики, информатики, предметных знаний. [3] Чтобы проиллюстрировать, что такое наука о данных, я хотел бы использовать диаграмму Венна ниже.

Отношение между машинным обучением и data science.
Отношение между машинным обучением и data science.

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

Ладно, я понял. Как этому научиться?

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

Вот некоторые из вводных курсов по машинному обучению, популярные среди новичков в Data Science:

И этот список можно продолжить!

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

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

Машинное обучение Andrew Ng на Coursera

Этот курс по машинному обучению постоянно рекламируют как самый лучший для новичков в ML. Рейтинг 4.9 из 150,000 оценок 3.7 миллионов студентов намекает на его основательность.

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

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

Процесс подачи заявки на получение финансовой помощи на Coursera.
Процесс подачи заявки на получение финансовой помощи на Coursera.

Ведущий курса, Andrew Ng, вряд ли нуждается в представлении. Он внештатный преподаватель Стэнфордского университета, соучредитель Coursera и Google Brain, бывший вице-президент Baidu и, само собой, чрезвычайно влиятельная фигура в области машинного обучения.

Andrew Ng - одно из крупнейших имен в области искусственного интеллекта. Фото Steve Jurvetson с Wikimedia Commons
Andrew Ng - одно из крупнейших имен в области искусственного интеллекта. Фото Steve Jurvetson с Wikimedia Commons

Почему я рад, что записался на этот курс

Желая освоить data science, но не зная, с чего начать, я отчаянно гуглил "как научиться data science" чуть больше года назад. Меня просто ошеломило количество ресурсов и предметов, которые нужно было изучать — математика, теория вероятности, статистика, машинное обучение — и взялся за курс, показавшийся самым популярным — это был кур по машинному обучению Andrew Ng.

Теперь я могу сказать, что очень рад, что прошел этот курс.

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

Фото Tim Gouw с сайта Unsplash.com
Фото Tim Gouw с сайта Unsplash.com

Факт окончания мной курса служил трамплином для перехода HR-менеджеров к таким вопросам как "чему вы научились на курсе", "что было самой сложным во время обучения" и "как вы можете применить полученные знания в нашей компании?"

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

Правда, я не получил стажировку по data science, когда в моем резюме был только этот курс. Тем не менее, это дало мне уверенность, чтобы начать говорить на профессиональном языке. Благодаря этому я смог общаться и учиться у экспертов по data science.

Для кого этот курс

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

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

Кому этот курс не подойдет

Имейте в виду, что этот курс не предназначен для нетехнических учащихся, ищущих общее качественное понимание машинного обучения и того, как оно решает проблемы. Вам, возможно, лучше взять курс AI for everyone, который также ведет Andrew Ng. Он как раз ориентирован на нетехнических профессионалов, которые надеются получить общее представление о ИИ и терминах. К тому же он намного короче и требует всего лишь 6 часов времени.

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

Математика это сложно. Я могу заниматься машинным обучением без математики?

Математика важна для машинного обучения. Фото Jeswin Thomas с сайта Unsplash.com
Математика важна для машинного обучения. Фото Jeswin Thomas с сайта Unsplash.com

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

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

Роль data scientist-ов, аналитиков и инженеров заключается не только в использовании модели машинного обучения, но и в ее создании, обслуживании и развертывании. Вам нужно знать математику, чтобы сделать это.

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

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

Рекомендуемые ресурсы для навыков в программировании

Пройдя курсы по Python и R в Datacamp и Dataquest, я начал этот курс с самым элементарным пониманием MATLAB и Python. Этот курс с самого начала дает краткое и легкое введение в MATLAB, помогая учащимся быстро освоить необходимые навыки кодирования, так что вам не нужно беспокоиться, если у вас нет необходимого опыта.

Если вы не знакомы с MATLAB, но знаете другие языки программирования, я бы посоветовал погрузиться в обучение и не слишком беспокоиться о языке. Тем не менее, если вы всё же хотите потратить некоторое время на изучение MATLAB, я рекомендую следующие отличные ресурсы:

  1. MIT Open Courseware (бесплатный) или
Фото Ильи Павлова с сайта Unsplash.com
Фото Ильи Павлова с сайта Unsplash.com

Рекомендуемые ресурсы для освоения математики

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

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

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

  • Насколько я уверен в своих знаниях правил дифференцирования? Если нет, посмотрите курсы Khan Academy’s Differential Calculus.
  • Знаю ли я, что такое матрицы и как над ними выполнять операции (транспонирование, арифметические действия, скалярное умножение)? Если нет, посмотрите плейлист Khan Academy’s Linear Algebra.

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

-12
-13

Чего ждать

Осваивая на курсе машинное обучение, вы узнаете:

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

Чтобы охватить эти понятия, курс Andrew Ng разделен на главы, организованные по алгоритмам. Каждое занятие построено логично: сначала он готовит учащихся, предоставляя им краткое введение в алгоритм и яркие примеры его применения на практике. Затем он выстраивает интуицию изучающих алгоритм с помощью убедительных схематических объяснений. Такая интуиция облегчает понимание математики алгоритма, которая широко, но не чрезмерно освещается на курсе.

После лекций вы можете проверить свое понимание с помощью квизов-викторин. Чтобы закрепить свое обучение, у вас также будет возможность реализовать алгоритмы в Matlab с нуля.

Фото Green Chameleon с сайта Unsplash.com
Фото Green Chameleon с сайта Unsplash.com

О чем ты узнаешь на курсе

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

Концепции в машинном обучении
Концепции в машинном обучении

Отличный книжный компаньон

Хотя у курса Andrew Ng нет официального учебного пособия, я нахожу полезным обратиться к учебникам, когда сомневаюсь. Поэтому я рекомендую учебник Introduction to Statistical Learning, который также доступен бесплатно в интернете. Эта книга содержит ясные объяснения и иллюстрации, чтобы улучшить вашу математическую интуицию для алгоритмов машинного обучения. Правда, в учебнике используется R в качестве основного языка обучения.

Советы и рекомендации для прогресса в учебе

  • Задавайте вопросы

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

  • Делайте это медленно

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

  • Делайте небольшие перерывы

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

  • Делайте заметки по пути

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

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

Куда пойти после этого курса

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

  • Прокачать другие DS-навыки (SQL, Python, R).
  • Сделать интересные проекты для демонстрации новообретенных навыков.
  • Пройти курсы по статистике и теории вероятности.
  • Пройти на Coursera курсы deeplearning.ai по глубокому обучению.
  • Пройти углубленную версию этого курса CS229 Machine Learning. Это требует продвинутого (бакалавриат/магистратура) понимания линейной алгебры, статистики и теории вероятности.

Если вы заинтересованы в том, чтобы стать data scientist-ом…

Это серия из четырех частей о том, как изучить data science в 2021 году. Вы можете прочесть их по ссылкам ниже.

  • Часть 1 — Обработка данных с SQL, Python и R.
  • Часть 2 — Математика, теория вероятностей и статистика (скоро выйдет).
  • Часть 3 — Основы информатики (скоро выйдет).
  • Часть 4 — Машинное обучение (вы здесь!)
  • Часть 5 — Ваш личный дипломный проект по Data Science (скоро выйдет).

Заключение

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

Всего наилучшего в вашем учебном путешествии! Не стесняйтесь обращаться ко мне через LinkedIn с любыми предложениями или вопросами.

Ссылки

[1] Mitchell, Tom (1997). Machine Learning. New York: McGraw Hill. ISBN0–07–042807–7. OCLC36417892.

[2] Russell, Stuart J.; Norvig, Peter (2009). Artificial Intelligence: A Modern Approach (3rd ed.). Upper Saddle River, New Jersey: Prentice Hall. ISBN978–0–13–604259–4.

[3] Dhar, V. (2013). “Data science and prediction”. Communications of the ACM. 56 (12): 64–73. doi:10.1145/2500499. S2CID6107147. Archived from the original on 9 November 2014. Retrieved 2 September 2015.