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

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

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

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

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

Пример

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

Алгоритм K-средних

Одним из примеров обучения без учителя является алгоритм k-средних. Давайте проверим, как работает K-means.

Инициализация

Во-первых, нам нужно определить случайные kточки данных. Мы можем использовать столько k, сколько захотим. Затем эти точки данных будут действовать как центр кластеров. Вот пример инициализации k-средних. В этом случае k равно 2.

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

Обновлять

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

Затем мы повторяем процесс несколько раз, пока не получим точки k-инициализации для правильного кластера (конвергенция), как на картинке ниже.

K-средние очень чувствительны к выбросам. Вы можете себе представить процесс обновления, мы обычно берем средние точки кластера в качестве следующего центра кластера. Если есть выбросы, среднее значение может быть смещено и не приведет к соответствующему центру кластера. Решение этой проблемы состоит в том, что мы можем использовать медиану вместо среднего. В k-средних важно выбрать количество кластеров (k). Итак, как правильно выбрать k?

Коленный или локтевой метод

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

Разрозненные точки данных в правом верхнем углу — это все доступные точки данных. Затем горизонтальная ось представляет количество кластеров. Между тем, вертикальная ось представляет сумму квадратов групп. Мы видим, что разница между k=1 и k=2 значительна. Когда мы увеличиваем k=2 до k=3, значение все равно остается значительным. Как насчет дальнейшего увеличения k? Кажется, это уже не так существенно. Когда мы заметим, что увеличение до k = 4 больше не имеет значения, мы можем просто остановиться на k = 3.

Перекрестная проверка

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

Заворачивать

Сегодня мы говорили о введении в неконтролируемое обучение и кластеризацию. Мы также говорили об одном из его известных алгоритмов, k-средних. Завтра мы подробнее рассмотрим алгоритм k-средних и неконтролируемое обучение. Спасибо за чтение.

использованная литература