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

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

Что такое обучение без учителя?

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

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

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

Давайте попробуем понять обучение без учителя на примере.

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

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

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

Типы алгоритмов обучения без учителя

Алгоритм обучения без учителя можно разделить на два типа:

1. Кластеризация

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

Могут быть различные типы кластеризации, которые включают: Иерархическая кластеризация, алгоритм k-средних, Анализ главных компонентов, Разложение по сингулярным значениям и Независимый компонент. Анализ .

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

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

2. Ассоциация

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

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

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

Преимущества и недостатки

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

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

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

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

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

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

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