Мой путь обучения к тому, чтобы стать инженером по машинному обучению

Пошаговое руководство, которое поможет вам сформировать набор навыков инженера по машинному обучению.

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

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

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

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

Почему я выбрал эти рекомендуемые курсы

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

  • Интерактивность. Я верю, что для овладения любым навыком нужен опыт. Поскольку каждый домен здесь ориентирован на программное обеспечение, каждая область предлагает возможность запачкать руки такими вещами, как коды и наборы данных. Некоторые из них немного более структурированы, чем другие, но я уверен, что в каждый рекомендуемый курс каким-то образом встроено какое-то интерактивное упражнение.
  • Самостоятельное обучение. Я работаю на полную ставку и являюсь отцом двух маленьких девочек, поэтому гибкость необходима практически во всем, что я делаю в жизни. Еще до рождения дочерей я проучился один семестр по программе MBA на месте по вечерам после работы, и я обнаружил, что это был абсолютный кошмар. Вдобавок я обнаружил, что учусь намного быстрее, чем предлагает традиционная университетская среда. К счастью, Интернет действительно упростил образование в этом смысле, и я рад сообщить, что каждый рекомендованный курс в этом плане обучения соответствует модели самостоятельного обучения.
  • Экономическая эффективность. Не вдавайтесь в подробности о стоимости традиционного высшего образования. Учитывая, что стоимость типичной магистерской программы превышает 15 000 долларов, могу заверить вас, что вам не нужно тратить деньги на приобретение этих навыков! Я заплатил за большую часть этих вещей из собственного кармана, и они были НАМНОГО дешевле, чем моя степень магистра. Многие курсы даже бесплатные. Самое дорогое, что он получает, - это наноразмеры Udacity. В общем, мне понравилось, как они структурировали свой контент, я счел, что это стоит затрат, и они по-прежнему намного дешевле, чем традиционное высшее образование.

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

Как структурирован этот учебный план

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

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

  1. Инженерия данных: данные, данные, данные. Данные, естественно, лежат в основе машинного обучения, поскольку машинное обучение изучает закономерности на основе этих данных, но данные часто не готовы к использованию. Этот набор курсов посвящен тому, как развить навыки в области инженерии данных, в том числе познакомить вас с такими языками программирования, как Python и SQL, как правильно очищать данные для алгоритмов прогнозирования и как структурировать данные в таких вещах, как реляционные и нереляционные базы данных. .
  2. Машинное обучение. Поскольку машинное обучение очень сильно зависит от проектирования данных / функций, это единственная область, которую я определенно рекомендую воздерживаться, пока вы не разберетесь с содержанием инженерии данных. Я думаю, что после того, как вы пройдете через инженерию данных, вы обнаружите, что изучение машинного обучения в целом не так уж плохо и весело. Программные библиотеки, такие как Scikit-Learn и Tensorflow, действительно абстрагировались от многих «болезненных» деталей общих алгоритмов машинного обучения, поэтому понимание теории здесь будет важнее всего. На самом деле построить прогнозную модель с помощью чего-то вроде Scikit-Learn - совсем несложно. (При условии, что ваши данные, конечно, правильно спроектированы!)
  3. Разработка программного обеспечения. Более конкретно для роли MLE, а не просто для роли специалиста по данным, MLE работает над созданием надлежащей инфраструктуры и инструментов, необходимых для реализации машинного обучения в программной среде. Этот домен определенно важен, но он не обязательно зависит от двух предыдущих, чтобы начать обучение. Если вы уже являетесь разработчиком программного обеспечения, вы, возможно, уже начали пропускать большую часть этого контента. Мы охватываем множество вопросов в этой области, включая базовые вещи, связанные с Git и CI / CD, контейнеризацию через Docker и Kubernetes, а также облачную инженерию на таких платформах, как Amazon Web Services (AWS) и Google Cloud Platform (GCP).
  4. Математика: я знаю, какое красивое имя! Так что я буду на 100% честен ... вам действительно не нужно много вникать в эту сферу, чтобы действительно встать и начать работать в сфере машинного обучения. Как я упоминал ранее, программные библиотеки в значительной степени абстрагируют для вас математические алгоритмы. Так почему я включаю его сюда? Проще говоря, если вы в этой игре надолго, понимание закулисной математики сделает вас лучшим инженером в знании наиболее идеального алгоритма для конкретного сценария. Как и область разработки программного обеспечения, эта математическая область не имеет жестких зависимостей от трех других областей.

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

