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

luchshie resursy kotorye ya ispolzoval chtoby nauchitsya mashinnomu obucheniyu
изображение-57

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

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

Начинаем

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

Изучите Python: быстрый курс Python freeCodeCamp

После этого первое, что вам следует сделать, это загрузить The Machine Learning Podcast от OCDevel (overcast.fm, iTunes) в свою любимую программу для подкастов. Слушайте первые 10–15 серий. Они очень хорошо дают обзор экосистемы машинного обучения, а также рекомендуемые ресурсы, ссылки на которые размещены на сайте OCDevel.

Оснастка

Ноутбук Anaconda и Jupyter – это обязательное условие для ML и науки о данных. Следуйте инструкциям здесь, чтобы установить и настроить их.

Visual Studio Code из Python Plugin — я никогда не думал, что буду рекомендовать продукт Microsoft, но честно говоря, я поражен их открытым исходным кодом в последнее время. Теперь это мой любимый редактор кода, даже для выполнения некоторых вещей на Python – например, для отладки кода.

Kaggle.com – лучшее место для поиска наборов данных, когда вы начинаете. Зарегистрируйте аккаунт и просмотрите сайт. Вы заметите, что существует много соревнований для людей любого уровня опыта и даже учебных пособий (например, это, удобное для начинающих, о Титанике). Эти наборы данных будут очень полезны для практики, когда вы изучаете библиотеку Python.

Библиотеки Python

Далее важно изучить распространенные библиотеки Python для работы с данными: Numpy, Matplotlib, Pandas, Scikit-Learn и т.д. Я рекомендую начать с этого курса с datacamp. Здесь рассматриваются некоторые основы, которые вы можете пропустить или использовать для обзора, а раздел Numpy является хорошим введением.

Pandas необходимо изучать, но также нужно некоторое время, чтобы понять, поскольку она делает так много вещей. Он построен на основе Numpy и используется для очищения, подготовки и анализа данных. Он также имеет встроенные инструменты для вещей, таких как визуализация. Я использовал много ресурсов, чтобы выучить Pandas и потренироваться с ним. Вот несколько:

  1. Изучите Pandas на Kaggle
  2. Видеокурс Learn Pandas | Тетрадь для курса
  3. Jupyter Notebook Дополнительные примеры: Основы | Построение графиков с помощью Matplotlib и Pandas И многое другое

После Pandas следует Scikit-Learn. Именно здесь вещи начинают больше применяться к подлинным алгоритмам машинного обучения. Scikit-Learn – это научная библиотека Python для машинного обучения.

Лучший ресурс, который я нашел для этого, – это книга «Руки по машинному обучению с помощью Scikit-Learn и Tensorflow». Я думаю, что он очень хорошо учит вас шаг за шагом на практических примерах. Первая половина посвящена Scikit-Learn, поэтому я сначала сделал эту часть, а затем вернулся в часть Tensorflow.

Существует много других библиотек Python, таких как Keras и PyTorch, но я расскажу о них позже. Этому уже есть чему поучиться 🙂

Неглубокое обучение

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

Хотя это хорошо, я все же нашел полезным также пройти курс машинного обучения Эндрю Нга из Стэнфорда. Он доступен для бесплатного аудита на Coursera (есть подкаст для этого курса на iTunes, но его немного тяжело следовать, и ему уже больше десяти лет). Качество обучения поразительно, и это один из самых рекомендуемых ресурсов в Интернете (это не проще всего получить, поэтому я рекомендую его здесь).

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

математика 🙂

Да, математика нужна. Однако я не считаю, что интенсивный подход, основанный на математике, является лучшим способом обучения; это пугает многих людей. Как предлагает OCDevel в подкасте (по ссылке выше), тратьте большую часть своего времени на изучение практического машинного обучения и, возможно, 15–20% на изучение математики.

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

Ресурсы статистики:

  1. Я думаю, что курсы статистики на Udacity достаточно неплохие. Вы можете начать с этого, а затем изучить другие, которые они предлагают.
  2. Мне понравилась книга «Гола статистика». Он полон практических примеров и его приятно читать.
  3. Также полезно понять байесовскую статистику и то, как она отличается от частотной и классической моделей. Этот курс курса прекрасно объясняет эти понятия – здесь также есть часть 2 курса.

Ресурсы линейной алгебры:

  1. Книга «Линейная алгебра шаг за шагом» отличная. Это как учебник для средней школы/колледжа, но хорошо написан и легок для выполнения. Также есть много упражнений для каждого раздела с ответами в конце.
  2. Суть видеоряда линейной алгебры – математические объяснения от 3blue1brown удивительные. Я очень рекомендую его математическое содержание.
  3. В курсе Эндрю Нга также обзор линейной алгебры, но я думаю, что два ресурса, которые я перечислил выше, немного легче использовать для изучения предмета.

Ресурсы вычисления:

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

  1. Видео серии «Суть вычисления».
  2. Понимание вычисления из The Great Courses Plus

Другая полезная математика:

  1. Принятие математических решений из The Great Courses Plus

Глубокое обучение

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

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

  1. Серия 3blue1brown, объясняющая нейронные сети
  2. Введение в список воспроизведения Deeplizard для глубокого обучения

Пока вы работаете на курсе Эндрю Нг Стэнфорда, я рекомендую посмотреть fast.ai. Они имеют несколько высококачественных практических видеокурсов, которые действительно могут помочь изучить и закрепить эти понятия. Первый – это практическая глубокая учеба для кодеров, а второй – только что выпущенный – это передовая часть глубокого обучения для кодеров, часть 2. Я узнал очень много вещей, просмотрев и повторно просмотрев некоторые из этих видео. Еще одной удивительной особенностью fast.ai является форум сообщества; вероятно, один из самых активных AI форумов в Интернете.

Библиотеки глубокого обучения на Python

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

Керас

Tensorflow

PyTorch

Блоги и научные работы

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

  1. блог fast.ai
  2. Distill .pub — Исследование машинного обучения ясно объясняется
  3. Двухминутные статьи – короткие видео с разбивкой AI и других научных работ
  4. Arvix Sanity – более интуитивно понятный инструмент для поиска, сортировки и сохранения научных работ
  5. Дорожная карта глубокого обучения
  6. Subreddit машинного обучения — у них есть темы «Что вы читаете», где обсуждаются научные работы
  7. Arxiv Insights — на этом канале замечательные разбивки исследовательских работ в сфере ИИ

Аудио-дополнительное образование

  1. Скептик данных — у них много хороших коротких эпизодов, называемых [mini]где они охватывают концепции машинного обучения
  2. Программная инженерия Ежедневное машинное обучение
  3. OCDevel Machine Learning Podcast – я уже упоминал об этом, но я снова перечислю его на случай, если вы его пропустили

Дополнительные учебные ресурсы

бросить

Пожалуйста, хлопайте, если это было полезно 🙂

Социальные сети: @gwen_faraday

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *