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

Это часть 2 из моей серии из трех частей «Начало работы с Python, машинное обучение и глубокое обучение».

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

Обо мне

Я познакомился с компьютерами как предметом в начальной школе. Мое любопытство к этой машине побудило меня вступить в компьютерный клуб и изучать языки программирования, такие как Logo и Scratch. По мере того, как я рос, моя страсть к компьютерным наукам также росла в геометрической прогрессии, из-за чего я решил изучать ее в рамках своего бакалавриата, и поэтому в настоящее время я учусь на бакалавриате в колледже уровня 3, о котором вы, возможно, даже не слышали.

В настоящее время я получил степень магистра компьютерных наук в 7 университетах США. На данный момент я отложил прием до осени 21 из-за продолжающейся пандемии. В настоящее время я работаю стажером по машинному обучению в калифорнийском стартапе под названием «Quant Binary».

Оглавление

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

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

Что и почему - машинное обучение?

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

Все, что мы, люди, видим и используем в наши дни, так или иначе связано с машинным обучением. Прямо от использования Face unlock на наших смартфонах до использования различных продуктов, таких как Google, Google Voice, Alexa, Spotify, Youtube, Netflix и т. Д. Все без исключения построено на фундаментальной идее машинного обучения.

Самые важные библиотеки Python для машинного обучения

Используйте эти библиотеки в качестве обязательного условия для изучения машинного обучения. Сделайте это до того, как начнете изучать машинное обучение, потому что почти 80% кода, который вы напишете, будет исходить из этих библиотек.

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

1. NumPy - Числовой Python

NumPy - это библиотека Python, используемая для работы с массивами. Это библиотека, состоящая из объектов многомерных массивов и набора методов для обработки этих массивов, поэтому с помощью NumPy можно выполнять математические и логические операции с массивами. Он также имеет функции для работы в области линейной алгебры, преобразования Фурье и матриц.

В Python у нас есть списки, которые служат для создания массивов, но они медленно обрабатываются. NumPy стремится предоставить объект массива, который до 50 раз быстрее, чем традиционные списки Python, потому что массивы очень часто используются в машинном обучении, где скорость является одним из очень важных критериев.

Ресурсы

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

  • Видео Кейта Галли на Youtube оказалось для меня отличным ресурсом, чтобы узнать почти все, что требуется для начала работы. Видео короткое, четкое и по существу. Лучшее в его видео - это то, что он объясняет свой мыслительный процесс всякий раз, когда пытается отладить ошибку. Это действительно помогает новичкам узнать, как устраняется ошибка и каким должен быть ваш мыслительный процесс.

2. Pandas - библиотека анализа данных

Pandas - это быстрый, мощный, гибкий и простой в использовании инструмент для анализа и обработки данных с открытым исходным кодом, созданный на основе языка программирования Python.

Он построен на пакете NumPy, и его ключевая структура данных называется DataFrame, которая позволяет хранить табличные данные и управлять ими в строках наблюдений и столбцах переменных. DataFrames упрощают управление данными - от выбора или замены столбцов и индексов до изменения формы данных.

Ресурсы

  • Этот Плейлист Кори Шафера из 11 видео, несомненно, является лучшим и полностью исчерпывающим руководством по изучению панд.

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

3. Matplotlib - библиотека построения графиков Python.

Matplotlib - это комплексная библиотека для создания статических, анимированных и интерактивных визуализаций в Python. Это кроссплатформенная библиотека для создания 2D-графиков из данных в массивах.

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

Ресурсы

  • Этот Плейлист Кори Шафера из 10 видео - самый обширный плейлист, который вы можете найти. Он охватывает широкий спектр тем, таких как настройка наших графиков, различные типы графиков, построение графиков данных в реальном времени и многое другое.

4. Seaborn - визуализация статистических данных.

Seaborn - это библиотека визуализации данных Python, основанная на matplotlib. Он предоставляет высокоуровневый интерфейс для рисования привлекательных и информативных статистических графиков.

Seaborn часто используется, потому что он делает привлекательные визуализации и легко работает с Pandas и NumPy. В то время как с Matplotlib вам часто приходится писать несколько строк кода для создания сюжета, в то время как Seaborn дает вам тот же сюжет всего с одной строкой кода.

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

Ресурсы

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

Ресурсы, которые я использовал для обучения машинному обучению

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

Нет боли - нет выгоды.

1. Машинное обучение - Стэнфордский университет - Coursera

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

Теперь вот загвоздка. Большинство людей на самом деле находят этот курс очень скучным только потому, что он носит теоретический характер и использует Octave, который считается старым языком программирования, используемым для научных вычислений. Вы можете игнорировать октавную часть (задания), если хотите, но обязательно посмотрите все его видео, чтобы вы хорошо усвоили все концепции машинного обучения.

Как получить этот курс бесплатно?

Когда вы нажимаете Зарегистрироваться бесплатно, вы получаете вот что. Теперь, если вы собираетесь записаться на этот курс только для того, чтобы изучить все теоретические концепции, вы можете просто выбрать Полный курс, Без сертификата, и все готово.

