Машинное обучение определяется как набор компьютерных алгоритмов, которые позволяют системам обучаться автономно, предоставлять результаты и далее развиваться на основе различного анализа и результатов.
Данные будут вводиться в эти алгоритмы, где они будут автоматически обучаться выполнению конкретной задачи и достижению определенного результата, и это можно будет применить к реальным бизнес-сценариям.
Типы алгоритмов машинного обучения
Алгоритмы машинного обучения можно разделить на три типа:
- Алгоритмы обучения с учителем
- Алгоритмы обучения без учителя
- Алгоритм обучения с подкреплением
1) Алгоритм контролируемого обучения
- Обучение с учителем — это подход машинного обучения, при котором алгоритмы учатся на помеченных данных.
- В этом процессе алгоритм получает входные данные и соответствующие правильные выходные метки.
- Цель будет предсказывать метку для невидимых или будущих данных, используя помеченные исторические данные.
Обучение под учителем можно разделить на две категории проблем:
- Классификация
- Регрессия
Что такое алгоритм классификации?
Алгоритм классификации, в общем, представляет собой функцию, которая взвешивает входные признаки так, чтобы выходные данные разделяли один класс на положительные значения, а другой на отрицательные значения.
Он помогает классифицировать данные по различным классам и имеет широкий спектр приложений, таких как обнаружение спама в электронной почте, медицинские диагностические тесты, обнаружение мошенничества, классификация изображений и распознавание речи.
Что такое алгоритм регрессии?
Основная цель задач на основе регрессии — прогнозировать выходные метки или ответы, которые представляют собой непрерывные числовые значения для заданных входных данных. По сути, модели регрессии используют свойства входных данных (независимые переменные) и соответствующие им непрерывные числовые выходные значения (зависимые или выходные переменные) для изучения конкретных взаимосвязей между входными данными и соответствующими выходными данными.
В классификации регрессия используется для вывода непрерывных значений при разделении набора данных на классы.
Основными типами алгоритмов регрессии в ML являются линейные, полиномиальные, логистические, пошаговые и т. д.
2) Алгоритм обучения без учителя
- Это тип машинного обучения, при котором машине не требуется внешний контроль для обучения на основе данных, поэтому он называется обучением без учителя.
- Неконтролируемые модели можно обучать с использованием немаркированного набора данных, который не классифицируется и не классифицируется, и алгоритм должен действовать на этих данных без какого-либо контроля.
- При обучении без учителя модель не имеет заранее определенного результата и пытается найти полезную информацию из огромного объема данных. Они используются для решения проблем ассоциации и кластеризации.
Следовательно, его можно разделить на два типа:
- Кластеризация
- Ассоциация
Что такое алгоритм кластеризации?
- Кластерный анализ — это метод машинного обучения, который группирует немаркированный набор данных. Его можно определить как «Способ группировки точек данных в разные кластеры, состоящие из похожих точек данных».
- Он делает это, находя в немаркированном наборе данных некоторые похожие шаблоны, такие как форма, размер, цвет, поведение и т. д., и делит их по наличию и отсутствию этих похожих шаблонов.
Примечание:
Обучение без учителя во многом похоже на то, как человек учится думать на основе собственного опыта, что приближает его к настоящему ИИ.
Обучение без учителя работает с немаркированными и неклассифицированными данными, что делает обучение без учителя более важным.
В реальном мире у нас не всегда есть входные данные с соответствующими выходными данными, поэтому для решения таких случаев нам необходимо обучение без учителя.
Список популярных алгоритмов машинного обучения
- Алгоритм линейной регрессии
- Алгоритм логистической регрессии
- Дерево решений
- SVM
- Наивный Байес
- КНН
- Кластеризация по K-средним
- Случайный лес
- Априори
- PCA
1) Линейная регрессия
- Это один из наиболее часто используемых алгоритмов регрессии в машинном обучении.
- Значимая переменная из набора данных выбирается для прогнозирования выходных переменных (будущих значений). Алгоритм линейной регрессии используется, если метки непрерывны, например, количество ежедневных рейсов из аэропорта и т. д.
- Он показывает линейную связь между зависимыми и независимыми переменными и показывает, как зависимая переменная (y) изменяется в зависимости от независимой переменной (x).
- Он пытается наилучшим образом подобрать линию между зависимыми и независимыми переменными, и эта линия наилучшего соответствия известна как линия регрессии.
Уравнение линии регрессии:
y= a0+ a*x+ b
На диаграмме ниже показана линейная регрессия для прогнозирования веса в зависимости от роста:
2) Логистическая регрессия
- Логистическая регрессия – это алгоритм обучения с учителем, который используется для прогнозирования категориальных переменных или дискретных значений. Его можно использовать для задач классификации в машинном обучении, а результат алгоритма логистической регрессии может быть Да или Нет, 0 или 1, Красный или Синий и т. д.
- Логистическая регрессия во многом похожа на линейную регрессию, за исключением того, как они используются. Линейная регрессия используется для решения задач регрессии, тогда как логистическая регрессия используется для решения задач классификации.
- В логистической регрессии вместо подгонки линии регрессии мы подгоняем логистическую функцию в форме буквы «S», которая предсказывает два максимальных значения (0 или 1).
- Кривая логистической функции указывает на вероятность чего-либо, например, являются ли клетки раковыми или нет, страдает ли мышь ожирением или нет, в зависимости от ее веса и т. д.
На изображении ниже показана логистическая функция:
Примечание. Логистическая регрессия использует концепцию прогнозного моделирования как регрессии; поэтому она называется логистической регрессией, но используется для классификации выборок; Следовательно, он подпадает под алгоритм классификации.
3- Алгоритм дерева решений
Алгоритм дерева решений относится к алгоритмам обучения с учителем. В отличие от других алгоритмов обучения с учителем, алгоритм дерева решений также можно использовать для решения задач регрессии и классификации.
Цель использования дерева решений — создать модель обучения, которую можно использовать для прогнозирования класса или значения целевой переменной путем изучения простых правил принятия решений, выведенных из предыдущих данных (данных обучения).
В деревьях решений для прогнозирования метки класса записи мы начинаем с корня дерева. Мы сравниваем значения корневого атрибута с атрибутом записи. На основе сравнения мы следуем по ветке, соответствующей этому значению, и переходим к следующему узлу.
- В дереве решений есть два узла: Узел решения и Листовой узел. Узлы решения используются для принятия любого решения и имеют несколько ветвей, тогда как Листовые узлы выходные данные этих решений и не содержат дальнейших ветвей.
- Решения или тест выполняются на основе особенностей данного набора данных.
- Это графическое представление всех возможных решений проблемы/решения на основе заданных условий.
- Оно называется деревом решений, потому что, как и дерево, оно начинается с корневого узла, который расширяется на дальнейших ветвях и создает древовидную структуру.
- Для построения дерева мы используем алгоритм CART, что означает алгоритм дерева классификации и регрессии.
- Дерево решений просто задает вопрос и на основе ответа (Да/Нет) разбивает дерево на поддеревья.
Примечание. Дерево решений может содержать категориальные данные (ДА/НЕТ), а также числовые данные.
- На диаграмме ниже поясняется общая структура дерева решений:
Примечание:
Деревья решений обычно имитируют мыслительные способности человека при принятии решения, поэтому их легко понять.
Логику дерева решений легко понять, поскольку оно имеет древовидную структуру.
4. Алгоритм машины опорных векторов
- Машина опорных векторов (SVM) — это контролируемый алгоритм машинного обучения, используемый как для классификации, так и для регрессии. Однако в основном он используется для задач классификации.
- Цель SVM — создать гиперплоскость или границу решения, которая может разделить наборы данных на разные классы.
- Точки данных, которые помогают определить гиперплоскость, известны как опорные векторы, и поэтому он называется машинным алгоритмом опорных векторов.
- Некоторые реальные применения SVM — это обнаружение лиц, классификация изображений, обнаружение лекарств и т. д.
Рассмотрим приведенную ниже диаграмму:
Как мы видим на диаграмме выше, гиперплоскость классифицирует наборы данных на два разных класса.
5. Наивный алгоритм Байеса:
- Наивный алгоритм Байеса — это алгоритм классификации, который используется для прогнозирования классов данных на основе вероятности.
- Этот алгоритм предполагает, что свойства, влияющие на класс данных, независимы друг от друга.
- Наивный алгоритм Байеса можно использовать в таких областях, как классификация текста, фильтрация спама, анализ настроений.
- Теорема Байеса основана на условной вероятности; это означает вероятность того, что событие (А) произойдет, когда известно, что событие (В) уже произошло.
Уравнение для теоремы Байеса имеет вид:
Примечание:
Наивный байесовский классификатор — один из лучших классификаторов, дающих хороший результат для конкретной задачи. Наивную байесовскую модель легко построить, и она хорошо подходит для огромного объема набора данных. В основном он используется для классификации текста.
Например, если мы хотим принять решение играть в игру на основе погоды, мы можем найти вероятность каждого класса погоды и вероятность каждого класса игровой ситуации. Затем, используя теорему Байеса, мы можем вычислить вероятность проведения игры в данную погоду. Таким образом, вы сможете выбрать класс с наибольшей вероятностью.
6. K-ближайший сосед (KNN):
- Алгоритм K-NN можно использовать как для регрессии, так и для классификации, но в основном он используется для задач классификации.
- Алгоритм K-NN сохраняет все доступные данные и классифицирует новую точку данных по сходству. Это означает, что при появлении новых данных их можно легко отнести к хорошей категории с помощью алгоритма K-NN.
- Алгоритм KNN сохраняет набор данных только на этапе обучения, а когда он получает новые данные, он классифицирует эти данные в категорию, очень похожую на новые данные.
Зачем нам нужен алгоритм KNN?
Предположим, что есть две категории, то есть категория A и категория B, и у нас есть новая точка данных x1, поэтому эта точка данных будет относиться к какой из этих категорий. Для решения такого типа задач нам нужен алгоритм K-NN. С помощью K-NN мы можем легко определить категорию или класс определенного набора данных. Рассмотрим приведенную ниже диаграмму:
Как работает К-НН?
Работу K-NN можно объяснить на основе следующего алгоритма:
- Шаг 1. Выберите количество K соседей.
- Шаг 2. Вычислите евклидово расстояние для K соседей
- Шаг 3. Возьмите K ближайших соседей в соответствии с рассчитанным евклидовым расстоянием.
- Шаг 4: Среди этих k соседей подсчитайте количество точек данных в каждой категории.
- Шаг 5. Назначьте новые точки данных той категории, для которой число соседей максимально.
- Шаг 6: Наша модель готова.
7. Кластеризация K-средних
Кластеризация K-средних — один из простейших алгоритмов обучения без учителя, используемых для решения задач кластеризации.
Наборы данных сгруппированы в K различных кластеров в соответствии со сходствами и различиями.
В K-средних K-представляет количество кластеров и означает усреднение набора данных для поиска центра тяжести.
Примечание. Алгоритм кластеризации k-средних в основном выполняет две задачи:
Определяет наилучшее значение для K центральных точек или центроидов с помощью итерационного процесса.
Назначает каждую точку данных ближайшему k-центру. Те точки данных, которые находятся рядом с конкретным k-центром, создают кластер.
Следовательно, каждый кластер имеет точки данных с некоторыми общими чертами и находится вдали от других кластеров.
На диаграмме ниже объясняется работа алгоритма кластеризации K-средних:
8. Алгоритм случайного леса
- Случайный лес — это алгоритм обучения с учителем, который можно использовать как в задачах классификации, так и в задачах регрессии в машинном обучении.
- Это метод обучения, который обеспечивает прогнозирование и повышает производительность модели за счет объединения нескольких классификаторов.
- Он содержит несколько деревьев решений для подмножеств данного набора данных и находит средства для повышения точности прогнозирования модели. Случайный лес должен содержать 64–128 деревьев. Увеличение количества деревьев приводит к увеличению точности алгоритма.
- Чтобы классифицировать новый набор данных, каждое дерево дает результат классификации, и на основе большинства голосов алгоритм прогнозирует окончательный результат.
- Случайный лес — это быстрый алгоритм, который может эффективно справляться с отсутствующими и неверными данными.
Примечание. Чем больше деревьев в лесу, тем выше точность и предотвращается проблема переобучения.
На диаграмме ниже объясняется работа алгоритма случайного леса:
Примечание. Чтобы лучше понять алгоритм случайного леса, вам необходимо знать алгоритм дерева решений.
9. Априорный алгоритм.
- Априорный алгоритм можно считать основополагающим алгоритмом анализа корзин. Анализ корзины – это изучение корзины клиента во время покупок.
- Цель – найти комбинации продуктов, которые часто покупаются вместе, которые мы называем наборами часто используемых товаров. Технический термин для домена — Частый анализ набора элементов.
- Алгоритм выполняет итеративный процесс поиска часто встречающихся наборов элементов из большого набора данных.
10. Анализ основных компонентов,
- PCA — это метод обучения без учителя, используемый для уменьшения размерности. Это помогает уменьшить размерность набора данных, содержащего множество взаимосвязанных функций.
- Это один из популярных инструментов, который используется для исследовательского анализа данных и прогнозного моделирования.
- Анализ главных компонентов (PCA) — незаменимый инструмент визуализации и уменьшения размерности в науке о данных.
- PCA — это метод, который преобразует данные большого размера в данные меньшего размера, сохраняя при этом как можно больше информации.