И последнее, ЗАКЛЮЧИТЕЛЬНОЕ замечание перед тем, как перейти к этому списку курсов: меня никоим образом не спонсируют для продвижения какой-либо из этих платформ. Я ценю их всех по разным причинам, и я надеюсь, вы видите, что каждый из них получает справедливую критику как за его положительные, так и за отрицательные качества.

По словам комика Пита Холмса: «Давайте. Получить. Внутрь!

Домен 1: Инженерия данных

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

  • Введение в программирование на Python (платформа: Udacity | Стоимость: бесплатно): название в значительной степени говорит вам все, что вам нужно знать. Этот относительно короткий курс поможет вам окунуться в мир Python: язык программирования, с которым вы будете ОЧЕНЬ знакомы почти в каждом последующем курсе.
  • SQL для анализа данных (платформа: Udacity | Стоимость: бесплатно): я должен сказать, что из всех бесплатных курсов, которые я когда-либо проходил на Udacity, этот, безусловно, лучший. Так же, как предыдущий знакомит вас с Python, этот знакомит вас с SQL с нуля. Вы можете использовать SQL не так часто, как Python, но это, безусловно, важно знать в мире инженерии данных.
  • Анализ данных с помощью R (платформа: Udacity | Стоимость: бесплатно): в зависимости от среды, в которой вы в конечном итоге работаете, вы можете найти людей, использующих язык R вместо Python. По общему признанию, большинство ресурсов, упомянутых в оставшейся части этого поста, больше ориентированы на использование Python, но я все же считаю, что получить базовое образование на R.
  • Data Analyst Nanodegree (Платформа: Udacity | Стоимость: 899 долларов США за 4-месячный доступ): Итак, мы подошли к нашему первому платному курсу. Сейчас, когда я публикую это, я лично завершаю свою шестую наностепеню, и я должен сказать ... наностепень аналитика данных, несомненно, была той, которая принесла мне наибольшую пользу в одном курсе. Они используют весь спектр того, что вы узнаете здесь: Numpy, Pandas, визуализация данных с помощью Matplotlib, извлечение данных API, Beautiful Soup, Regex, лучшие практики очистки данных ... Я почти уверен, что скучаю по другим! Поскольку контент является одним из их наиболее зрелых наноразмеров, он действительно очень хорошо структурирован. Если вы решите использовать только один наноразмер, сделайте это своим выбором.
  • Data Engineer Nanodegree (Платформа: Udacity | Стоимость: 1099 долларов США за 5-месячный доступ): там, где специалист по анализу данных nanodegree сосредоточился на работе с самими данными и между ними, инженер данных nanodegree уделяет больше внимания правильному хранение, структура и перемещение данных. Он охватывает такие вещи, как проектирование реляционной и нереляционной схемы, использование обработки больших данных с помощью Spark, автоматизация рабочих процессов с помощью Apache Airflow и многое другое. Теперь вот мое предостережение ... когда я впервые взял это в апреле 2019 года, он все еще был в стадии бета-тестирования, и было ясно, что многие недостатки еще предстоит исправить. Я надеюсь, что они уже обновили его, потому что здесь действительно много отличного контента. (Но, учитывая, что манипуляции с данными более важны для машинного обучения, я по-прежнему придаю большее значение наностепени аналитика данных.)
  • Специальность по работе с большими данными, сертифицированная AWS (платформа: Udemy / WhizLabs | Стоимость: ~ 60 долларов США): естественно, это подходит только для людей, заинтересованных в использовании AWS для обработки данных, но я полагаю, что это включает многие из вас читают этот пост. Теперь я знаю, что это обозначение действительно устаревает в марте 2020 года, но точно не исчезнет. Скоро будут сданы два новых специальных экзамена (специальность по аналитике данных и специальность по базам данных), и я готов поспорить, что большая часть этого контента AWS Big Data будет перенесена в эти новые экзамены. Для видеообучения я настоятельно рекомендую курс Udemy от Sundog Education. Как бы я ни любил A Cloud Guru, я просто думаю, что этот конкретный курс лучше подходит для этого предмета. И поскольку мне нравится учиться с помощью практических экзаменов, я полагаю, что рекомендую WhizLabs. Честно говоря ... Я видел экзамены по лучшей практике для других сертификатов AWS, но ... они лучше всех подходят для специализации по большим данным. * пожимает плечами *

Домен 2: Машинное обучение

Как я упоминал ранее, я определенно не рекомендую переходить к ЛЮБОМУ курсу в этой области, пока вы не освоите хотя бы «наностепенный контент аналитика данных» из области Data Engineering. Вы быстро поймете, насколько важна инженерия данных как своего рода предпосылка для машинного обучения.

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

  • Введение в машинное обучение Nanodegree (платформа: Udacity | Стоимость: 699 долларов США за 3-месячный доступ): вот и наша первая опция выбрать свой собственный путь. Когда я впервые получил эту наноразмерную степень, на самом деле она была объединена как Термин 1 в двухчленной наноразмерной степени Ученый по данным. С тех пор он был отделен от Term 2 (теперь просто Data Scientist) и получил собственный наностепень. Мне очень понравилось, как было структурировано содержание этой наноразмерной шкалы. Он предоставил простые и лаконичные объяснения многих алгоритмов машинного обучения и, конечно же, предоставил множество возможностей. Но ... он также во многом покрывает те же вопросы, что и наш следующий вариант, и следующий вариант - это небольшая часть его цены. Я по-прежнему получил большую ценность от этого, так что я все еще чувствовал, что о нем стоит упомянуть.
  • Машинное обучение AZ: Практический Python и R в области науки о данных (Платформа: Udemy | Стоимость:‹ 20 долларов с кодом продажи / купона) : Хорошо… так что у меня отношения любви / ненависти к курсам как этот. Что мне нравится: они покрывают тонны земли по очень и очень низкой цене. Что я ненавижу: они почти покрывают слишком много земли. Как я уже упоминал в статье Udacity's Intro to Machine Learning nanodegree, они были действительно простыми и лаконичными. Этот курс идет немного глубже. НО он также охватывает некоторые аспекты, которых нет в наностепени Udacity, например дополнительные алгоритмы и то, как все делать в R. Перед этим курсом я прошел наноградус Udacity, и лично я нашел в них большую ценность. Но если вы заботитесь о затратах, я не виню вас, если вы выберете только этот вариант.
  • Введение в TensorFlow для глубокого обучения (платформа: Udacity | Стоимость: бесплатно): Итак, мы рассмотрели наши базовые основы машинного обучения, но вы захотите убедиться, что вы хотя бы ваш палец в бассейне глубокого обучения. Некоторые из этих других упомянутых ресурсов действительно затрагивают глубокое обучение здесь и там, но я рекомендую этот ресурс, чтобы убедиться, что вы действительно познакомились с ним. Хотя TensorFlow явно подчеркнут и важен сам по себе, этот курс также охватывает общие знания глубокого обучения. (Если вы действительно хотите углубиться в тему глубокого обучения, я уверен, что вы найдете множество ресурсов, которые помогут вам продвинуться дальше этого курса.)
  • Data Scientist Nanodegree (Платформа: Udacity | Стоимость: 899 долларов США за 4-месячный доступ): я знаю, что этот путь обучения больше ориентирован на роль MLE, но я все же нашел эту конкретную наностепь, чтобы охватить достаточно новых контент, который стоит порекомендовать. Я имею в виду такие вещи, как создание и публикация пакета Python в PyPi, как построить модель рекомендаций с совместной фильтрацией и отработать свои навыки в крупном проекте, посвященном завершению проекта. Так что да, даже для тех, кто стремится к роли MLE, эта наноуровень все еще очень актуальна.
  • Специализация по машинному обучению, сертифицированная AWS (платформа: Cloud Guru / Udemy | Стоимость: ~ 50 долларов США). Опять же, это будет больше ориентировано на людей, желающих использовать AWS. Этот экзамен вышел из бета-тестирования в марте 2019 года, так что пока еще относительно. Скажу честно: я прошел только курс A Cloud Guru, но не курс Sundog Education на Udemy. Это связано с тем, что последний еще не был запущен, когда я проходил свой тест в сентябре 2019 года. Но я все еще рекомендую его по трем причинам: понравился специальный курс по большим данным Sundog Education и в) Я знаю людей, которые прошли именно этот курс, и он им понравился. Тест достаточно сложен, а курсы достаточно дешевы, поэтому я все же рекомендую посмотреть оба!
  • ЧТО Я ПОДОЗРИТЕЛЬНО НЕ РЕКОМЕНДУЮ… Инженер по машинному обучению Nanodegree (Платформа: Udacity | Цена: 699 долларов за доступ на 3 месяца): Дун дан дан !!! Знаю… скандально! Теперь почему парень, создающий план MLE и воспевающий другие наностепени Udacity, НЕ включает эту конкретную наностепень ?? Прямо в названии написано Инженер по машинному обучению! Реальность такова, что эта наностепень была обновлена ​​совсем недавно, чтобы сосредоточиться в первую очередь на AWS SageMaker, и это было сделано с очень ограниченными возможностями. (Типа… он даже не распространяется на нестандартные контейнеры.) Это неплохой курс, но очень ошибочно называть эту наноразмерную степень инженер по машинному обучению, учитывая, насколько узка ее новая область применения. Я предполагаю, что раньше он занимал больше места до своего обновления, но в его нынешнем виде я просто не могу рекомендовать этот наноразмер за его цену. Извини, Udacity! Можем ли мы оставаться друзьями…?

