Машинное обучение и его виды

Что такое машинное обучение?

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

Тип машинного обучения

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

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

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

  • Алгоритм учится сопоставлять входные данные с выходными данными на основе данных обучения. При обучении с учителем набор обучающих данных включает как входные функции, так и соответствующие помеченные выходные значения, т. е. истинные/целевые значения.
  • Цель алгоритма — найти функцию, которая отображает входные переменные в непрерывную выходную переменную, как правило, минимизируя разницу между прогнозируемыми и фактическими значениями.
  • Во время обучения параметры модели алгоритма итеративно корректируются до тех пор, пока он не сможет точно сопоставить входные данные с правильными выходными данными в обучающих данных. После обучения модель может делать прогнозы на основе новых данных.
  • Обучение с учителем используется в распознавании изображений и речи, обработке естественного языка и прогнозной аналитике, среди других приложений, где желаемый результат известен и используется для обучения алгоритма.

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

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

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

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

Линейная регрессия в контролируемом обучении

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

Алгоритм учится на известных данных и предсказывает выходное значение для входных данных.

Алгоритмы контролируемого обучения можно разделить на две группы.

Регрессияв контролируемом обучении

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

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

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

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

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

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

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

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

Это означает, что уравнения, используемые в линейной регрессии, имеют вид y = function(x), где y — выходная переменная, а x — входная переменная.

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

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

Мы можем представить линию наилучшего соответствия, используя уравнение:

y = mx + b

где m — наклон линии, а b — точка пересечения с осью y. Наклон представляет собой изменение y для каждого единичного изменения x, а точка пересечения y представляет значение y, когда x равно 0.

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

Мы можем представить линию наилучшего соответствия, используя уравнение:

yi = β0 + β1x1 + β2x2 + … + βnxn

где y — целевая переменная, x1,x2….xn — входная переменная, β0 — точка пересечения с осью y, а βi — коэффициенты наклона каждой входной переменной.

Некоторые из важных алгоритмов линейной регрессии:

Нелинейная регрессия

  • Нелинейная регрессия — это контролируемый алгоритм обучения, который моделирует взаимосвязь между входными и выходными переменными с помощью нелинейных математических уравнений.
  • Это означает, что связь между переменными не является прямой линией, а принимает форму кривой.
  • Алгоритм находит наиболее подходящую кривую или функцию, которая описывает взаимосвязь между входными и выходными переменными.
  • Кривая обычно представлена ​​математическим уравнением с одним или несколькими параметрами.
  • Модели нелинейной регрессии могут фиксировать сложные шаблоны и нелинейные отношения, такие как экспоненциальные, логарифмические или полиномиальные отношения.

Общее уравнение нелинейной регрессии можно записать в виде:

y = f(x, β) + ε

где:

  • y - целевая переменная
  • x - входные функции/предикторы
  • β - вектор оцениваемых признаков
  • f является нелинейной функцией x и β для представления отношения между y и x
  • ε - член ошибки

Полиномиальная регрессия

  • Полиномиальная регрессия — это форма нелинейной регрессии, которая позволяет моделировать взаимосвязь между целевой переменной (y) и переменной признака (x) с использованием полиномиальной функции степени n.
  • Общая форма полиномиальной функции:
  • y = a0 + a1x + a2x² + … + anx^n
  • a0, a1, a2, …, an — коэффициенты
  • n - степень полиномиальной функции
  • Важно тщательно выбирать степень, потому что более высокая степень может привести к переобучению, а более низкая степень может привести к недостаточной подгонке.
  • Полиномиальная регрессия может объяснить отношения, в том числе квадратичные, кубические и любой степени более высокого порядка.

Машина опорных векторов

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

Наиболее часто используемыми функциями ядра в SVM являются линейное ядро, ядро ​​Гаусса и полиномиальное ядро.

Некоторые из важных алгоритмов нелинейной регрессии:

Классификация в контролируемом обучении

  • В обучении с учителем классификация представляет собой алгоритмический метод, предсказывающий категориальную или дискретную целевую переменную.
  • Целью моделей классификации является установление корреляции между входными переменными или признаками и дискретными выходными значениями.
  • Входные переменные могут быть либо непрерывными, либо категориальными, и алгоритм пытается идентифицировать шаблоны, связанные с заранее определенными категориями в целевых значениях (например, да или нет, 1 или 0, спам или не спам, кошка или собака и т. д.).
  • Алгоритмы классификации найдут функцию отображения (f) из входных переменных (x) в дискретные выходные переменные (y).

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

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

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

Модель учится выявлять закономерности в данных, которые связаны со спамом или нет, и может точно классифицировать новые непросмотренные электронные письма по одному из двух известных классов.

Типы алгоритмов классификации

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

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

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

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

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

Некоторые из важных алгоритмов классификации:

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

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

Некоторые основные типы неконтролируемого обучения:

Кластеризация

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

Существует несколько типов алгоритмов кластеризации, в том числе

Иерархическая кластеризация – это тип алгоритма кластеризации, который создает иерархическое представление точек данных. Он начинается с обработки каждой точки данных как отдельного кластера, а затем итеративно объединяет наиболее похожие кластеры на основе метрики расстояния до тех пор, пока все точки данных не будут принадлежать одному кластеру.

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

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

Ассоциация

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

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

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

Уменьшение размерности

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

В уменьшении размерности есть два основных метода.

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

Обнаружение аномалий

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

При обнаружении аномалий существует два основных метода.

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

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

Некоторые из важных алгоритмов классификации:

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

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

Базовое обучение с подкреплением можно объяснить тем, что

Алгоритм Q-обучения.

Q(s, a) = Q(s, a) + α [R + γ max(Q(s', a')) — Q(s, a)]

Вот что представляет каждая переменная:

  • Q(s, a) — Q-значение пары состояние-действие (s, a).
  • α — скорость обучения, которая определяет, насколько Q-значение обновляется на каждом шаге.
  • R — награда за действие «а» в состоянии «s».
  • γ — коэффициент дисконтирования, который определяет важность будущих вознаграждений по сравнению с немедленными вознаграждениями.
  • max(Q(s’, a’)) — максимальное значение Q для всех возможных действий ‘a’ в следующем состоянии s’.
  • s — следующее состояние, достигнутое после действия «a» в состоянии «s».

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

Основные типы алгоритмов обучения с подкреплением:

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

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

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

Некоторые из важных алгоритмов классификации:

Примечание от автора:

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