Путь к успеху в машинном обучении: это путь обучения, который хвалит GitHub.

машинное обучение

Отчет Сердце машины

Сердце Машины Редакционный отдел

Обучение через Интернет означает плавание в безбрежном океане знаний, но его также можно потерять из-за его необъятности. В этом проекте авторы предоставляют полный путь обучения машинному обучению. От машинного обучения до глубокого обучения, от Scikit-Learn до TensorFlow — вам понадобится это учебное руководство.

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

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

  • Адрес проекта: https://github.com/clone95/Machine-Learning-Study-Path-March-2019.

Эта библиотека ресурсов предназначена для предоставления трех органических и полных путей обучения в следующих областях:

  • машинное обучение

  • Бизнес-аналитика (скоро)

  • Облачные вычисления (скоро)

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

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

Автор заявляет, что второе руководство (Business Intelligence) будет выпущено через 2-3 недели:

  • Карьера в области машинного обучения — опубликовано

  • Карьера в сфере бизнес-аналитики — скоро

  • Карьера в сфере облачных вычислений — скоро

Ниже приведена дорожная карта для различных путей обучения (была опубликована дорожная карта для обучения машин).

Три пути и темы

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

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

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

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

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

В этой части представлена ​​выпущенная схема обучения "Инженер машинного обучения". Автор представляет множество учебных ресурсов. Мы показываем только краткие примеры. Для получения более подробной информации, пожалуйста, проверьте исходный проект.

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

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

Авторы делят путь обучения на четыре части:

1. Предпосылки

  • Python

  • Jupyter Notebook

  • требуется математика

  • Путь машинного обучения

2. Машинное обучение с библиотекой SCIKIT-Learn

  • Почему стоит выбрать Scikit-Learn?

  • Сквозной проект машинного обучения

  • Линейная регрессия

  • Классификация

  • Обучите модель

  • Опорные векторные машины

  • Древо решений

  • Ансамблевое обучение и случайные леса

  • неконтролируемое обучение

  • Текущее резюме и перспективы на будущее

3. Изучение нейронных сетей с помощью TensorFlow

  • Почему стоит выбрать ТензорФлоу

  • Запустите TensorFlow и запустите его

  • ANN — искусственная нейронная сеть

  • CNN — сверточная нейронная сеть

  • RNN — рекуррентная нейронная сеть

  • Обучение сети: лучшие практики

  • автоэнкодер

  • обучение с подкреплением

  • Следующий шаг

4. Инструменты обучения

  • проект машинного обучения

  • Инструменты науки о данных

  • Блог/канал Youtube/веб-сайт

жизненный опыт

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

Короче говоря, Jupyter Notebook — это редактор для написания и запуска кода Python. Работа с данными требует множества экспериментов и организации их в определенные формы для получения базовых знаний, поэтому блокноты Jupyter просто необходимы.

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

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

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

  • Отличный курс по линейной алгебре: https://ocw.mit.edu/courses/mathematics/18-06-linear-алгебра-spring-2010/

  • Объедините с основными понятиями вероятности и статистики: https://www.edx.org/course/introduction-to-probability-0

  • Большая часть математики, которую вам нужно знать: https://explained.ai/matrix-calculus/index.html#sec4.5

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

Адрес: https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/ch01.html.

Традиционный процесс разработки программирования.

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

Машинное обучение с помощью Scikit-Learn

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

Пример Титаника: https://www.kaggle.com/startupsci/titanic-data-science-solutions

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

1. Линейная регрессия

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

  • Пример 1: https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py

  • Пример 2: https://bigdata-madesimple.com/how-to-run-linear-regression-in-python-scikit-learn/

  • Пример 3: https://www.geeksforgeeks.org/linear-regression-python-implementation/

2. Классификация

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

  • Две классификации: https://machinelearningmastery.com/make-predictions-scikit-learn/

  • Логистическая регрессия: https://towardsdatascience.com/building-a-logistic-regression-in-python-301d27367c24

  • Метрики классификатора: https://medium.com/thalus-ai/performance-metrics-for-classification-problems-in-machine-learning-part-i-b085d432082b

3. Машина опорных векторов (SVM)

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

  • Теоретическое объяснение: https://www.bilibili.com/video/av28186618

  • Практическое руководство: https://www.bilibili.com/video/av38543231

  • Практическое руководство: http://dataaspirant.com/2017/02/01/decision-tree-algorithm-python-with-scikit-learn/

4. Дерево решений

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

  • Теоретическое объяснение: https://www.bilibili.com/video/av26086646

  • Практическое руководство: https://www.bilibili.com/video/av35523476

  • Практическое руководство: http://dataaspirant.com/2017/02/01/decision-tree-algorithm-python-with-scikit-learn/

5. Ансамблевое обучение и случайные леса

Ансамблевое обучение использует все различные функции, сильные и слабые стороны некоторых моделей машинного обучения, чтобы получить набор «избирателей», которые дают вам наиболее вероятный результат при каждом прогнозе, заданном различными классификаторами (SVM, алгоритм ID3, логистическая регрессия) .

6. Неконтролируемое обучение

  • Видео Ли Хунъи из Национального тайваньского университета: https://www.bilibili.com/video/av10590361/?p=24

  • очень хорошо объясняет обучение без учителя: https://towardsdatascience.com/unsupervised-learning-with-python-173c51dc7f03

  • Разница между неконтролируемым обучением, контролируемым обучением и обучением с подкреплением: https://blogs.nvidia.com/blog/2018/08/02/supervised-unsupervised-learning/

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

С момента открытия исходного кода в 2015 году мир фреймворков глубокого обучения принадлежит TensorFlow. Будь то количество коллекций или ответвлений GitHub или количество использования в отрасли, он не имеет себе равных в высшем рейтинге. В этой части автор представляет множество учебных пособий и реализаций, связанных с TensorFlow.Рекомендуется, чтобы читатели могли непосредственно прочитать официальные учебные пособия по TensorFlow. Для глубокого обучения читатели могут пройти курс Стэнфорда CS231n или Deep Learning.

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

  1. Чтобы понять самые основные концепции с помощью Stanford CS231n, специального курса Эндрю Нг по DL или курса ML Ли Хонги, вам не нужно полностью понимать математический вывод, вам просто нужно знать, что и почему.

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

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

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

Средства обучения

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

Об этой статье сообщает Heart of the Machine,Для перепечатки, пожалуйста, свяжитесь с этим официальным аккаунтом для авторизации .

✄------------------------------------------------

Присоединяйтесь к сердцу машины (штатный репортер/стажер): hr@jiqizhixin.com

Чтобы внести свой вклад или получить покрытие:content@jiqizhixin.com

Реклама и деловое сотрудничество: bd@jiqizhixin.com