Но если вы тот, кто хочет получить сертификат и не хочет тратить деньги, вот загвоздка. Просто нажмите Доступна финансовая помощь справа от кнопки «Зарегистрироваться бесплатно». Щелкнув по нему и заполнив несколько полей, вы получите вот что. Теперь все, что вам нужно сделать, это заполнить эти 5 полей в начале и написать несколько действительно честных ответов о том, почему финансовая помощь и как поможет этот курс.

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

2. Машинное обучение от А до Я ™: Практические занятия по Python и R в области науки о данных

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

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

Как получить этот курс бесплатно?

Лично мне этот курс достался бесплатно. Да, абсолютно бесплатно. Было это праздничное предложение или что-то в этом роде, и я просто случайно открыл Udemy и Oh Boy, почти 10–12 самых продаваемых курсов udemy были предоставлены бесплатно в течение ограниченного времени.

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

3. Практическое машинное обучение с помощью Scikit-Learn и TensorFlow - 2-е издание

В этой книге предполагается, что вы почти ничего не знаете о машинном обучении. Его цель - дать вам концепции, инструменты и интуицию, необходимые для реализации программ, способных учиться на данных. Мы будем изучать раздел 1 книги, поскольку он охватывает все машинное обучение (раздел 2 посвящен глубокому обучению, о котором я расскажу в части 3 нашей текущей серии)

Как получить эту книгу бесплатно?

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

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

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

Важность сертификатов и проектов

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

Сертификаты не являются решающими, но важными, тогда как

Проекты не только важны, но и важны.

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

Эти два момента являются наиболее важными, когда дело доходит до выбора 30 кандидатов из 100 или около 1000, просто как часть простого процесса отбора.

1. Сертификаты

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

I. Машинное обучение - Стэнфордский университет на Coursera

II. Машинное обучение от А до Я ™: практический опыт Python и R в науке о данных

2. Проекты

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

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

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

Не торопитесь. Все учатся с разной скоростью.

Это нормально, если вы не можете сразу применить свои навыки. Просто доверяйте процессу и продолжайте двигаться вперед. Это займет некоторое время. Но как только вы освоитесь. Поверьте мне, тогда нет остановки. Главное - настойчивость.

Kaggle

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

Я пробовал и реализовал множество проектов Kaggle, и это было чертовски весело. Как и все проекты машинного обучения, которые вы найдете в Интернете, 85% из них уже могут быть перечислены на Kaggle. На Kaggle вы можете не только отправить собственный файл решения, но и проверить решения, как и сотни других участников и энтузиастов машинного обучения. Разве это не круто?

Поверьте, вы многому научитесь на Kaggle. Все, что вам нужно сделать, это принять участие в различных конкурсах или предложить решения уже перечисленных постановок задач.

  • Видео Даниэля поможет вам начать работу с Kaggle, вы узнаете, как сделать свою первую отправку в Kaggle, и да, также, учебное пособие по проекту ML.

Редакторы, которые я использую

1. Блокнот Jupyter

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

Блокноты Jupyter и машинное обучение

идет вместе, как Кока-Кола и Пицца идут! Абсолютно идеально.

Если вы не читали мою первую статью, просто зайдите туда, и вы сможете найти раздел, в котором я обсуждал все о Jupyter Notebooks, от того, как получить jupyter до того, как установить и использовать их. Проверьте это.

2. Google Colab

Google Colab - это то, что я рекомендую вам для глубокого обучения, потому что нет ничего быстрее и мощнее, чем Colab, когда дело доходит до запуска этих громоздких алгоритмов глубокого обучения.

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

Предлагаемый путь обучения

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

  • Начните с изучения NumPy, Pandas и Matplotlib.
  • Затем переходите на курс Машинное обучение Coursera и курс Машинное обучение Udemy параллельно. Изучите тему - математику и теорию, лежащие в основе этого, из курса Coursera и одновременно научитесь реализовывать ту же тему в курсе Udemy. Продолжайте делать это, пока не раскроете каждую тему.
  • Затем, чтобы получить более глубокое понимание и закрепить почти все об алгоритмах, методах и рабочих процессах машинного обучения, начните читать и реализовывать весь раздел 1 O'Reilly's Книга "Практическое машинное обучение с помощью Scikit-Learn".
  • Изучите Seaborn и одновременно , попробуйте найти проекты и понять, как на самом деле их реализовали другие.
  • Теперь, со всеми недавно приобретенными навыками, используйте Kaggle для практики, участия в соревнованиях, а также предоставления ваших решений для уже перечисленных формулировок проблем.

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

Хорошо. Итак, вот последнее замечание. Совершенно не обязательно владеть всеми этими библиотеками, этими курсами и всеми техниками, которые вы будете изучать в своем путешествии. Важно то, что вы получили от всего обучения, которое вы внедряете, какие навыки вы потребляете и какие методы вы унаследовали в своем мозгу.

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

В третьей статье я расскажу о том, как начать работу с глубоким обучением и нейронными сетями, а также обо всех важных библиотеках, ресурсах, сертификатах и ​​моем опыте работы с DL за последние 2 года. Оставайтесь с нами!

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

Чтобы связаться со мной или при возникновении любых трудностей, я буду очень обязан помочь. Вы можете найти меня здесь, в LinkedIn.