В чем разница между "означает" и "нечеткие означает" целевые функции?

Я пытаюсь понять, можно ли сравнить производительность обоих на основе целевых функций, над которыми они работают?

5 ответов

Решение

Кстати, алгоритм кластеризации Fuzzy-C-Means (FCM) также известен как Soft K-Means.

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

Я думаю, что за исключением некоторой возможной проблемы с кластерами, которым не назначены точки, можно эмулировать алгоритм K-Means с алгоритмом FCM, моделируя коэффициент бесконечной жесткости (=, вводя функцию, которая изменяет наибольшее значение в векторе до 1 и обнуляет другие значения вместо возведения в степень вектора). Это, конечно, очень неэффективный способ запуска K-средних, потому что алгоритм должен выполнить столько же операций, сколько и с истинным FCM (если только со значениями 1 и 0, что упрощает арифметику, но не сложность)

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

Но FCM/Soft-K-Means менее "глупы", чем Hard-K-Means, когда речь идет, например, о вытянутых кластерах (когда точки, в других отношениях совместимые в других измерениях, имеют тенденцию разбегаться вдоль определенного измерения или двух), и именно поэтому все еще вокруг;-)

Из моего оригинального ответа:

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

Май 2018 года редактировать:

На самом деле нет авторитетных исследований, которые бы я мог определить, которые подтверждают мои предположения о более высокой скорости сходимости FCM. Спасибо, Бенджамин Хорн, чтобы я был честен;-)

Кластеризация K-средних и кластеризация нечетких средств очень похожи в подходах. Основное отличие состоит в том, что в кластеризации Fuzzy-C Means каждая точка имеет вес, связанный с конкретным кластером, поэтому точка не находится "в кластере", а имеет слабую или сильную связь с кластером, что определяется обратным расстоянием до центра скопления.

Средство Fuzzy-C будет работать медленнее, чем средство K, поскольку на самом деле оно выполняет больше работы. Каждая точка оценивается с каждым кластером, и в каждой оценке участвует больше операций. K-Means просто нужно вычислить расстояние, в то время как нечёткое c означает, что нужно выполнить полное обратное взвешивание.

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

каждая точка либо является частью первых центроидов, либо вторыми центроидами. Но в C-средних одна точка может быть частью первых центроидов (90%) и вторых центроидов (10%). Например, ученик потерпел неудачу или прошел, если у нее / него 49. Это как-то прошло, а реальность провалилась, тогда мы назвали это нечетким.

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

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

Другие вопросы по тегам