Машинное обучение было определено в 90-х годах Артуром Сэмюэлем, которое описал как: «это область обучения, которая дает компьютеру возможность самообучения. учиться без явного программирования », что означает передачу знаний машинам без жесткого программирования.

«Считается, что компьютерный алгоритм / программа учится на основе показателя производительности P и испытывает E с некоторым классом задач T, если их производительность при выполнении задач в T, измеренная с помощью P, улучшается с опытом E». - Том М. Митчелл.

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

Зачем нам нужно машинное обучение: -

Объем данных растет день ото дня, и невозможно понять все данные с более высокой скоростью и большей точностью. Более 80% данных неструктурированы, то есть аудио, видео, фотографии, документы, графики и т. Д. Человеческий мозг не может найти закономерности в данных на планете Земля. Данных было очень много, время, затрачиваемое на вычисления, увеличилось бы, и именно здесь приходит на помощь машинное обучение, чтобы помочь людям с важными данными за минимальное время.

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

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

Машинное обучение в основном делится на три категории:

1. Обучение с учителем: -

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

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

Типы обучения с учителем: -

Обучение с учителем в основном разделено на две части:

1.1. Регрессия: -

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

Типы алгоритмов регрессии: -

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

1.1.1. Простая линейная регрессия: -

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

1.1.2. Множественная линейная регрессия: -

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

1.1.3. Полиномиальная регрессия: -

Полиномиальная регрессия - это еще одна форма регрессии, в которой максимальная мощность независимой переменной больше 1. В этом методе регрессии линия наилучшего соответствия не является прямой линией, а имеет форму кривой.

1.1.4. Поддержка векторной регрессии: -

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

1.1.5. Регрессия гребня: -

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

1.1.6.Лассо-регрессия: -

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

1.1.7. Регрессия ElasticNet: -

Эластичная сетевая регрессия объединила нормы L1 (LASSO) и нормы L2 (гребенчатая регрессия) в модель со штрафами для обобщенной линейной регрессии и придала ей свойства разреженности (L1) и устойчивости (L2).

1.1.8 Байесовская регрессия: -

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

1.1.9. Регрессия дерева решений: -

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

1.1.10. Регрессия случайного леса: -

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

1.2.Классификация: -

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

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

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

1.2.1.Логистическая регрессия / классификация: -

Логистическая регрессия подпадает под категорию контролируемого обучения; он измеряет взаимосвязь между зависимой переменной, которая является категориальной с одной или несколькими независимыми переменными, путем оценки вероятностей с использованием логистической / сигмоидной функции. Логистическая регрессия обычно может использоваться, когда зависимая переменная является двоичной или дихотомической. Это означает, что зависимая переменная может принимать только два возможных значения, например «Да или Нет», «Живой или мертвый».

1.2.2.K-Ближайшие соседи: -

Алгоритм KNN - один из самых простых алгоритмов классификации и один из наиболее часто используемых алгоритмов обучения. Большинство голосов за объект классифицируется его соседями, причем цель присваивается классу, наиболее распространенному среди его k ближайших соседей. Его также можно использовать для регрессии - вывод - это значение объекта (предсказывает непрерывные значения). Это значение является средним (или медианным) преимуществом его k ближайших соседей.

1.2.3. Поддержка векторных машин: -

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

1.2.4.Машины опорных векторов ядра: -

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

1.2.5. Наивный Байес: -

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

1.2.6. Классификация дерева решений: -

Дерево решений формирует классификационные модели в виде древовидной структуры. Постепенно развивается связанное дерево решений, и в то же время оно разбивает большой набор данных на более мелкие подмножества. Конечным результатом является дерево с узлами решений и листовыми узлами. Узел принятия решения (например, Root) имеет две или более ветвей. Листовой узел представляет собой классификацию или решение. Первый узел решения в дереве, который соответствует лучшему предиктору, называется корневым узлом. Деревья решений могут обрабатывать как категориальные, так и числовые данные.

