RoadMap для изучения Machine Learning 2023

Что такое машинное обучение?
RoadMap для изучения Machine Learning: Машинное обучение (ML) – это тип искусственного интеллекта (AI), который позволяет программным приложениям становиться более точными в прогнозировании результатов без явного программирования для этого. Алгоритмы машинного обучения используют исторические данные в качестве входных данных для прогнозирования новых выходных значений.
Механизмы рекомендаций – это распространенный вариант использования машинного обучения. Другие популярные области применения включают обнаружение мошенничества, фильтрацию спама, обнаружение угроз вредоносного ПО, автоматизацию бизнес-процессов (BPA) и прогнозное обслуживание.
Почему сфера машинного обучения важна?
Машинное обучение важно, поскольку оно даёт предприятиям представление о тенденциях в поведении клиентов и моделях ведения бизнеса, а также поддерживает разработку новых продуктов. Многие ведущие современные компании, такие как Facebook, Google и Uber, делают машинное обучение центральной частью своей деятельности. Машинное обучение стало важным конкурентным преимуществом для многих компаний.
Если вы хотите изучить машинное обучение с помощью Python, ожидается, что вы знаете нижеприведённые понятия:
- Переменные
- Математические операторы
- Управляющие инструкции
- Структуры данных (список, набор, словарь и т.д.)
- Работа с файлами
- Функции
- Объектно-ориентированное программирование
Если вы не знакомы с Python, есть несколько способов выучить этот простой язык программирования. Вы можете пройти несколько курсов на Udemy, Coursera и т.д.
Рекомендуемые статьи:
- What Is Cryptocurrency? Everything You Need To Know
- Best Game Development Roadmap-2022
- What Is The Dark Web? How To Access It And What You Will Discover
- Ethical Hacking Roadmap – A Beginners Guide
Особенности машинного обучения:
- ML использует данные для обнаружения различных закономерностей в автоматически заданный набор данных
- Машинное обучение может извлекать уроки из прошлых данных и автоматически улучшаться
- ML – это технология, основанная на данных
- Это очень похоже на интеллектуальный анализ данных, поскольку также имеет дело с огромным объёмом данных
В чём заключается необходимость машинного обучения:
- Решению сложных проблем
- Принятие решений в различных секторах, включая финансы
- Поиск скрытых закономерностей и извлечение полезной информации из данных
- Быстрое увеличение объёма производства данных
Приложения, разработанные с использованием машинного обучения:
- Самоуправляемые автомобили
- Торговля на фондовом рынке
- Распознавание изображений
- Распознавание речи
- Прогнозирование трафика
- Обнаружение мошенничества в Интернете
- Медицинский диагноз
- Фильтрация спама и вредоносных программ по электронной почте
- Автоматический перевод на другой язык
Давайте начинать!
Шаг 1: Выберите язык программирования и приступайте к работе!
Первым шагом к началу изучения машинного обучения является выбор языка программирования. На рынке существуют различные языки программирования, но наиболее подходящими для машинного обучения являются Python и R.
Я рекомендую Python. Почему? Потому что он популярен, прост в освоении и имеет перспективы.
С помощью Python вы можете легко переключать домены. Python предлагает такие популярные фреймворки, как Django и Flask для backend-разработки, Tkinter для разработки графического интерфейса, Pygames для разработки игр и т.д.
Если вы используете Python, вы должны изучить sklearn для машинного обучения. Sklearn – это современная библиотека машинного обучения, написанная на Python.
Самое лучшее в sklearn – это то, что большинство алгоритмов машинного обучения уже написаны для вас. В нём есть много полезных классов для предварительной обработки ваших данных для дальнейшего анализа
Если вы хотите изучать машинное обучение на Hindi, вы можете ознакомиться с полным видео-каналом машинного обучения на YouTube, где вас проведут в данную сферу с нуля.
Вам также следует заглянуть в модуль Tensorflow, который может помочь вам построить нейронную сеть без особых усилий!
Шаг 2: Изучите линейную алгебру
Вам следует изучить линейную алгебру, если вы хотите освоить машинное обучение и стать профессионалом!
Это важно, потому что, если вы хотите настроить свои модели с максимальной гибкостью, вам нужно знать, как они работают, а знание линейной алгебры для этого просто необходимо!
Когда вы начнёте, вам следует сосредоточиться на шаге 1, и пока вы выполняете шаг 1, вы можете начать изучать линейную алгебру параллельно. Это то, что я называю техникой параллельного завоевания.
Вы начинаете две похожие задачи параллельно, сосредотачиваясь на первой и сохраняя относительно меньший приоритет для других задач. Это может помочь вам сохранить энтузиазм и мотивацию на высоком уровне.
Одним из ресурсов, которые я счёл очень полезными для пересмотра концепций линейной алгебры, были эти заметки в формате pdf.
Шаг 3: Изучите вероятность и статистику
Базовое понимание вероятности и статистики важно, когда речь заходит об освоении машинного обучения.
Вот один из лучших ресурсов для этого: Statistics Revision Notes by MathBox.
Поскольку в основе концепций машинного обучения лежат статистика и вероятность, знакомство с ними и овладение статистикой и вероятностью во многом помогают в понимании концепций ML. Вы можете изучить их на курсе KhanAcademy. Вы должны знать следующие понятия:
- Категориальные и числовые данные
- Среднее значение, режим и медиана
- Стандартное отклонение и дисперсия
- Ковариация
- Корреляция
- Асимметрия
- Случайные величины
- Распределения
- Классическая вероятность
- Условная вероятность
Шаг 4: Изучите основные алгоритмы ML
Как только у вас появится некоторое представление об использовании sklearn после изучения python, вам следует начать изучать, как работают основные алгоритмы машинного обучения.
Чтобы получить представление о том, как алгоритмы машинного обучения работают изнутри, загляните в:
- Градиентный спуск
- Slope
- Контролируемое обучение vs неконтролируемого
- Обучение с подкреплением
- Базовая линейная регрессия
- Работа со всеми похожими моделями
- Кластеризация
Удивительный ресурс, позволяющий узнать обо всем этом – это книга под названием “Hands-on ML with Scikit learn and tensorflow.”.
Попробуйте захватить экземпляр этой книги. Это вам очень поможет.
Есть также несколько других ресурсов, на которые стоит обратить внимание:
Как читать книгу:
- Запланируйте своё время для чтения
- Попробуйте перевернуть страницы и поискать вопросы-упражнения
- Теперь попробуйте найти ответы на эти вопросы во время чтения
- Автор книги хочет, чтобы вы сосредоточились на этих моментах
- Попробуйте использовать функцию чтения вслух в Microsoft Edge. Она работает довольно хорошо
Шаг 5: Изучите библиотеки Python
- Изучите Numpy
- Изучайте Pandas
- Всё это будет полезно для отладки кода python/sklearn
Шаг 6: Изучите развёртывание
Чтобы внедрить свои модели машинного обучения с мощным бэкендом, вам нужно будет изучить такие фреймворки, как Django и Flask.
Docker и Kubernetes могут оказать большую помощь, если вы хотите быстро отправлять и развёртывать свои модели!
Streamlit стоит изучить, если вы хотите создавать пользовательские веб-приложения для ML и Data Science.
Ресурсы для изучения ML
Ресурсы машинного обучения
Это ресурсы, которые вы можете использовать, чтобы стать инженером машинного обучения. Все ресурсы доступны бесплатно онлайн.
Теория машинного обучения
- Machine Learning, Stanford University
- Machine Learning, Carnegie Mellon University
- Machine Learning, MIT
- Machine Learning, California Institute of Technology
- Machine Learning, Oxford University
- Machine Learning, Data School
Теория глубокого обучения
- Deep Learning, Ian Goodfellow
- Neural Networks and Deep Learning
- Understanding LSTM Networks
- Deep Residual Learning
Теория и код прямого и обратного распространения
- Step by Step Forwardpropagation and Backpropagation with Numbers
- Full Manual Backward Propagation with TensorFlow
- Reverse Mode Automatic Differentiation with TensorFlow
- Simple Backward Propagation with Python
- Backward Propagation from Scratch with Python
- Нейронные сети, демистифицированные с помощью Python, Welch Labs
Общее машинное обучение с помощью Python и Scikit-learn
- Машинное обучение с помощью scikit-learn, Data School
- Машинное обучение с помощью scikit-learn, Jake Vanderplas
- Decision Trees, The Grimm Scientist
- Машинное обучение с помощью scikit-learn, Andreas Mueller
- Свёрточные нейронные сети с использованием Python, Stanford
Свёрточные нейронные сети с TensorFlow /Keras
- Deep Learning Models like VGG, Inception V3, ResNet and more in Keras
- Practical Deep Learning with Keras, Jason Brownlee
- Wide Residual Networks in Keras
- Wide ResNet in TensorLayer
- TensorLayer Official Tutorials
Теория обучения с подкреплением
- Reinforcement Learning Introduction, Nervana
- Reinforcement Learning, Sutton
- Uncertainty Estimates from Dropouts
Обучение с подкреплением с помощью TensorFlow /Keras
- Using Keras with DPPG to play TORCS
- Advantage async actor-critic Algorithms (A3C) and Progressive Neural Network in TensorFlow
Теория рекуррентных нейронных сетей
Рекуррентные нейронные сети с TensorFlow
- RNN Official TensorFlow Tutorials
- RNN-LSTM with TensorFlow
- Introduction to RNN in TensorFlow
- Advanced RNN guides and code
- RNN in TensorFlow with and without API
- RNNs in TensorFlow, A Practical Guide and Undocumented Features
- TensorFlow code for Latest RNN Papers
Математика, полезная для машинного обучения
- Discrete Mathematics, MIT
- Linear Algebra, MIT
- Linear Algebra Review, Stanford
- Probability Review, Stanford
- Convex optimization overview, Stanford
- More convex optimization overview, Stanford
- Single Variable Calculus, MIT
- Practical Guide for Matrix Calculus for Deep Learning
Среда глубокого обучения
Лучшие книги
Лично я обнаружил, что книги являются лучшим источником знаний после прохождения курсов. Именно в них вы можете укрепить своё теоретическое понимание концепций, которые вы используете в своих проектах ML.
1 – The Hundred-Page Machine Learning Book
Очень короткая книга, содержащая важную информацию. Андрей Бурков сжал все жизненно важные моменты в AI / ML и поместил их в эту 100-страничную книгу [138, если быть точным].
2 – Hands-on Machine Learning with Scikit-Learn, Keras and Tensorflow 2.0 Book by Aurelien Geron — О’Рейли
По моему мнению, эта книга является альтернативой специализациям машинного обучения и глубокого обучения, разработанным deeplearning.ai . Я предпочитаю эту книгу, поскольку в ней есть отличные объяснения, а каждая концепция имеет хороший код, который можно опробовать самому. Вы также можете получить доступ к открытому исходному коду из этой книги по следующей ссылке — https://github.com/ageron/handson-ml2
3 – Deep Learning book – Иэна Гудфеллоу
Если вы хотите глубже проникнуть в математическую сторону глубокого обучения, то в этой книге есть всё, что вам нужно. Она была опубликована в 2015 году, так что она относительно старая, но всё ещё актуальная.
Бонусная книга
Life 3.0 от Макса Тегмарка
Life 3.0 не предназначена для изучения искусственного интеллекта и ML, но это прекрасная книга, в которой обсуждается влияние искусственного интеллекта на будущее человеческой расы и космоса.
Теория машинного обучения
Как инженер по машинному обучению, вы должны быть мастером следующих концепций:
- Очистка данных
- Заполнение недостающих значений
- Отбрасывание функций
- Отбор признаков
- Масштабирование объектов
- Регуляризация
- Конструирование признаков
- Алгоритмы регрессии
- Простая линейная регрессия
- Гребень и лассо
- Множественная линейная регрессия
- Полиномиальная регрессия
- XGBRegressor
- Алгоритмы классификации
- KNN
- Логистическая регрессия
- Дерево решений
- Случайный лес
- Наивный Байесовский классификатор
- xXGBClassifier
- Алгоритмы кластеризации
- Кластеризация
- DBSCAN
- Уменьшение размерности
- PCA
- LDA
- t-SNE
Машинное обучение на практике
Вы должны изучить sklearn, чтобы реализовать все эти концепции. Существует множество курсов для этой библиотеки. Вы также можете использовать её документацию.
Часто задаваемый вопросы
Каковы различные типы алгоритмов машинного обучения?
Алгоритмы машинного обучения обычно подразделяются на следующие категории
- Контролируемое обучение
- Неконтролируемое обучение
- Обучение с подкреплением
Как работает Машинное Обучение?
Используя множество аналитических программ, алгоритмы разрабатываются и уточняются в рамках процесса в соответствии с вашими бизнес-вопросами. Машинное обучение просматривает историю ваших текущих данных и обнаруживает в них закономерности, а затем соответствующим образом корректирует свои будущие действия. Его основная цель – как очистить ваши данные, так и сделать прогнозы относительно будущих наборов данных.
Статистические методы машинного обучения, такие как кластеризация, регрессия и классификация, используются в прогностической аналитике.
Что Машинное Обучение Может Сделать Для Меня И Моего Бизнеса?
Машинное обучение в его простейшей форме автоматизирует повторяющиеся задачи. Сбор, сортировка, ввод и преобразование данных могут быть автоматизированы, что экономит критически важное для вашего бизнеса время и ресурсы. В более утончённой форме оно способно рассказать вам, где и как ваш бизнес добьётся успеха, и делать прогнозы относительно будущего вашего бизнеса.
Что Мне Нужно Для Начала?
Чтобы иметь возможность применять машинное обучение, вам нужна проблема для решения и данные, относящиеся к этой проблеме. Предпочтительно, чтобы ваши данные были в структурированной форме (в базе данных или нескольких электронных таблицах) или в неструктурированной форме (электронные письма и социальные данные).
Дорого ли обходится машинное обучение?
Это полностью зависит от конкретного процесса, который вам нужен, и от того, используете ли вы систему на заказ или готовую к использованию.
Заключение
Машинное обучение – актуальная тема в наши дни, но иногда бывает трудно понять, с чего вам следует начать. Эта дорожная карта поможет вам! Мы рассмотрели различные шаги, необходимые для тех, кто хочет стать экспертом в этой области и пройти путь от “новичка” до уровня “эксперта”!