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

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

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

Что такое интеллектуальный анализ данных?

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

Подводя итог, машинное обучение отлично подходит для:

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

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

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

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

Обучение под наблюдением: -

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

Например: Предположим, вам дали корзину, наполненную разными фруктами. Теперь первый шаг — обучить машину со всеми разными фруктами один за другим, вот так.

  • Если форма объекта округлая, а углубление наверху имеет красный цвет, то он будет помечен как -Apple.
  • Если форма объекта представляет собой длинный изогнутый цилиндр зелено-желтого цвета, то он будет помечен как «Банан».
  • Теперь предположим, что после обучения данных вы дали новый отдельный фрукт, скажем, банан из корзины, и попросили его идентифицировать.
  • Так как машина уже извлекла уроки из предыдущих данных и на этот раз должна использовать их с умом. Сначала он классифицирует фрукт по форме и цвету, подтвердит название фрукта как БАНАН и поместит его в категорию бананов. Таким образом, машина изучает данные из обучающих данных (корзина с фруктами), а затем применяет эти знания к тестовым данным (новые фрукты).

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

Классификация: –

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

Регрессия:-

Проблема регрессии возникает, когда выходная переменная представляет собой реальное значение, например «доллары» или «вес». Другой типичной задачей является прогнозирование целевого числового значения, такого как цена автомобиля, с учетом набора характеристик (пробег, возраст, марка и т. д.), называемых предикторами.

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

Существует два типа регрессионной модели:

1. Линейная регрессия: -

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

Существует два типа алгоритма линейной регрессии:

A. Простой линейный: -

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

B. Несколько линейных: -

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

2. Нелинейная регрессия: -

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

Типы:-

• Логистическая регрессия
• Наивные байесовские классификаторы
• K-NN (k ближайших соседей)
• Деревья решений
• Машина опорных векторов
• Нейронные сети

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

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

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

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

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

Методы кластеризации: -

• Методы на основе плотности: -

Эти методы рассматривают кластеры как плотную область, имеющую некоторое сходство и отличную от нижней плотной области пространства. Эти методы обладают хорошей точностью и способностью объединять два кластера. Пример: DBSCAN (Пространственная кластеризация приложений с шумом на основе плотности), OPTICS (Точки упорядочения для определения структуры кластеризации) и т. д.

• Иерархические методы: -

Кластеры, сформированные этим методом, формируют древовидную структуру на основе иерархии. Новые кластеры формируются с использованием ранее сформированного. Он делится на две категории.
o Агломеративный (подход снизу вверх)
o Разделительный (подход сверху вниз)
o примеры CURE (кластеризация с использованием представителей), BIRCH (сбалансированная итеративная редуцирующая кластеризация и использование иерархии) и др.

• Методы разбиения: -

Эти методы разбивают объекты на k кластеров, и каждый раздел образует один кластер. Этот метод используется для оптимизации функции подобия объективного критерия, например, когда расстояние является основным параметром, например K-means, CLARANS (кластеризация больших приложений на основе рандомизированного поиска) и т. д.

• Методы на основе сетки: -+

В этом методе пространство данных состоит из конечного числа ячеек, образующих сеточную структуру. Все операции кластеризации, выполняемые в этих сетках, выполняются быстро и не зависят от количества объектов данных, например STING (статистическая информационная сетка), волновой кластер, CLIQUE (кластеризация в поисках) и т. д.

- Кластеризация K-средних: -

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

- DBSCAN (Пространственная кластеризация приложений с шумом на основе плотности): -

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

— Иерархический кластерный анализ (HCA)

• Обнаружение аномалий и обнаружение новшеств

— Одноклассовая SVM
— Изолированный лес

• Визуализация и уменьшение размерности

— Анализ основных компонентов (PCA)
— Kernel PCA
— Локально-линейное встраивание (LLE)
— Стохастическое встраивание соседей с t-распределением (t-SNE)

• Изучение правил ассоциации

— Априори
— Эклат

Применение кластеризации в разных областях

• Маркетинг: -

Его можно использовать для характеристики и выявления сегментов клиентов в маркетинговых целях.

• Биология: -

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

• Библиотеки: -

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

• Страхование :-

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

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

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

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

Пример:-

Google Photos является очень хорошим примером этого, так как мы загружаем наши семейные фотографии, и на некоторых фотографиях человек 1 находится на фотографиях под номерами 2, 5, 9, а человек 2 — на фотографиях под номерами 1, 3, 6, это неконтролируемая часть алгоритма ( кластеризация). Теперь вам нужно поставить отметки, кто человек 1, а кто человек 2, поэтому у нас просто есть одна метка на человека, и она может назвать всех на каждой фотографии.

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

Алгоритм Semi-Supervised предполагает следующее о данных:

Предположение о непрерывности: -

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

Кластерное предположение: -

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

Коллективное предположение: -

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

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

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

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

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

Вход:-

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

Выход:-

Существует множество возможных выходных данных, поскольку существует множество решений конкретной проблемы.

Обучение:-

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

Модель продолжает учиться.

Лучшее решение определяется на основе максимального вознаграждения.

Пакетное обучение

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

Онлайн обучение

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

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

Обучение на основе экземпляров по сравнению с обучением на основе моделей

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

Например :-

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

Преимущества:-

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

Недостатки:-

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

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

• K ближайших соседей (KNN)
• Самоорганизующаяся карта (SOM)
• Изучение векторного квантования (LVQ)
• Локально взвешенное обучение (LWL)

Обучение на основе моделей

Другой способ обобщить набор примеров — построить модель этих примеров, а затем использовать эту модель для прогнозирования. Это называется обучением на основе моделей.

Например:-

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

Кажется, здесь есть тенденция! Хотя данные зашумлены (то есть частично случайны), похоже, что удовлетворенность жизнью растет более или менее линейно по мере увеличения ВВП страны на душу населения. Итак, вы решили смоделировать удовлетворенность жизнью как линейную функцию ВВП на душу населения. Этот шаг называется выбором модели:

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

  1. Недостаточное количество обучающих данных
  2. Нерепрезентативные данные обучения
  3. Данные низкого качества
  4. Нерелевантные функции
  5. Переоснащение тренировочных данных
  6. Недообучение тренировочных данных

мл | Общие функции потерь

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

• Модели регрессии: -

прогнозировать непрерывные значения.

• Модели классификации: -

предсказать вывод из набора конечных категориальных значений