Машинное обучение с Python: часть 1 | Кодементор
Теперь мы знакомы с Python и готовы начать работу с проектами машинного обучения (ML). Но, Куда идти дальше? Можем ли мы напрямую погрузиться в кодирование проектов ML? Пожалуйста, следуйте, чтобы узнать ответ…..
У вас могут возникнуть трудности, если вы не понимаете основных понятий. Итак, я настоятельно рекомендую потратить некоторое время на понимание общих вопросов —
Что такое машинное обучение?
Какие все проблемы мы можем решить с помощью ML?
Шаги, связанные с проектами машинного обучения?
Где ML подходит по сравнению с AI и Deep Learning?
Вы можете получить множество хороших сообщений, видео, чтобы получить ответы. Потратив несколько часов на изучение сообщений и видео, вы поймете термины, используемые в машинном обучении, и пример приложения начнет обретать смысл. Вы поймете такие термины, как «Выбор модели», «Модель обучения», «Функция потери», «Создание прогноза» и т. Д. И тогда вы начнете задаваться вопросом, какова полная картина всего этого.
Здесь я обобщаю все выводы, которые я получил до сих пор, например, какие процессы задействованы в проектах ML, типы алгоритмов ML и некоторые популярные алгоритмы для различных типов, разница между ML и Deep Learning.
Вкратце, AI, ML и глубокое обучение можно описать следующим образом:
Важный момент, который стоит упомянуть здесь !!!
Не зацикливайтесь на подробностях всех алгоритмов, например, как это работает под капотом. Базовой идеи будет достаточно, как в простой модели линейной регрессии. у=мх+б обучение находит и значение наилучшего соответствия м а также б чтобы мы предсказывали у для данного Икс ценность. Вместо этого вы должны знать, какой алгоритм/модель лучше всего подходит для решаемой вами проблемы.
«Обучающая» часть машинного обучения означает, что алгоритмы машинного обучения пытаются оптимизировать по определенному измерению; т.е. они обычно пытаются минимизировать ошибку или максимизировать вероятность того, что их предсказания верны. У него три названия: функция ошибкиа функция потерьили целевая функция… Когда кто-то говорит, что работает с алгоритмом машинного обучения, вы можете понять суть его ценности, спросив: какова целевая функция?
Глубокое обучение является подмножеством машинного обучения. Обычно, когда люди используют термин «глубокое обучение», они имеют в виду глубокие искусственные нейронные сети. Глубокий — это технический термин. Это относится к количеству слоев в нейронной сети. Несколько скрытых слоев позволяют глубоким нейронным сетям изучать особенности данных в так называемой иерархии признаков. Интенсивность вычислений — одна из отличительных черт глубокого обучения, и это одна из причин, по которой для обучения моделей глубокого обучения востребован новый тип графических процессоров. И это подходит для обработки большого количества неструктурированных данных, таких как капли пикселей или текст.
- Сбор данных
- Предварительная обработка данных
- Выберите модель
- Обучите модель
- Оцените модель
- Настройка параметров
- Делать предсказания
Сбор данных
Этот шаг очень важен, потому что качество и количество собираемых данных напрямую определяют, насколько хорошей может быть ваша прогностическая модель.
Предварительная обработка данных
На этом этапе мы очищаем набор данных, удаляя дубликаты, исправляя ошибки, обрабатывая пропущенные значения, нормализуя, преобразовывая типы данных и т. д. Мы также рандомизируем данные, что стирает эффекты определенного порядка, в котором мы собирали и/или иным образом готовили наши данные. Также визуализируйте данные, чтобы помочь обнаружить соответствующие отношения между переменными или дисбалансом классов (предупреждение о предвзятости!), или выполнить другой исследовательский анализ. И последний разбиться на тренировочный и тестовый наборы.
Выберите модель
Следующим шагом в нашем рабочем процессе является выбор модели. Исследователи и специалисты по данным создали множество моделей за эти годы. Некоторые очень хорошо подходят для данных изображений, другие — для последовательностей (например, текста или музыки), одни — для числовых данных, третьи — для текстовых данных. И поэтому вы должны знать все доступные алгоритмы и выбрать подходящий для вашей задачи.
Обучите модель
Цель тренировки — как можно чаще правильно отвечать на вопрос или делать прогноз. В случае примера линейной регрессии: алгоритму необходимо будет узнать значения для m (или W) и b (x вводится, y выводится). Каждая итерация процесса является этапом обучения.
Оцените модель
После завершения обучения пришло время проверить, хороша ли модель с помощью оценки. Именно здесь вступает в игру тот набор данных, который мы отложили ранее. Оценка позволяет нам протестировать нашу модель на данных, которые никогда не использовались для обучения. Хорошее эмпирическое правило, которое я использую для разделения обучения и оценки где-то порядка 80/20 или 70/30.
Настройка параметров
После того, как вы провели оценку, возможно, вы захотите посмотреть, сможете ли вы каким-либо образом улучшить свое обучение. Мы можем сделать это, настроив наши параметры. Было несколько параметров, которые мы неявно предполагали при обучении, и сейчас самое время вернуться назад, проверить эти предположения и попробовать другие значения. На этом этапе обучения необходимо учитывать множество соображений, и важно определить, что делает модель «достаточно хорошей», в противном случае вы можете очень долго настраивать параметры. Эти параметры обычно называют «гиперпараметрами». Регулировка или настройка этих гиперпараметров остается чем-то вроде искусства и представляет собой скорее экспериментальный процесс, который сильно зависит от специфики вашего набора данных, модели и процесса обучения.
Делать предсказания
Наконец-то мы можем использовать нашу модель для прогнозирования.
Контролируемое обучение
Обучение под наблюдением — это когда модель обучается на размеченном наборе данных. Помеченный набор данных — это набор данных, который имеет как входные, так и выходные параметры. Контролируемое машинное обучение включает в себя два основных процесса: классификация а также регрессия.
Классификация — это процесс, при котором входящие данные маркируются на основе прошлых выборок данных и вручную обучают алгоритм распознавать определенные типы объектов и соответствующим образом классифицировать их. Примеры —
- Обнаружение мошенничества
- Обнаружение спама по электронной почте
- Классификация изображений
Регрессия это процесс выявления закономерностей и расчета прогнозов непрерывных результатов. Система должна понимать числа, их значения, группировку. Примеры —
- Прогнозирование
- Оценка рисков
- Прогноз счета
Популярные алгоритмы контролируемого обучения:
- Линейная регрессия
- Логистическая регрессия
- Древо решений
- Случайный лес
- KNN (K ближайший сосед)
- Машина опорных векторов
Неконтролируемое обучение
в случае неконтролируемых алгоритмов машинного обучения желаемые результаты неизвестны и еще не определены. Проблемы обучения без учителя, далее сгруппированные в кластеризация а также ассоциация проблемы.
Кластеризация является важной концепцией, когда речь идет об обучении без учителя. В основном это касается поиска структуры или шаблона в наборе неклассифицированных данных. Алгоритмы кластеризации обработают ваши данные и найдут естественные кластеры (группы), если они существуют в данных. Вы также можете изменить количество кластеров, которые должны идентифицировать ваши алгоритмы. Это позволяет настроить степень детализации этих групп. Примеры —
- Медицинские исследования
- Планировка городов
- Целевой маркетинг
Ассоциация правила позволяют устанавливать ассоциации между объектами данных внутри больших баз данных. Этот неконтролируемый метод предназначен для обнаружения интересных взаимосвязей между переменными в больших базах данных. Например, люди, которые покупают новый дом, чаще всего покупают новую мебель. Примеры —
- Анализ рыночной корзины
- Интеллектуальный анализ текста
- Распознавание лица
Популярные алгоритмы обучения без учителя:
- K означает кластеризацию
- Иерархическая кластеризация
- Априорный алгоритм
Обучение с подкреплением
Речь идет о принятии подходящих действий для максимизации вознаграждения в конкретной ситуации. Он используется различным программным обеспечением и машинами, чтобы найти наилучшее возможное поведение или путь, который он должен выбрать в конкретной ситуации. Обучение с подкреплением отличается от обучения с учителем тем, что в обучении с учителем обучающие данные содержат ключ ответа, поэтому модель обучается с помощью самого правильного ответа, тогда как при обучении с подкреплением ответа нет, но агент подкрепления решает, что делать. для выполнения поставленной задачи. В отсутствие обучающего набора данных он обязан учиться на своем опыте. Примеры —
- Игры
- Навигация робота
- Торговля акциями
- Процессы сборочной линии
Популярные алгоритмы обучения с подкреплением:
- Q-обучение
- СОУС
- DQN
- ДДПГ
В первой части серии «ML with Python» мы обобщили концепции ML, его типы и популярные алгоритмы. В последующих постах мы рассмотрим популярные алгоритмы машинного обучения с примерами и реализацией с использованием Python.