Область 3: Разработка программного обеспечения

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

  • Основы работы с командной строкой (платформа: Udacity | Стоимость: бесплатно): независимо от того, используете ли вы Терминал на Mac или Git Bash в Windows, вам нужно будет хорошо ознакомиться с тем, как использовать командную строку для Роль MLE. К счастью, на самом деле это намного проще, чем вы думаете. Я лично смотрел сериалы вроде Mr. Робот и замираю от замешательства всякий раз, когда вижу командную строку на экране, но вы быстро обнаружите, что это вовсе не так страшно, как могло бы показаться. Этот бесплатный курс очень полезен, чтобы вы начали изучать основы, и вы можете легко освоить его за час или около того.
  • Контроль версий с помощью Git (платформа: Udacity | Стоимость: бесплатно): высока вероятность того, что вы в конечном итоге будете сотрудничать с другими в проекте разработки программного обеспечения, поэтому изучение Git абсолютно необходимо. Черт возьми, даже если вы в конечном итоге ни с кем не станете работать, вы все равно захотите изучить Git, чтобы опубликовать свое портфолио на GitHub! Этот бесплатный курс довольно хорошо знакомит вас с основами git, включая инициализацию репозитория, фиксацию кода, ветвление и слияние веток.
  • GitLab CI / CD (Платформа: Udemy | Стоимость:‹ 20 долларов с кодом продажи / купона) : Хорошо, поэтому некоторые люди по понятным причинам будут спорить со мной по этому поводу. Я думаю, что все согласятся, что изучение CI / CD важно, но я не уверен, что люди захотят, чтобы я указал вам на GitLab, чтобы узнать об этом. Вместо этого они могут порекомендовать вам курс с Дженкинсом. Тем не менее, я включаю это по двум причинам: а) он становится все популярнее среди многих крупных компаний и б) вы собираетесь познакомиться со вторым, другим методом CI / CD в курсе контейнеризации. Поскольку у меня есть личный опыт работы с этим курсом, я все равно рекомендую его даже для обычных изучающих CI / CD, поскольку он довольно хорошо преподает эти концепции даже на уровне, отличном от GitLab.
  • Разработка RESTful API (платформа: Udacity | Стоимость: бесплатно): Признание… Я вроде как не прошел этот курс…? Я имею в виду, что большинство нано-степеней Udacity идут с бесплатным бонусным контентом, поэтому я фактически узнал содержание того, чему учит этот курс. Этот бонусный контент обычно основан на их бесплатном контенте, поэтому я думаю, что это правильный бесплатный курс…? Описание, кажется, указывает на это. В любом случае важно знать, как создавать API, особенно при их создании с использованием Flask в Python. В этом курсе говорится, что он охватывает Flask, поэтому я верю, что он научит вас тому же самому, чему научился я!
  • Docker и Kubernetes: полное руководство (платформа: Udemy | Стоимость:‹ 20 долларов с кодом продажи / купона) : одна из самых важных тем, набирающих обороты в мире разработки программного обеспечения, - это идея разделения монолитное программное обеспечение в контейнерные микросервисы, и, конечно же, самыми популярными инструментами, которые помогают в этом, являются Docker и Kubernetes. Этот курс, содержащий более 21 часа видеоконтента, действительно длинный, но он действительно стоит того, чтобы пройти его целиком. Инструктор отлично объясняет все как теоретически, так и с помощью практических лабораторных работ. И, как я уже упоминал выше, вы снова познакомитесь с практиками CI / CD здесь с GitHub и Travis CI.
  • AWS Certified Solutions Architect - Associate (Platform: A Cloud Guru / Udemy | Стоимость: ~ 50 долларов в сумме): как вы, возможно, помните, я уже упоминал, что, возможно, стоит потратить время на изучение соответствующие обозначения специальности AWS по большим данным и машинному обучению. Что я не упомянул, так это то, что вам действительно следует начать здесь (или даже с более низкого уровня Cloud Practitioner), когда вы начинаете изучать облако. Это конкретное обозначение дает вам представление об облачной инженерии на более общем уровне, что, я думаю, важно для вас, если вы собираетесь выполнять работу инженера по машинному обучению на AWS. Для видеокурсов я легко рекомендую A Cloud Guru, а для усиления практических тестов я рекомендую этот пакет практических экзаменов Джона Бонсо, который вы можете найти на Udemy.
  • Ассоциированный специалист по облачным технологиям Google Cloud Platform (платформа: Облачный гуру / Udemy | Стоимость: ~ 40 долларов): я знаю, что мы много говорили об AWS, но я думаю, что хорошо получить обучены на мультиоблачном уровне. Вы не только естественным образом узнаете много нового о Google Cloud Platform, но и сделаете здесь очень сильный акцент на Kubernetes, закрепив то, что вы узнаете в другом курсе выше. И снова наши друзья из A Cloud Guru приходят на помощь с отличным видеокурсом, и я также прикрепил ссылку на некоторые практические экзамены.

