Пять советов по обучению для начинающих в машинном обучении и науке о данных

машинное обучение анализ данных

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

от Навстречу Datascience,Автор: Daniel Bourke, составлено Heart of Machines, участие: Han Fang, Yiming.

«Я хочу изучать машинное обучение и искусственный интеллект, с чего мне начать?»

Начало здесь.


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

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

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

«Я изучил Python, что мне делать дальше?»

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

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

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

Изучите Python, инструменты обработки данных и концепции машинного обучения.

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

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

Образовательные ресурсы

  1. Элементы искусственного интеллекта (https://www.elementsofai.com/) — обзор основных концепций искусственного интеллекта и машинного обучения.

  2. Учебное пособие по Python на Coursera — (https://bit.ly/pythoneverybodycoursera) Изучите Python с нуля.

  3. Изучайте Python с помощью freeCodeCamp (https://youtu.be/rfscVS0vtbw) — видео, охватывающее все основные концепции Python.

  4. Учебник Кори Шафера по Anaconda (https://youtu.be/YJC6ldI3hWk) — видео для изучения Anaconda (среда настройки для обработки данных и машинного обучения).

  5. Учебное пособие Dataquest по Jupyter Notebook для начинающих (https://www.dataquest.io/blog/jupyter-notebook-tutorial/) — статья о том, как настроить и запустить Jupyter Notebook.

  6. Учебное пособие Кори Шафера по Jupyter Note (https://www.youtube.com/watch?v=HW29067qVWk) — видео, чтобы узнать, как использовать Jupyter Notebook.

Научитесь анализировать, обрабатывать и визуализировать данные с помощью Pandas, Numpy и Matplotlib.

После того, как вы овладеете некоторыми навыками Python, вы захотите научиться обрабатывать данные и манипулировать ими.Для этого вам необходимо быть знакомым с Pandas, Numpy и Matplotlib.

  • Pandas может помочь вам работать с двумерными данными, подобными таблицам информации в файлах Excel, со строками и столбцами. Этот тип данных называется структурированными данными.

  • Numpy может помочь вам с числовыми расчетами. Машинное обучение превращает все, что вы можете придумать, в числа, а затем ищет закономерности в этих числах.

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

Образовательные ресурсы

  1. Прикладная наука о данных с Python на Couera (http://bit.ly/courseraDS) — начните оттачивать свои навыки работы с Python для обработки данных.

  2. Начало работы с pandas за 10 минут (https://pandas.pydata.org/pandas-docs/stable/gettingstarted/10min.html) — краткий обзор библиотеки pandas и некоторых ее наиболее полезных функций.

  3. Учебник Codebasics по пандам Python (https://youtu.be/CmorAWRsCAw) — эта серия YouTube охватывает все основные функции панд.

  4. Учебное пособие по NumPy от freeCodeCamp (https://youtu.be/QUT1VHiLmmI) — видео на YouTube для изучения NumPy.

  5. Учебное пособие по Matplotlib от Sentdex (https://www.youtube.com/watch?v=q7Bo_J8x_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF) — серия YouTube, которая поможет вам изучить все наиболее полезные функции Matplotlib.

Машинное обучение с scikit-learn


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

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

Образовательные ресурсы

  1. Машинное обучение Python с помощью scikit-learn от Data School (https://www.youtube.com/watch?v=elojMnjn4kk&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A) — плейлист на YouTube, который научит вас всем основным функциям scikit-learn.

  2. Краткое введение в исследовательский анализ данных Даниэля Бурка (https://towardsdatascience.com/a-gentle-introduction-to-exploratory-data-analysis-f11d843b8184) — объединяет то, что вы узнали на двух этапах выше, в одном в проекте . Предоставляет код и видео, которые помогут вам начать свое первое соревнование Kaggle.

  3. Заметки Даниэля Формоссо по исследовательскому анализу данных на основе scikit-learn (https://github.com/dformoso/sklearn-classification) — более подробная версия вышеупомянутого ресурса со сквозным проектом, который реализует выше.

Изучите нейронные сети с глубоким обучением

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

Советы: в большинстве случаев вы захотите использовать набор деревьев решений (случайные леса или алгоритмы, такие как XGBoost) для структурированных данных, а для неструктурированных данных вы захотите использовать глубокое обучение или трансферное обучение (используя предварительно обученную нейронную сеть и применяя ее для своих проблема).

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

Образовательные ресурсы

  1. Deeplearning.ai Эндрю Нг (https://bit.ly/courseradl) (https://bit.ly/courseradl) на Couera — курс глубокого обучения, который ведет один из самых коммерчески успешных практиков.

  2. Курс глубокого обучения Джереми Ховарда fast.ai (https://course.fast.ai/) (https://bit.ly/courseradl) — практическое глубокое обучение, проводимое одним из лучших специалистов отрасли.

Другие курсы и книги

В идеале, когда вы учитесь, вы можете использовать свои собственные небольшие проекты, чтобы практиковать то, что вы узнали. Это не обязательно должна быть сложная вещь, меняющая мир, но вы можете сказать: «Я сделал это с X». Затем поделитесь своей работой через github или блог. github предназначен для демонстрации вашего кода, а сообщения в блогах — для демонстрации того, как вы выражаете свою работу. Вы должны публиковать их для каждого проекта. Лучший способ подать заявку на работу — это когда вы сделали то, что требует работа. Поделиться своей работой — отличный способ продемонстрировать свои способности потенциальным будущим работодателям.

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

Образовательные ресурсы

  1. Книга Дэниела Бурка «Как начать свой собственный проект машинного обучения» (https://towardsdatascience.com/how-to-start-your-own-machine-learning-projects-4872a41e4e9c). дать вам некоторое руководство.

  2. Основы глубокого обучения Fast.ai от Джереми Ховарда (https://course.fast.ai/part2). После обучения сверху вниз этот курс поможет вам заполнить пробелы снизу вверх.

  3. Grokking Deep Learning, Эндрю Траск (https://amzn.to/2H497My). Эта книга научит вас, как построить нейронную сеть с нуля, и почему вы должны это знать.

  4. Книги по машинному обучению, рекомендованные Дэниелом Бурком (https://www.youtube.com/watch?v=7R08MPXxiFQ). В этом видео на YouTube собраны некоторые из лучших книг по машинному обучению.

вопросы и ответы

Сколько времени занимает каждый шаг?

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

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

Где я могу обучиться этим навыкам?

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

DataCamp (http://bit.ly/datacampmrdbourke) — отличный обучающий сайт. Кроме того, в моей базе данных ресурсов по машинному обучению и искусственному интеллекту (https://bit.ly/AIMLresources) собраны бесплатные и платные учебные материалы.

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

Если вам интересно, как выглядит пример самостоятельного курса по машинному обучению, ознакомьтесь с моей самостоятельно созданной степенью магистра ИИ (https://bit.ly/aimastersdegree). Это мой путь от нулевого кодирования до инженера по машинному обучению за последние 9 месяцев. Это не идеально, но это мой реальный опыт, так что можете попробовать.

Как насчет статистики?А как насчет математики?А вероятность?

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

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

Сертификат?

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

Ссылка на ссылку:к data science.com/5-beginner-…