Введение в машинное обучение:

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

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

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

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

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

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

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

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

Без присмотра

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

Под присмотром

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

Обучение с учителем делится на 2 типа:

Регрессия: это категория проблем, в которой необходимо предсказать значение непрерывного отклика.

Несколько примеров:

  • цена дома в конкретном районе?
  • стоимость акции?
  • общее количество пробежек, которое можно набрать в игре в крикет?

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

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

Что такое кластеризация в машинном обучении?

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

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

Для кластеризации реализован ряд алгоритмов. Некоторые из них:

  • Алгоритмы на основе центроидов - K-means, GMM (Gaussian Mixture Model), Fuzzy c-means.
  • Алгоритмы на основе подключения - все алгоритмы иерархической кластеризации.
  • Уменьшение размеров - tSNE, PCA

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

Что такое кластеризация K-средних?

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

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

  1. Центроиды числа кластеров, которые были идентифицированы (обозначены как K).
  2. Ярлыки для обучающих данных.

Как это работает?

  1. Распределяет данные по нескольким группам как K (K предварительно определено).
  2. Выбираем произвольно K точек в качестве центров кластеров.
  3. Распределите точки до ближайшего к ним центра кластера в соответствии с функцией Евклидово расстояние.
  4. Вычислите среднее значение или центроид всех объектов в каждом кластере.
  5. Повторяйте шаги 2, 3 и 4 до тех пор, пока совпадающие точки не будут выделены каждому кластеру в непрерывных циклах.

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

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

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

  • Попробуйте разные наборы случайных центроидов и выберите лучший.
  • Удалите существующие параметры, чтобы изменить количество центроидов и попробовать несколько начальных значений.
  • Сгенерируйте несколько моделей, изменив метрику или повторив ее еще больше.
  • Используйте такой метод, как PCA (анализ основных компонентов), чтобы определить переменные, которые имеют опасные последствия для кластеризации.

Некоторые варианты использования, в которых был применен этот алгоритм?

  1. K-средние для цифр: здесь k-среднее используется для определения похожих цифр без использования исходной информации на этикетке.
  2. Классификация документов: кластер, документы в нескольких категориях на основе тегов, тем и содержимого документа. Это очень распространенная проблема классификации, и k-средние - чрезвычайно приемлемый алгоритм для этого. Первоначальная обработка документов требуется, чтобы изобразить каждый документ как вектор, и использует частоту терминов для определения обычно используемых терминов, что помогает классифицировать документ. Затем векторы документов группируются, чтобы помочь различить сходство в группах документов.
  3. Сегментация клиентов: кластеризация помогает маркетологам расширить свою клиентскую базу, сосредоточиться на целевых областях и разделить клиентов на основе интересов и истории покупок. Классификация поможет компании сосредоточить внимание на определенных группах клиентов для определенных кампаний.
  4. Обнаружение страхового мошенничества: используя исторические данные о мошеннических претензиях, можно разделить новые претензии в зависимости от их близости к кластерам, которые демонстрируют мошеннические схемы. Поскольку страховое мошенничество, вероятно, может иметь огромные финансовые последствия для организации, способность распознавать мошенничество имеет решающее значение.

Ссылки и дополнительная литература:

Https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

Https://jakevdp.github.io/PythonDataScienceHandbook/05.11-k-means.html

Http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/k-means.html

Https://www.digitalocean.com/community/tutorials/an-introduction-to-machine-learning

Http://alex.smola.org/drafts/thebook.pdf