Домен 4: математика

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

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

  • Введение в описательную статистику (платформа: Udacity | Стоимость: бесплатно): как бы это ни звучало, этот курс даст вам хорошее базовое введение в описательную статистику. Он также служит предшественником своего следующего родственного курса ...
  • Введение в выводную статистику (Платформа: Udacity | Стоимость: бесплатно): после получения основополагающих знаний по описательной статистике из вышеприведенного курса этот курс начнет мягко помогать вам в некоторых математических вычислениях, которые позволяют алгоритмы машинного обучения, о которых вы узнали в области машинного обучения.
  • LAFF: линейная алгебра - основы границ (платформа: edX | Стоимость: бесплатно): линейная алгебра имеет решающее значение для понимания, поскольку она является движущей силой таких вещей, как системы рекомендаций, использующие совместную фильтрацию. При прохождении этого курса следует помнить о некоторых вещах: во-первых, они открываются / закрываются с той же частотой, что и обычный университетский семестр. Это по-прежнему самостоятельный темп, но, к сожалению, вы не можете начать, когда захотите. Во-вторых, в курсе делается упор на обучение с помощью этого программного обеспечения под названием MATLAB. В MATLAB нет ничего плохого, но когда они на самом деле не говорят вам, у них есть альтернативный набор тех же упражнений, которые выполняются в Jupyter Notebooks с Python. Учитывая, что вы будете больше работать с этими последними инструментами в качестве MLE, я бы рекомендовал выполнять упражнения с ними вместо MATLAB.
  • Дифференциальное исчисление (Платформа: Khan Academy | Стоимость: бесплатно): Ах да, магия производной. Мне нечего сказать, кроме того, что это хороший курс. Просто не забудьте освежиться в предварительных математических требованиях, если вам нужно. Khan Academy, вероятно, лучшая математическая платформа в Интернете, и все их материалы бесплатны.
  • Интегральное исчисление (платформа: Khan Academy | Стоимость: бесплатно): здесь та же основная идея, что и выше. Как только вы начнете изучать эти курсы, вы начнете понимать, как это применимо к машинному обучению, с помощью таких вещей, как градиентный спуск. В этом смысле я лично считаю, что более полезно пройти через область машинного обучения и сначала изучить теорию, лежащую в основе алгоритмов. Это просто поможет закрепить ваши знания в этой математике, работая за кулисами, когда вы, наконец, ее выучите.
  • Многовариантное исчисление (платформа: Khan Academy | Стоимость: бесплатно): Хорошо, крошечное признание… на момент публикации этой публикации я фактически еще не проходил этот конкретный курс. Я все еще рекомендую его, так как его рекомендовали мне друзья-аналитики данных, и мой общий опыт работы с Khan Academy был потрясающим. И последнее случайное замечание: использование приложения Khan Academy для iPad с Apple Pencil - феноменальный опыт. Они включили его, так что вы можете использовать интерфейс письма для любой практической задачи, над которой вы работаете. Никакой возни с бумагой!

Вперед, Вперед!

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

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

Спасибо, что прочитали этот пост! Наилучшие пожелания всем вам в вашем учебном путешествии.