1.2.7. Классификация случайного леса: -

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

2. Обучение без учителя: -

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

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

Типы обучения без учителя: -

Обучение без учителя в основном разделено на две части:

2.1.Кластеризация: -

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

Типы алгоритмов кластеризации: -

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

2.1.1.Кластеризация K-средств: -

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

2.1.2. Иерархическая кластеризация: -

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

2.2.Уменьшение размерности: -

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

Типы алгоритмов уменьшения размерности: -

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

2.2.1. Анализ основных компонентов: -

Анализ главных компонентов - это один из алгоритмов уменьшения размерности, в этом методе он преобразовывается в новый набор переменных из старых переменных, которые представляют собой линейную комбинацию реальных переменных. Конкретный новый набор переменных известен как главные компоненты. В результате преобразования первый первичный компонент имеет наиболее значительную возможную дисперсию, а каждый последующий элемент имеет самую высокую разность потенциалов при ограничении, что он ортогонален вышеуказанным ингредиентам. Сохранение только первых m ‹n компонентов снижает размерность данных, сохраняя при этом большую часть информации о данных,

2.2.2. Линейный дискриминантный анализ: -

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

2.2.3. Анализ основных компонентов ядра: -

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

3. Обучение с подкреплением: -

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

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

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

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

3.1.Q-Learning: -

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

3.2.SARSA [Государственное действие Вознаграждение Государственное действие]: -

SARSA - это один из алгоритмов обучения с подкреплением, в котором он определяет, что он обновлен до значений действия. Это небольшая разница между реализациями SARSA и Q-Learning, но она оказывает существенное влияние. Метод SARSA принимает другой параметр, action2, который представляет собой действие, совершенное агентом из второго состояния. Это позволяет агенту явно определить будущую величину вознаграждения. Далее, это следовало, вместо того, чтобы предполагать, что будет использовано оптимальное действие и что будет наиболее значимая награда.

3.3 Глубокая Q-сеть: -

Deep Q-Network - это один из алгоритмов обучения с подкреплением, хотя Q-обучение - очень надежный алгоритм, его главный недостаток - отсутствие общности. Если вы рассматриваете Q-обучение как обновление чисел в двумерном массиве (пространство действий * пространство состояний), оно фактически следует динамическому программированию. Это указывает на то, что для состояний, которые агент Q-Learning не видел раньше, он не знает, какое действие предпринять. Другими словами, агент Q-Learning не может оценить значение для невидимых состояний. Чтобы справиться с этой проблемой, DQN избавляется от двумерного массива, вводя нейронную сеть.

3.4. Марковские процессы принятия решений: -

Марковский процесс принятия решений - один из алгоритмов обучения с подкреплением, в котором он содержит * набор возможных состояний мира S. * набор моделей. * Набор возможных действий A. * Действительная функция вознаграждения R (s, a). * Политика решение Марковского процесса принятия решений. Для достижения цели используется Марковский процесс принятия решений, который представляет собой простую формулировку проблемы обучения на основе взаимодействия. Агент выбирал действия и среду, реагирующую на эти действия, а агент и среда постоянно взаимодействуют и представляют агенту новые ситуации.

3.5.DDPG [Глубокий детерминированный градиент политики]: -

Глубокий детерминированный градиент политики - это один из алгоритмов обучения с подкреплением, в котором он опирается на схему «актер-критик» с двумя одноименными компонентами: актер и критик. Актер используется для настройки параметра 𝜽 для функции политики, т.е. принятия решения о наилучшем действии для определенного состояния. Идеи отдельной целевой сети и воспроизведения опыта также заимствованы из DQN. Другой проблемой для DDPG является то, что геологоразведочные работы выполняются редко. Решением для этого является добавление шума в пространство параметров или пространство действий.

4. Полу-контролируемое обучение: -

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

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

Приложения машинного обучения: -

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

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