Рубрики
Без рубрики

ML с Python: Часть 1

Теперь мы освоились с Python и готовы приступить к работе с проектами машинного обучения (ML). Но куда идти дальше? Можем ли мы непосредственно погрузиться в кодирование ML-проектов? Пожалуйста, следуйте за мной…

Автор оригинала: DhananjayKumar.

Теперь мы освоились с Python и готовы приступить к работе с проектами машинного обучения (ML). Но куда идти дальше? Можем ли мы непосредственно погрузиться в кодирование ML-проектов? Пожалуйста, следуйте за мной, чтобы узнать ответ…..

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

Что такое машинное обучение? Какие все проблемы мы можем решить с помощью ML? Шаги, связанные с проектами машинного обучения? Где ML подходит по сравнению с ИИ и глубоким обучением?

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

Здесь я суммирую все выводы, которые я получил до сих пор, например, что все процессы участвуют в проектах ML, Тип алгоритмов ML и некоторые популярные алгоритмы против различных типов, разница между ML и глубоким обучением.

В двух словах, ИИ, МЛ и глубокое обучение можно описать следующим образом –

В двух словах, ИИ, МЛ и глубокое обучение можно описать следующим образом -

Здесь стоит упомянуть важный момент !!!

  1. Не зацикливайтесь на подробностях всех алгоритмов, например, как это работает под капотом. Основная идея была бы достаточной, как в простой линейной регрессионной модели y=mx+b обучение находит и наилучшим образом подходит значение m и b так что мы предсказываем y для данного x значения. Вместо этого вы должны знать, какой алгоритм/модель лучше всего подходит для решаемой вами задачи.

  2. “Обучающая” часть машинного обучения означает, что алгоритмы ML пытаются оптимизировать по определенному измерению; то есть они обычно пытаются минимизировать ошибку или максимизировать вероятность того, что их предсказания верны. Это имеет три названия: функция ошибки , функция потерь или целевая функция … Когда кто-то говорит, что работает с алгоритмом машинного обучения, вы можете получить суть его значения, спросив: какова целевая функция?

  3. Глубокое обучение – это подмножество машинного обучения. Обычно, когда люди используют термин “глубокое обучение”, они имеют в виду глубокие искусственные нейронные сети. Глубокий – это технический термин. Это относится к числу слоев в нейронной сети. Несколько скрытых слоев позволяют глубоким нейронным сетям изучать особенности данных в так называемой иерархии признаков. Интенсивные вычисления-одна из отличительных черт глубокого обучения, и это одна из причин, почему новый вид чипов, называемых графическими процессорами, востребован для обучения моделей глубокого обучения. И он подходит для обработки большого количества неструктурированных данных, таких как большие капли пикселей или текста.

  • Сбор данных
  • Предварительная обработка данных
  • Выберите модель
  • Тренируйте модель
  • Оцените модель
  • Настройка параметров
  • Делайте Прогнозы

Сбор данных

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

Предварительная обработка данных

На этом этапе мы очищаем набор данных, удаляя дубликаты, исправляя ошибки, занимаясь пропущенными значениями, нормализацией, преобразованиями типов данных и т. Д. Мы также рандомизируем данные, что стирает влияние конкретного порядка, в котором мы собирали и/или иным образом готовили наши данные. Кроме того, визуализируйте данные, чтобы помочь обнаружить соответствующие отношения между переменными или дисбалансами классов (предупреждение о смещении!), или выполните другой исследовательский анализ. И последнее делится на тренировочные и тестовые наборы.

Выберите модель

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

Тренируйте модель

Цель обучения состоит в том, чтобы как можно чаще правильно отвечать на вопрос или делать прогноз. В случае линейной регрессии пример: алгоритм должен был бы узнать значения для m (или W) и b (x-вход, y – выход). Каждая итерация процесса-это шаг обучения.

Оцените модель

Как только обучение завершено, пришло время проверить, хороша ли модель, используя оценку. Именно здесь вступает в игру тот набор данных, который мы отложили ранее. Оценка позволяет нам проверить нашу модель на данных, которые никогда не использовались для обучения. Хорошее эмпирическое правило, которое я использую для разделения обучения и оценки где-то порядка 80/20 или 70/30.

Настройка параметров

После того, как вы сделали оценку, возможно, вы захотите увидеть, можете ли вы каким-либо образом улучшить свое обучение. Мы можем сделать это, повернув наши параметры. Было несколько параметров, которые мы неявно принимали во время обучения, и сейчас самое время вернуться назад и проверить эти предположения и попробовать другие значения. на этом этапе обучения есть много соображений, и важно, чтобы вы определили, что делает модель “достаточно хорошей”, иначе вы можете обнаружить, что настраиваете параметры в течение очень долгого времени. Эти параметры обычно называют “гиперпараметрами”. Корректировка или настройка этих гиперпараметров остается чем-то вроде искусства и представляет собой скорее экспериментальный процесс, который в значительной степени зависит от специфики вашего набора данных, модели и процесса обучения.

Делайте Прогнозы

Наконец-то мы можем использовать нашу модель для прогнозирования.

Контролируемое Обучение

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

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

  • Обнаружение мошенничества
  • Обнаружение спама по электронной Почте
  • Классификация изображений

Регрессия | это процесс выявления закономерностей и вычисления прогнозов непрерывных результатов. Система должна понимать числа, их значения, группировку. Примеры –

  • Прогнозирование погоды
  • Оценка рисков
  • Прогнозирование баллов

Популярные Алгоритмы Контролируемого Обучения:

  • Линейная регрессия
  • Логистическая регрессия
  • Дерево решений
  • Случайный лес
  • KNN (K Ближайший сосед)
  • метод опорных векторов

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

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

Кластеризация-это важная концепция, когда речь идет о неконтролируемом обучении. Он в основном имеет дело с поиском структуры или паттерна в коллекции некатегоризированных данных. Алгоритмы кластеризации будут обрабатывать ваши данные и находить естественные кластеры(группы), если они существуют в данных. Вы также можете изменить количество кластеров, которые должны идентифицировать ваши алгоритмы. Он позволяет регулировать степень детализации этих групп. Примеры –

  • Медицинские Исследования
  • Городское планирование
  • Целевой маркетинг

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

  • Анализ Рыночной Корзины
  • Интеллектуальный анализ текста
  • Распознавание лиц

Популярные Алгоритмы Неконтролируемого Обучения:

  • K Означает Кластеризацию
  • Иерархическая кластеризация
  • Априорный алгоритм

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

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

  • Игровой
  • Навигация робота
  • Торговля акциями
  • Процессы Сборочной линии

Популярные Алгоритмы Обучения Подкреплению:

  • Q-обучение
  • САРСА
  • DQN
  • ДПГ

В части 1 серии “ML with Python” мы суммировали концепции ML, его тип и популярные алгоритмы. В последующих постах мы рассмотрим популярные ML-алоритмы на примере и реализации с использованием Python.