Учебники

AI с Python — Машинное обучение

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

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

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

Типы машинного обучения (ML)

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

Алгоритмы машинного обучения под наблюдением

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

Предположим, у нас есть входные переменные x и выходная переменная y, и мы применили алгоритм, чтобы узнать функцию отображения из входных данных в выходные, например:

Y = f(x)

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

В основном проблемы, связанные с наклонностью, можно разделить на следующие два типа проблем:

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

  • Регрессия — проблема называется проблемой регрессии, когда у нас есть вывод реальной стоимости, такой как «расстояние», «килограмм» и т. Д.

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

Регрессия — проблема называется проблемой регрессии, когда у нас есть вывод реальной стоимости, такой как «расстояние», «килограмм» и т. Д.

Дерево решений, случайный лес, кнн, логистическая регрессия — примеры контролируемых алгоритмов машинного обучения.

Необслуживаемые алгоритмы машинного обучения

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

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

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

Необученные проблемы обучения можно разделить на следующие два вида проблем:

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

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

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

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

K-средства для кластеризации, алгоритм Apriori для ассоциации являются примерами неконтролируемых алгоритмов машинного обучения.

Укрепление алгоритмов машинного обучения

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

Наиболее распространенные алгоритмы машинного обучения

В этом разделе мы узнаем о наиболее распространенных алгоритмах машинного обучения. Алгоритмы описаны ниже —

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

Это один из самых известных алгоритмов в статистике и машинном обучении.

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

Типы линейной регрессии

Линейная регрессия бывает следующих двух типов:

  • Простая линейная регрессия . Алгоритм линейной регрессии называется простой линейной регрессией, если он имеет только одну независимую переменную.

  • Множественная линейная регрессия . Алгоритм линейной регрессии называется множественной линейной регрессией, если он имеет более одной независимой переменной.

Простая линейная регрессия . Алгоритм линейной регрессии называется простой линейной регрессией, если он имеет только одну независимую переменную.

Множественная линейная регрессия . Алгоритм линейной регрессии называется множественной линейной регрессией, если он имеет более одной независимой переменной.

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

Логистическая регрессия

Это алгоритм классификации, также известный как регрессия логита .

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

Древо решений

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

По сути, это классификатор, выраженный как рекурсивное разбиение на основе независимых переменных. Дерево решений имеет узлы, которые образуют корневое дерево. Корневое дерево — это направленное дерево с узлом под названием «корень». Корень не имеет входящих ребер, а все остальные узлы имеют одно входящее ребро. Эти узлы называются узлами или узлами решения. Например, рассмотрите следующее дерево решений, чтобы увидеть, подходит ли человек или нет.

Древо решений

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

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

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

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

Наивный Байес

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

P left( fracAB right)= fracP left( fracBA right)P left(A right)P left(B right)

Наивная байесовская модель проста в построении и особенно полезна для больших наборов данных.

K-Ближайшие соседи (KNN)

Он используется для классификации и регрессии проблем. Он широко используется для решения задач классификации. Основная концепция этого алгоритма заключается в том, что он используется для хранения всех доступных случаев и классифицирует новые случаи большинством голосов своих k соседей. Затем случай присваивается классу, который является наиболее распространенным среди его K-ближайших соседей, что измеряется функцией расстояния. Функция расстояния может быть Евклидовым, Минковским и расстоянием Хэмминга. Рассмотрим следующее, чтобы использовать KNN —

  • В вычислительном отношении KNN дороже, чем другие алгоритмы, используемые для задач классификации.

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

  • В KNN нам нужно работать на стадии предварительной обработки, такой как удаление шума.

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

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

В KNN нам нужно работать на стадии предварительной обработки, такой как удаление шума.

K-средства кластеризации

Как следует из названия, он используется для решения проблем кластеризации. Это в основном тип обучения без присмотра. Основная логика алгоритма кластеризации K-Means заключается в классификации набора данных по ряду кластеров. Выполните следующие шаги, чтобы сформировать кластеры с помощью K-средних —

  • K-means выбирает k количество точек для каждого кластера, известного как центроиды.

  • Теперь каждая точка данных образует кластер с ближайшими центроидами, т.е. k кластерами.

  • Теперь он найдет центроиды каждого кластера на основе существующих членов кластера.

  • Нам нужно повторять эти шаги, пока не произойдет сближение.

K-means выбирает k количество точек для каждого кластера, известного как центроиды.

Теперь каждая точка данных образует кластер с ближайшими центроидами, т.е. k кластерами.

Теперь он найдет центроиды каждого кластера на основе существующих членов кластера.

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

Случайный Лес

Это контролируемый алгоритм классификации. Преимущество алгоритма случайного леса состоит в том, что его можно использовать как для задач классификации, так и для задач регрессии. В основном это коллекция деревьев решений (т. Е. Лес) или, можно сказать, ансамбль деревьев решений. Основная концепция случайного леса состоит в том, что каждое дерево дает классификацию, и лес выбирает из них лучшие классификации. Ниже приведены преимущества алгоритма Random Forest —

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

Они могут обрабатывать пропущенные значения.

Это не будет соответствовать модели, даже если у нас будет больше деревьев в лесу.