k - означает кластеризацию
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
k Кластеризация -средних — это метод векторного квантования , возникший из обработки сигналов , целью которого является разделение n наблюдений на k кластеров, в которых каждое наблюдение принадлежит кластеру с ближайшим средним значением (центрами кластера или центроидом кластера ), служащим прототипом кластер. Это приводит к разделению пространства данных на ячейки Вороного . Кластеризация k -средних минимизирует дисперсию внутри кластера ( квадрат евклидовых расстояний ), но не обычные евклидовы расстояния, что было бы более сложной задачей Вебера : среднее оптимизирует квадратичные ошибки, тогда как только геометрическая медиана минимизирует евклидовы расстояния. Например, лучшие евклидовы решения можно найти, используя k -медианы и k -медоиды .
Задача вычислительно сложна ( NP-трудна ); однако эффективные эвристические алгоритмы быстро сходятся к локальному оптимуму . Обычно они аналогичны алгоритму ожидания-максимизации для смесей гауссовских распределений с помощью итеративного подхода уточнения, используемого как при моделировании k-средних , так и при моделировании гауссовой смеси . Они оба используют кластерные центры для моделирования данных; однако кластеризация с помощью k -средних имеет тенденцию находить кластеры сопоставимой пространственной протяженности, в то время как модель гауссовой смеси позволяет кластерам иметь разные формы.
Алгоритм неконтролируемых k -средних имеет слабое отношение к классификатору k -ближайших соседей , популярному контролируемому методу машинного обучения часто путают с k для классификации, который из-за названия -средними. Применение классификатора 1-ближайшего соседа к центрам кластеров, полученным с помощью k -средних, классифицирует новые данные в существующие кластеры. Это известно как классификатор ближайшего центроида или алгоритм Роккио .
Описание
[ редактировать ]Учитывая набор наблюдений ( x 1 , x 2 , ..., x n ) , где каждое наблюдение представляет собой -мерный действительный вектор, k кластеризация -средних направлена на разделение n наблюдений на k ( ≤ n ) множеств S = { S 1 , S 2 , ..., S k } так, чтобы минимизировать сумму квадратов внутри кластера ( WCSS) (т.е. дисперсия ). Формально цель состоит в том, чтобы найти: где µ i — среднее значение (также называемое центроидом) точек в , то есть размер , и это обычный л 2 норма . Это эквивалентно минимизации попарных квадратичных отклонений точек в одном кластере: Эквивалентность можно вывести из тождества . Поскольку общая дисперсия постоянна, это эквивалентно максимизации суммы квадратов отклонений между точками в разных кластерах (сумма квадратов между кластерами, BCSS). [1] Это детерминированное соотношение также связано с законом полной дисперсии в теории вероятностей.
История
[ редактировать ]Термин « k -средние» впервые был использован Джеймсом Маккуином в 1967 году. [2] хотя идея принадлежит Хьюго Штайнхаусу в 1956 году. [3] Стандартный алгоритм был впервые предложен Стюартом Ллойдом из Bell Labs в 1957 году как метод импульсно-кодовой модуляции , хотя он не публиковался в виде журнальной статьи до 1982 года. [4] В 1965 году Эдвард Форги опубликовал по существу тот же метод, поэтому его иногда называют алгоритмом Ллойда-Форги. [5]
Алгоритмы
[ редактировать ]Стандартный алгоритм (наивные k -средние)
[ редактировать ]Наиболее распространенный алгоритм использует метод итеративного уточнения. Из-за своей повсеместности его часто называют « алгоритмом k -средних»; его также называют алгоритмом Ллойда , особенно в сообществе информатиков. Иногда его также называют «наивными k -средними», поскольку существуют гораздо более быстрые альтернативы. [6]
Учитывая начальный набор k, означает m 1 (1) , ..., м к (1) (см. ниже), алгоритм выполняется путем чередования двух шагов: [7]
- Шаг назначения : Присвойте каждое наблюдение кластеру с ближайшим средним значением: с наименьшим квадратом евклидова расстояния . [8] (Математически это означает разделение наблюдений в соответствии с диаграммой Вороного, созданной с помощью этих средств.) где каждый присваивается ровно одному , даже если его можно было назначить двум или более из них.
- Шаг обновления : пересчитать средние значения ( центроиды ) для наблюдений, назначенных каждому кластеру.
Целевой функцией в k -средних является WCSS (внутри кластерной суммы квадратов). После каждой итерации WCSS уменьшается, и поэтому мы имеем неотрицательную монотонно убывающую последовательность. Это гарантирует, что k -средние всегда сходятся, но не обязательно к глобальному оптимуму.
Алгоритм сходится, когда назначения больше не меняются или, что то же самое, когда WCSS становится стабильным. Алгоритм не гарантирует нахождения оптимума. [9]
Алгоритм часто представляют как отнесение объектов к ближайшему кластеру по расстоянию. Использование другой функции расстояния, отличной от (квадратного) евклидова расстояния, может помешать сходимости алгоритма. различные модификации k -средних, такие как сферические k -средние и k -медоиды, Были предложены позволяющие использовать другие меры расстояния.
- Псевдокод
В приведенном ниже псевдокоде описывается реализация стандартного алгоритма кластеризации k -средних. Инициализация центроидов, метрика расстояния между точками и центроидами, а также расчет новых центроидов являются вариантами проектирования и будут различаться в зависимости от реализации. В этом примере псевдокода argmin используется для поиска индекса минимального значения.
def k_means_cluster(k, points):
# Initialization: choose k centroids (Forgy, Random Partition, etc.)
centroids = [c1, c2, ..., ck]
# Initialize clusters list
clusters = [[] for _ in range(k)]
# Loop until convergence
converged = false
while not converged:
# Clear previous clusters
clusters = [[] for _ in range(k)]
# Assign each point to the "closest" centroid
for point in points:
distances_to_each_centroid = [distance(point, centroid) for centroid in centroids]
cluster_assignment = argmin(distances_to_each_centroid)
clusters[cluster_assignment].append(point)
# Calculate new centroids
# (the standard implementation uses the mean of all points in a
# cluster to determine the new centroid)
new_centroids = [calculate_centroid(cluster) for cluster in clusters]
converged = (new_centroids == centroids)
centroids = new_centroids
if converged:
return clusters
Методы инициализации
[ редактировать ]Обычно используемые методы инициализации — Forgy и Random Partition. [10] Метод Форги случайным образом выбирает k наблюдений из набора данных и использует их в качестве начальных средних значений. Метод случайного разделения сначала случайным образом назначает кластер каждому наблюдению, а затем переходит к этапу обновления, таким образом вычисляя начальное среднее значение как центроид случайно назначенных точек кластера. Метод Форги имеет тенденцию распределять исходные средние значения, в то время как случайное разделение помещает их все ближе к центру набора данных. По мнению Хамерли и др., [10] метод случайного разделения обычно предпочтительнее для таких алгоритмов, как k -гармонические средние и нечеткие k -средние. Для максимизации ожидания и стандартных алгоритмов k -средних предпочтителен метод инициализации Форги. Всестороннее исследование Селеби и др., [11] однако обнаружил, что популярные методы инициализации, такие как Forgy, Random Partition и Maximin, часто работают плохо, тогда как подход Брэдли и Файяда [12] работает «постоянно» в «лучшей группе», а k -means++ работает «в целом хорошо».
-
1. k исходных «средств» (в данном случае k =3) генерируются случайным образом внутри предметной области (показаны цветом).
-
2. k кластеров создаются путем сопоставления каждого наблюдения с ближайшим средним значением. Разделы здесь представляют собой диаграмму Вороного, созданную с помощью этих средств.
-
3. Центроид каждого из k кластеров становится новым средним.
-
4. Шаги 2 и 3 повторяются до тех пор, пока не будет достигнута сходимость.
Алгоритм не гарантирует сходимости к глобальному оптимуму. Результат может зависеть от исходных кластеров. Поскольку алгоритм обычно быстрый, его обычно запускают несколько раз с разными начальными условиями. Однако в худшем случае производительность может быть низкой: в частности, некоторые наборы точек, даже в двух измерениях, сходятся за экспоненциальное время, то есть 2 Ом ( п ) . [13] Эти наборы точек, похоже, не возникают на практике: это подтверждается тем фактом, что сглаженное время работы k -средних является полиномиальным. [14]
Шаг «назначения» называется «шагом ожидания», а «шаг обновления» — это шагом максимизации, что делает этот алгоритм вариантом обобщенного алгоритма ожидания-максимизации .
Сложность
[ редактировать ]Поиск оптимального решения проблемы кластеризации k -средних для наблюдений в d измерениях заключается в следующем:
- NP-трудно в общем евклидовом пространстве ( измерений d ) даже для двух кластеров, [15] [16]
- NP-трудно для общего числа кластеров k даже на плоскости, [17]
- если k и d (размерность) фиксированы, задачу можно точно решить за время , где n — количество объектов, подлежащих кластеризации. [18]
Таким образом, обычно используются различные эвристические алгоритмы, такие как алгоритм Ллойда, приведенный выше.
Время работы алгоритма Ллойда (и большинства его вариантов) составляет , [9] [19] где:
- n — количество d -мерных векторов (которые подлежат кластеризации)
- k количество кластеров
- i количество итераций, необходимых для достижения сходимости.
Для данных, которые имеют структуру кластеризации, количество итераций до сходимости часто невелико, и результаты улучшаются лишь незначительно после первой дюжины итераций. Поэтому на практике алгоритм Ллойда часто считается имеющим «линейную» сложность, хотя в худшем случае он является суперполиномиальным, когда выполняется до сходимости. [20]
- В худшем случае алгоритм Ллойда требует итераций, так что сложность алгоритма Ллойда в худшем случае является суперполиномиальной . [20]
- Алгоритм Ллойда с использованием k -средних имеет полиномиально сглаженное время работы. Показано, что [14] для произвольного набора из n точек в , если каждая точка независимо возмущена нормальным распределением со средним значением 0 и дисперсией , то ожидаемое время работы алгоритма k -средних ограничено , который является многочленом от n , k , d и .
- Лучшие оценки доказаны для простых случаев. Например, показано, что время работы алгоритма k -средних ограничено величиной для n точек целочисленной решетки . [21]
Алгоритм Ллойда является стандартным подходом к этой проблеме. точками данных уходит много времени Однако на вычисление расстояний между каждым из k центров кластеров и n . Поскольку точки обычно остаются в тех же кластерах после нескольких итераций, большая часть этой работы становится ненужной, что делает наивную реализацию очень неэффективной. Некоторые реализации используют кеширование и неравенство треугольника для создания границ и ускорения алгоритма Ллойда. [9] [22] [23] [24] [25]
Оптимальное количество кластеров
[ редактировать ]Поиск оптимального количества кластеров ( k ) для кластеризации k -средних является важным шагом для обеспечения того, чтобы результаты кластеризации были значимыми и полезными. [26] Для определения подходящего количества кластеров доступно несколько методов. Вот некоторые из часто используемых методов:
- Метод локтя (кластеризация) . Этот метод включает в себя построение объяснимой вариации в зависимости от количества кластеров и выбор изгиба кривой в качестве количества используемых кластеров. [27] Однако понятие «локоть» не имеет четкого определения и, как известно, ненадежно. [28]
- Силуэт (кластеризация) . Анализ силуэта измеряет качество кластеризации и дает представление о расстоянии разделения между полученными кластерами. [29] Более высокий балл силуэта указывает на то, что объект хорошо соответствует своему кластеру и плохо соответствует соседним кластерам.
- Статистика разрывов : Статистика разрывов сравнивает общую сумму внутрикластерных вариаций для различных значений k с их ожидаемыми значениями при нулевом эталонном распределении данных. [30] Оптимальный k — это значение, которое дает наибольшую статистику разрыва.
- Индекс Дэвиса-Булдина : Индекс Дэвиса-Булдина является мерой степени разделения между кластерами. [31] Более низкие значения индекса Дэвиса-Булдина указывают на модель с лучшим разделением.
- Индекс Калински-Харабаша : этот индекс оценивает кластеры на основе их компактности и разделения. Индекс рассчитывается с использованием отношения дисперсии между кластерами к дисперсии внутри кластера, причем более высокие значения указывают на более четко определенные кластеры. [32]
- Индекс Рэнда : рассчитывает долю согласия между двумя кластерами, учитывая обе пары элементов, которые правильно отнесены к одному и тому же или разным кластерам. [33] Более высокие значения указывают на большее сходство и лучшее качество кластеризации. Чтобы обеспечить более точную оценку, скорректированный индекс Рэнда (ARI), введенный Хьюбертом и Араби в 1985 году, корректирует индекс Рэнда путем поправки на ожидаемое сходство всех пар, обусловленное случайностью. [34]
Вариации
[ редактировать ]- Оптимизация естественных разрывов Дженкса : k -средние применяются к одномерным данным
- k Кластеризация -медианов использует медиану в каждом измерении вместо среднего значения, и таким образом минимизируется норма ( геометрия такси ).
- k -medoids (также: Разделение вокруг медоидов, PAM) использует медоид вместо среднего значения и таким образом минимизирует сумму расстояний для произвольных функций расстояния.
- Нечеткая кластеризация C-средних — это мягкая версия k -средних, где каждая точка данных имеет нечеткую степень принадлежности к каждому кластеру.
- Модели гауссовой смеси , обученные с помощью алгоритма ожидания-максимизации (алгоритм EM), поддерживают вероятностные назначения кластерам вместо детерминированных назначений и многомерные гауссовы распределения вместо средних значений.
- k -means++ выбирает начальные центры таким образом, чтобы дать доказуемую верхнюю границу цели WCSS.
- Алгоритм фильтрации использует k -d деревья для ускорения каждого шага k -средних. [35]
- Некоторые методы пытаются ускорить каждый шаг k -средних, используя неравенство треугольника . [22] [23] [24] [36] [25]
- Избегайте локальных оптимумов, меняя точки между кластерами. [9]
- Алгоритм кластеризации сферических k -средних подходит для текстовых данных. [37]
- Иерархические варианты, такие как Bisecting k -means, [38] X-средняя кластеризация [39] и кластеризация G-средств [40] многократно разбивать кластеры для построения иерархии , а также может попытаться автоматически определить оптимальное количество кластеров в наборе данных.
- Внутренние меры оценки кластера , такие как силуэт кластера, могут быть полезны при определении количества кластеров .
- -средние Минковского Взвешенные k автоматически рассчитывают веса признаков, специфичных для кластера, поддерживая интуитивное представление о том, что признак может иметь разную степень релевантности для разных признаков. [41] Эти веса также можно использовать для повторного масштабирования заданного набора данных, увеличивая вероятность оптимизации индекса достоверности кластера при ожидаемом количестве кластеров. [42]
- Мини-партия k -означает: k -означает вариацию с использованием образцов «мини-партии» для наборов данных, которые не помещаются в память. [43]
- Метод Оцу
Метод Хартигана-Вонга
[ редактировать ]Метод Хартигана и Вонга [9] предоставляет вариант алгоритма k -средних, который приближается к локальному минимуму задачи минимальной суммы квадратов с различными обновлениями решения. Этот метод представляет собой локальный поиск , который итеративно пытается переместить образец в другой кластер, пока этот процесс не улучшает целевую функцию. Когда ни один образец не может быть перенесен в другой кластер с улучшением цели, метод останавливается (в локальном минимуме). Подобно классическим k -средним, этот подход остается эвристическим, поскольку он не обязательно гарантирует, что окончательное решение будет глобально оптимальным.
Позволять быть индивидуальной стоимостью определяется , с центр кластера.
- Шаг назначения
- Метод Хартигана и Вонга начинается с разделения точек на случайные кластеры. .
- Шаг обновления
- Далее он определяет и для которого следующая функция достигает максимума Для которые достигают этого максимума, уходит из кластера в кластер .
- Прекращение действия
- Алгоритм завершается один раз меньше нуля для всех .
Могут использоваться различные стратегии принятия хода. В стратегии первого улучшения может быть применено любое улучшающее перемещение, тогда как в стратегии наилучшего улучшения все возможные перемещения проверяются итеративно, и на каждой итерации применяется только лучшее. Первый подход благоприятствует скорости, независимо от того, предпочитает ли второй подход качество решения за счет дополнительного вычислительного времени. Функция используемый для расчета результата перемещения, также можно эффективно оценить, используя равенство [44]
Глобальная оптимизация и метаэвристика
[ редактировать ]Известно, что классический алгоритм k -средних и его варианты сходятся только к локальным минимумам задачи кластеризации с минимальной суммой квадратов, определяемой как Многие исследования пытались улучшить сходимость алгоритма и максимизировать шансы на достижение глобального оптимума (или, по крайней мере, локального минимума лучшего качества). Техники инициализации и перезапуска, обсуждавшиеся в предыдущих разделах, являются одной из альтернатив для поиска лучших решений. Совсем недавно алгоритмы глобальной оптимизации, основанные на ветвях и границах и полуопределенном программировании, позволили создать «доказанно оптимальные» решения для наборов данных, содержащих до 4177 объектов и 20531 функций. [45] Как и ожидалось, из-за NP-трудности нижележащей задачи оптимизации время вычисления оптимальных алгоритмов для k -средних быстро увеличивается за пределы этого размера. Оптимальные решения для малых и средних предприятий по-прежнему остаются ценными в качестве эталонного инструмента для оценки качества других эвристик. Чтобы найти высококачественные локальные минимумы за контролируемое время вычислений, но без гарантий оптимальности, в других работах исследовались метаэвристики и другие методы глобальной оптимизации , например, на основе инкрементальных подходов и выпуклой оптимизации. [46] случайные замены [47] (т. е. повторный локальный поиск ), поиск по переменной окрестности [48] и генетические алгоритмы . [49] [50] Действительно известно, что нахождение лучших локальных минимумов задачи кластеризации с минимальной суммой квадратов может определить разницу между неудачей и успехом восстановления кластерных структур в пространствах признаков высокой размерности. [50]
Обсуждение
[ редактировать ]Три ключевые особенности k -средних, которые делают его эффективным, часто считаются его самыми большими недостатками:
- Евклидово расстояние используется в качестве метрики , а дисперсия — как мера разброса кластеров.
- Количество кластеров k является входным параметром: неправильный выбор k может привести к плохим результатам. Именно поэтому при выполнении k -средних важно запускать диагностические проверки для определения количества кластеров в наборе данных .
- Сходимость к локальному минимуму может привести к противоречивым («неправильным») результатам (см. пример на рис.).
Ключевым ограничением k -means является его кластерная модель. Концепция основана на сферических кластерах, которые можно разделить, так что среднее значение сходится к центру кластера. Ожидается, что кластеры будут одинакового размера, поэтому назначение ближайшему центру кластера является правильным назначением. Например, при применении k -средних со значением в хорошо известный набор данных о цветах ириса , в результате часто не удается разделить три вида ириса, содержащиеся в наборе данных. С , будут обнаружены два видимых кластера (один из которых содержит два вида), тогда как при один из двух кластеров будет разделен на две четные части. Фактически, более подходит для этого набора данных, несмотря на то, что набор данных содержит 3 класса . Как и в случае с любым другим алгоритмом кластеризации, результат k -средних предполагает, что данные удовлетворяют определенным критериям. Он хорошо работает с одними наборами данных и не работает с другими.
Результат k -средних можно рассматривать как ячейки Вороного кластерных средних. Поскольку данные разделяются посередине между средними значениями кластера, это может привести к неоптимальному разбиению, как это видно на примере «мыши». Гауссовы модели, используемые алгоритмом максимизации ожидания (возможно, обобщением k -средних), более гибки, поскольку имеют как дисперсии, так и ковариации. Таким образом, результат EM способен гораздо лучше учитывать кластеры переменного размера, чем k -средние, а также коррелированные кластеры (не в этом примере). Напротив, EM требует оптимизации большего количества свободных параметров и создает некоторые методологические проблемы из-за исчезающих кластеров или плохо обусловленных ковариационных матриц. k -means тесно связан с непараметрическим байесовским моделированием . [52]
Приложения
[ редактировать ]Кластеризацию k -средних довольно легко применить даже к большим наборам данных, особенно при использовании эвристики, такой как алгоритм Ллойда . Он успешно использовался в сегментации рынка , компьютерном зрении , астрономии и многих других областях. Он часто используется в качестве этапа предварительной обработки для других алгоритмов, например, для поиска начальной конфигурации.
Векторное квантование
[ редактировать ]Векторное квантование , метод, обычно используемый в обработке сигналов и компьютерной графике, предполагает сокращение цветовой палитры изображения до фиксированного количества цветов, известного как k . Одним из популярных методов векторного квантования является кластеризация k -средних. В этом процессе к цветовому пространству изображения применяется k -means для разделения его на k кластеров, каждый из которых представляет отдельный цвет изображения. Этот метод особенно полезен в задачах сегментации изображений, где он помогает идентифицировать и группировать похожие цвета.
Пример: В области компьютерной графики кластеризация k -средних часто используется для квантования цвета при сжатии изображений. Уменьшив количество цветов, используемых для представления изображения, можно значительно уменьшить размеры файлов без значительной потери визуального качества. Например, рассмотрим изображение с миллионами цветов. Применяя k кластеризацию k -means с меньшим значением , изображение можно представить с использованием более ограниченной цветовой палитры , в результате чего получается сжатая версия, которая потребляет меньше места для хранения и пропускной способности. Другие варианты векторного квантования включают неслучайную выборку , поскольку k -средние можно легко использовать для выбора k разных, но прототипичных объектов из большого набора данных для дальнейшего анализа.
Кластерный анализ
[ редактировать ]Кластерный анализ , фундаментальная задача в интеллектуальном анализе данных и машинном обучении , предполагает группировку набора точек данных в кластеры на основе их сходства. Кластеризация k -средних — это популярный алгоритм, используемый для разделения данных на k кластеров, где каждый кластер представлен своим центроидом.
Однако чистый алгоритм k -средних не очень гибок и поэтому имеет ограниченное применение (за исключением случаев, когда векторное квантование, как указано выше, на самом деле является желаемым вариантом использования). параметр k В частности, известно, что сложно выбрать (как обсуждалось выше), если он не задан внешними ограничениями. Другое ограничение заключается в том, что его нельзя использовать с произвольными функциями расстояния или с нечисловыми данными. Для этих случаев использования лучше подходят многие другие алгоритмы.
Пример: В маркетинге по k часто используется кластеризация для сегментации рынка -средним , когда клиенты со схожими характеристиками или поведением группируются вместе. Например, розничная компания может использовать кластеризацию k -средних, чтобы сегментировать свою клиентскую базу на отдельные группы на основе таких факторов, как покупательское поведение, демография и географическое положение. Затем на эти сегменты клиентов можно будет ориентироваться с помощью адаптированных маркетинговых стратегий и предложений продуктов, чтобы максимизировать продажи и удовлетворенность клиентов.
Особенности обучения
[ редактировать ]Кластеризация k -средних использовалась в качестве этапа обучения функциям (или обучения по словарю ) либо в ( полу ) контролируемом обучении , либо в неконтролируемом обучении . [53] Основной подход заключается в том, чтобы сначала обучить представление кластеризации k -средних, используя входные обучающие данные (которые не нужно помечать). Затем, чтобы проецировать любые входные данные в новое пространство объектов, функция «кодирования», такая как пороговое матричное произведение данных с местоположениями центроидов, вычисляет расстояние от датума до каждого центроида или просто индикаторную функцию для ближайший центроид, [53] [54] или какое-то плавное преобразование расстояния. [55] В качестве альтернативы, преобразование расстояния выборка-кластер через гауссовскую RBF позволяет получить скрытый слой радиальной сети базисных функций . [56]
Такое использование k -средних успешно сочетается с простыми линейными классификаторами для полуконтролируемого обучения в НЛП (в частности, для распознавания именованных объектов ). [57] и в компьютерном зрении . При выполнении задачи распознавания объектов было обнаружено, что он демонстрирует сопоставимую производительность с более сложными подходами к обучению функций, такими как автокодировщики и ограниченные машины Больцмана . [55] Однако для эквивалентной производительности обычно требуется больше данных, поскольку каждая точка данных вносит вклад только в одну «функцию». [53]
Пример. В обработке естественного языка (NLP) кластеризация k -средних была интегрирована с простыми линейными классификаторами для задач обучения с полуконтролем, таких как распознавание именованных объектов]] (NER). Сначала кластеризовав немаркированные текстовые данные с использованием k -средних, можно извлечь значимые функции для повышения производительности моделей NER. Например, кластеризация k -средних может применяться для выявления кластеров слов или фраз, которые часто встречаются во входном тексте, которые затем можно использовать в качестве признаков для обучения модели NER. Было показано, что этот подход обеспечивает сопоставимую производительность с более сложными методами обучения функциям , такими как автокодировщики и ограниченные машины Больцмана , хотя и с более высокими требованиями к помеченным данным.
Последние события
[ редактировать ]Недавние достижения в применении кластеризации k -means включают улучшения в методах инициализации, такие как использование инициализации k -means++ для более эффективного выбора исходных центроидов кластера. Кроме того, исследователи изучили интеграцию кластеризации k -средних с методами глубокого обучения, такими как сверточные нейронные сети (CNN) и рекуррентные нейронные сети (RNN), для повышения производительности различных задач в области компьютерного зрения , обработки естественного языка и других задач. домены.
Связь с другими алгоритмами
[ редактировать ]Модель гауссовой смеси
[ редактировать ]Медленный «стандартный алгоритм» кластеризации k -средних и связанный с ним алгоритм ожидания-максимизации являются частным случаем модели гауссовой смеси, а именно, предельным случаем, когда все ковариации фиксируются как диагональные, равные и имеющие бесконечно малую дисперсию. [58] : 850 Вместо небольших дисперсий также можно использовать жесткое присвоение кластеров, чтобы показать другую эквивалентность кластеризации k -средних частному случаю «жесткого» моделирования гауссовой смеси. [59] : 354, 11.4.2.5 Это не означает, что эффективно использовать моделирование гауссовской смеси для вычисления k -средних, а просто то, что существует теоретическая взаимосвязь и что моделирование гауссовой смесью можно интерпретировать как обобщение k -средних; напротив, было предложено использовать кластеризацию k -средних для поиска отправных точек для моделирования гауссовской смеси на сложных данных. [58] : 849
к -СВД
[ редактировать ]Другим обобщением алгоритма k -means является алгоритм k -SVD, который оценивает точки данных как разреженную линейную комбинацию «векторов кодовой книги». k -means соответствует частному случаю использования одного вектора кодовой книги с весом 1. [60]
Анализ главных компонентов
[ редактировать ]Расслабленное решение кластеризации k -средних, заданное индикаторами кластера, дается с помощью анализа главных компонентов (PCA). [61] [62] Интуитивно понятно, что k -средние описывают кластеры сферической формы (шарообразные). Если данные имеют 2 кластера, линия, соединяющая два центроида, является лучшим направлением одномерной проекции, которая также является первым направлением PCA. Перерезание линии в центре масс разделяет кластеры (это непрерывная релаксация индикатора дискретного кластера). Если данные имеют три кластера, наилучшей двумерной проекцией является двумерная плоскость, охватываемая тремя центроидами кластера. Эта плоскость также определяется первыми двумя размерами PCA. Хорошо разделенные кластеры эффективно моделируются шарообразными кластерами и, таким образом, обнаруживаются с помощью k -средних. Кластеры, не имеющие шарообразной формы, трудно разделить, когда они расположены близко. Например, два скопления в форме полумесяца, переплетающиеся в пространстве, плохо разделяются при проецировании на подпространство PCA. k -means будет хорошо работать с этими данными. Не следует ожидать, что [63] Несложно привести контрпримеры к утверждению, что подпространство центроида кластера натянуто на главные направления. [64]
Кластеризация среднего сдвига
[ редактировать ]Базовые алгоритмы кластеризации среднего сдвига поддерживают набор точек данных того же размера, что и набор входных данных. Первоначально этот набор копируется из входного набора. Затем все точки итеративно перемещаются к среднему значению окружающих их точек. Напротив, k -means ограничивает набор кластеров k кластерами, обычно намного меньшими, чем количество точек во входном наборе данных, используя среднее значение всех точек в предыдущем кластере, которые ближе к этой точке, чем любые другие, для центроид (например, внутри раздела Вороного каждой точки обновления). Алгоритм среднего сдвига, похожий на k -means, называемый сдвигом среднего правдоподобия , заменяет набор заменяемых точек средним значением всех точек во входном наборе, которые находятся на заданном расстоянии от меняющегося набора. [65] Преимущество кластеризации со сдвигом среднего над k -means заключается в обнаружении произвольного количества кластеров в наборе данных, поскольку не существует параметра, определяющего количество кластеров. Сдвиг среднего значения может быть намного медленнее, чем k -среднее, и все равно требует выбора параметра полосы пропускания.
Независимый анализ компонентов
[ редактировать ]При предположениях о разреженности и когда входные данные предварительно обрабатываются с помощью преобразования отбеливания , k -means дает решение задачи линейного анализа независимых компонентов (ICA). Это помогает объяснить успешное применение k -средних для обучения функциям . [66]
Двусторонняя фильтрация
[ редактировать ]k -means неявно предполагает, что порядок входного набора данных не имеет значения. Двусторонний фильтр похож на k -средние и сдвиг среднего в том, что он поддерживает набор точек данных, которые итеративно заменяются средними. Однако двусторонний фильтр ограничивает вычисление (взвешенного по ядру) среднего значения, включив в него только точки, близкие по порядку входных данных. [65] Это делает его применимым к таким проблемам, как шумоподавление изображения, где пространственное расположение пикселей изображения имеет решающее значение.
Похожие проблемы
[ редактировать ]Набор функций кластера, минимизирующих квадратичную ошибку, также включает в себя алгоритм k -medoids , подход, который заставляет центральную точку каждого кластера быть одной из фактических точек, т. е. он использует медоиды вместо центроидов .
Реализации программного обеспечения
[ редактировать ]Различные реализации алгоритма демонстрируют различия в производительности: самая быстрая на наборе тестовых данных завершается за 10 секунд, самая медленная — 25 988 секунд (~ 7 часов). [1] Различия можно объяснить качеством реализации, различиями в языке и компиляторе, разными критериями завершения и уровнями точности, а также использованием индексов для ускорения.
Бесплатное программное обеспечение/открытый исходный код
[ редактировать ]Следующие реализации доступны по лицензиям на бесплатное/открытое программное обеспечение с общедоступным исходным кодом.
- Accord.NET содержит реализации C# для режимов k -means, k -means++ и k -mode.
- ALGLIB содержит распараллеленные реализации C++ и C# для k -means и k -means++.
- AOSP содержит реализацию Java для k -средних.
- CrimeStat реализует два пространственных алгоритма k -средних, один из которых позволяет пользователю определять начальные местоположения.
- ELKI содержит k -means (с итерацией Ллойда и Маккуина, а также различные инициализации, такие как инициализация k -means++) и различные более продвинутые алгоритмы кластеризации.
- Smile содержит k -means и другие алгоритмы и визуализацию результатов (для Java, Kotlin и Scala).
- Julia содержит реализацию k -means в пакете кластеризации JuliaStats.
- KNIME содержит узлы для k -средних и k -медоидов.
- Mahout содержит MapReduce -средства на основе k .
- mlpack содержит реализацию k -means на языке C++.
- Октава содержит k -средств.
- OpenCV содержит реализацию k -means.
- Orange включает компонент для кластеризации k -средних с автоматическим выбором k и оценкой силуэта кластера.
- PSPP содержит k -средние. Команда QUICK CLUSTER выполняет кластеризацию k -средних в наборе данных.
- R содержит три варианта k -средних.
- SciPy и scikit-learn содержат несколько реализаций k -средних.
- Spark MLlib реализует распределенный алгоритм k -средних.
- Torch содержит пакет unsup , который обеспечивает кластеризацию k -means.
- Weka содержит k -средства и x -средства.
Собственный
[ редактировать ]Следующие реализации доступны на условиях частной лицензии и могут не иметь общедоступного исходного кода.
См. также
[ редактировать ]- Алгоритм BFR
- Центроидальная мозаика Вороного
- Переломы головы/хвоста
- k q -квартиры
- k -означает++
- Алгоритм Линде – Дайвера – Грея
- Самоорганизующаяся карта
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Кригель, Ханс-Петер ; Шуберт, Эрих; Зимек, Артур (2016). «(Черное) искусство оценки времени выполнения: сравниваем ли мы алгоритмы или реализации?». Знания и информационные системы . 52 (2): 341–378. дои : 10.1007/s10115-016-1004-2 . ISSN 0219-1377 . S2CID 40772241 .
- ^ МакКуин, Дж. Б. (1967). Некоторые методы классификации и анализа многомерных наблюдений . Труды 5-го симпозиума Беркли по математической статистике и вероятности. Том. 1. Издательство Калифорнийского университета. стр. 281–297. МР 0214227 . Збл 0214.46201 . Проверено 7 апреля 2009 г.
- ^ Штайнхаус, Хьюго (1957). «Sur la Division des Corps Matériels en Party». Бык. акад. Полон. Лыжи (на французском языке). 4 (12): 801–804. МР 0090073 . Збл 0079.16403 .
- ^ Ллойд, Стюарт П. (1957). «Квантование по методу наименьших квадратов в PCM». Бумага Bell Telephone Laboratories . Опубликовано в журнале значительно позже: Ллойд, Стюарт П. (1982). «Квантование по методу наименьших квадратов в PCM» (PDF) . Транзакции IEEE по теории информации . 28 (2): 129–137. CiteSeerX 10.1.1.131.1338 . дои : 10.1109/TIT.1982.1056489 . S2CID 10833328 . Проверено 15 апреля 2009 г.
- ^ Форги, Эдвард В. (1965). «Кластерный анализ многомерных данных: эффективность и интерпретируемость классификаций». Биометрия . 21 (3): 768–769. JSTOR 2528559 .
- ^ Пеллег, Дэн; Мур, Эндрю (1999). «Ускорение точных алгоритмов k -средних с помощью геометрических рассуждений» . Материалы пятой международной конференции ACM SIGKDD по обнаружению знаний и интеллектуальному анализу данных . Сан-Диего, Калифорния, США: ACM Press. стр. 277–281. дои : 10.1145/312129.312248 . ISBN 9781581131437 . S2CID 13907420 .
- ^ Маккей, Дэвид (2003). «Глава 20. Пример задачи вывода: кластеризация» (PDF) . Теория информации, логический вывод и алгоритмы обучения . Издательство Кембриджского университета. стр. 284–292. ISBN 978-0-521-64298-9 . МР 2012999 .
- ^ Поскольку квадратный корень является монотонной функцией, это также минимальное назначение евклидова расстояния.
- ^ Перейти обратно: а б с д и Хартиган, Дж.А.; Вонг, Массачусетс (1979). «Алгоритм AS 136: Алгоритм кластеризации A k -Means». Журнал Королевского статистического общества, серия C. 28 (1): 100–108. JSTOR 2346830 .
- ^ Перейти обратно: а б Хамерли, Грег; Элкан, Чарльз (2002). «Альтернативы алгоритму k -средних, позволяющие найти лучшую кластеризацию» (PDF) . Материалы одиннадцатой международной конференции по управлению информацией и знаниями (CIKM) .
- ^ Селеби, Мэн; Кинграви, штат Ха; Вела, Пенсильвания (2013). «Сравнительное исследование эффективных методов инициализации алгоритма кластеризации k -средних». Экспертные системы с приложениями . 40 (1): 200–210. arXiv : 1209.1960 . дои : 10.1016/j.eswa.2012.07.021 . S2CID 6954668 .
- ^ Брэдли, Пол С.; Файяд, Усама М. (1998). «Уточнение начальных точек для k кластеризации -средних». Материалы пятнадцатой международной конференции по машинному обучению .
- ^ Ваттани, А. (2011). «k-средства требуют экспоненциально большого количества итераций даже в плоскости» (PDF) . Дискретная и вычислительная геометрия . 45 (4): 596–616. дои : 10.1007/s00454-011-9340-1 . S2CID 42683406 .
- ^ Перейти обратно: а б Артур, Дэвид; Манти, Б.; Роглин, Х. (2009). «k-средства имеют полиномиально сглаженную сложность». Материалы 50-го симпозиума по основам информатики (FOCS) . arXiv : 0904.1113 .
- ^ Алоизе, Д.; Дешпанде, А.; Хансен, П.; Попат, П. (2009). «NP-трудность кластеризации евклидовой суммы квадратов» . Машинное обучение . 75 (2): 245–249. дои : 10.1007/s10994-009-5103-0 .
- ^ Дасгупта, С.; Фройнд, Ю. (июль 2009 г.). «Случайные проекционные деревья для векторного квантования». Транзакции IEEE по теории информации . 55 (7): 3229–42. arXiv : 0805.1390 . дои : 10.1109/TIT.2009.2021326 . S2CID 666114 .
- ^ Махаджан, Мина; Нимбхоркар, Праджакта; Варадараджан, Кастури (2009). «Плоская задача k-средних NP-сложна». WALCOM: Алгоритмы и вычисления . Конспекты лекций по информатике. Том. 5431. стр. 274–285. дои : 10.1007/978-3-642-00202-1_24 . ISBN 978-3-642-00201-4 .
- ^ Инаба, М.; Като, Н.; Имаи, Х. (1994). Применение взвешенных диаграмм Вороного и рандомизации для k -кластеризации на основе дисперсии . Материалы 10-го симпозиума ACM по вычислительной геометрии . стр. 332–9. дои : 10.1145/177424.178042 .
- ^ Мэннинг, Кристофер Д.; Рагхаван, Прабхакар; Шютце, Хинрих (2008). Введение в поиск информации . Издательство Кембриджского университета. ISBN 978-0521865715 . OCLC 190786122 .
- ^ Перейти обратно: а б Артур, Дэвид; Васильвицкий, Сергей (1 января 2006 г.). «Насколько медленным является метод k -средних?». Материалы двадцать второго ежегодного симпозиума по вычислительной геометрии . СКГ '06. АКМ. стр. 144–153. дои : 10.1145/1137856.1137880 . ISBN 978-1595933409 . S2CID 3084311 .
- ^ Бхоумик, Абхишек (2009). «Теоретический анализ алгоритма Ллойда для k кластеризации -средних» (PDF) . Архивировано из оригинала (PDF) 8 декабря 2015 г. См. также здесь .
- ^ Перейти обратно: а б Филлипс, Стивен Дж. (2002). «Ускорение K-средних и связанные с ним алгоритмы кластеризации». В Маунте, Дэвид М.; Штейн, Клиффорд (ред.). Ускорение k -средних и связанные с ним алгоритмы кластеризации . Конспекты лекций по информатике. Том. 2409. Спрингер. стр. 166–177. дои : 10.1007/3-540-45643-0_13 . ISBN 978-3-540-43977-6 .
- ^ Перейти обратно: а б Элкан, Чарльз (2003). «Использование неравенства треугольника для ускорения k -средств» (PDF) . Материалы двадцатой Международной конференции по машинному обучению (ICML) .
- ^ Перейти обратно: а б Хамерли, Грег (2010). «Сделать k-значит еще быстрее». Материалы Международной конференции SIAM 2010 по интеллектуальному анализу данных . стр. 130–140. дои : 10.1137/1.9781611972801.12 . ISBN 978-0-89871-703-7 .
- ^ Перейти обратно: а б Хамерли, Грег; Дрейк, Джонатан (2015). «Ускорение алгоритма Ллойда для кластеризации k-средних». Алгоритмы частичной кластеризации . стр. 41–78. дои : 10.1007/978-3-319-09259-1_2 . ISBN 978-3-319-09258-4 .
- ^ Абиодун М. Икотун, Абсалом Э. Эзугву, Лэйт Абуалига, Белал Абухайджа, Цзя Хеминг, Алгоритмы кластеризации K-средних: всесторонний обзор, анализ вариантов и достижения в эпоху больших данных, Информационные науки, Том 622, 2023, Страницы 178–210, ISSN 0020-0255, https://doi.org/10.1016/j.ins.2022.11.139 .
- ^ 276. doi: 10.1007/BF02289263. S2CID 120467216.
- ^ Шуберт, Эрих (22 июня 2023 г.). «Перестаньте использовать локтевой критерий для k-средних и вместо этого выберите количество кластеров». Информационный бюллетень об исследованиях ACM SIGKDD. 25 (1): 36–42. arXiv: 2212.12189. дои: 10.1145/3606274.3606278. ISSN 1931-0145.
- ^ Питер Дж. Руссиу (1987). «Силуэты: графическое пособие для интерпретации и проверки кластерного анализа». Вычислительная и прикладная математика. 20: 53–65. doi: 10.1016/0377-0427(87)90125-7.
- ^ Роберт Тибширани; Гюнтер Вальтер; Тревор Хэсти (2001). «Оценка количества кластеров в наборе данных с помощью статистики разрывов». Журнал Королевского статистического общества, серия B. 63 (2): 411–423. дои: 10.1111/1467-9868.00293. S2CID 59738652.
- ^ Дэвис, Дэвид Л.; Боулдин, Дональд В. (1979). «Мера разделения кластера». Транзакции IEEE по анализу шаблонов и машинному интеллекту. ПАМИ-1 (2): 224–227. doi:10.1109/TPAMI.1979.4766909. S2CID 13254783.
- ^ Калинский, Тадеуш; Харабас, Ежи (1974). «Дендритный метод кластерного анализа». Коммуникации в статистике. 3 (1): 1–27. дои: 10.1080/03610927408827101.
- ^ WM Рэнд (1971). «Объективные критерии оценки методов кластеризации». Журнал Американской статистической ассоциации. 66 (336). Американская статистическая ассоциация: 846–850. дои: 10.2307/2284239. JSTOR 2284239.
- ^ Хьюберт Л. и Аравия П. (1985). Хьюберт Л. и африканец П. (1985). Сравнение баллов. Классификационный журнал, 2 (1), 193–218. https://doi.org/10.1007/BF01908075
- ^ Канунго, Тапас; Маунт, Дэвид М .; Нетаньяху, Натан С .; Пятко, Кристина Д .; Сильверман, Рут; Ву, Анджела Ю. (2002). «Эффективный алгоритм кластеризации k -средних: анализ и реализация» (PDF) . Транзакции IEEE по анализу шаблонов и машинному интеллекту . 24 (7): 881–892. дои : 10.1109/TPAMI.2002.1017616 . S2CID 12003435 . Проверено 24 апреля 2009 г.
- ^ Дрейк, Джонатан (2012). «Ускоренные k -средние с адаптивными границами расстояния» (PDF) . 5-й семинар NIPS по оптимизации машинного обучения, OPT2012 .
- ^ Диллон, Исландия; Модха, DM (2001). «Концептуальная декомпозиция больших разреженных текстовых данных с использованием кластеризации» . Машинное обучение . 42 (1): 143–175. дои : 10.1023/а:1007612920971 .
- ^ Штайнбах, М.; Карипис, Г.; Кумар, В. (2000). " "Сравнение методов кластеризации документов". В". Семинар KDD по интеллектуальному анализу текста . 400 (1): 525–526.
- ^ Пеллег, Д.; и Мур, AW (июнь 2000 г.). « X-средние: расширение k -средних с эффективной оценкой количества кластеров ». В ICML , Vol. 1
- ^ Хамерли, Грег; Элкан, Чарльз (2004). «Изучение k с помощью k-средств» (PDF) . Достижения в области нейронных систем обработки информации . 16 : 281.
- ^ Аморим, Колорадо; Миркин, Б. (2012). «Метрика Минковского, взвешивание признаков и инициализация аномального кластера при кластеризации k -средних». Распознавание образов . 45 (3): 1061–1075. дои : 10.1016/j.patcog.2011.08.012 .
- ^ Аморим, Колорадо; Хенниг, К. (2015). «Восстановление количества кластеров в наборах данных с шумовыми признаками с использованием коэффициентов масштабирования признаков». Информационные науки . 324 : 126–145. arXiv : 1602.06989 . дои : 10.1016/j.ins.2015.06.039 . S2CID 315803 .
- ^ Скалли, Дэвид (2010). -средних в веб-масштабе «Кластеризация k » . Материалы 19-й международной конференции по Всемирной паутине . АКМ. стр. 1177–1178 . Проверено 21 декабря 2016 г.
- ^ Тельгарский, Матус. «Метод Хартигана: кластеризация k -средних без Вороного» (PDF) .
- ^ Пикчиалли, Вероника; Судосо, Антонио М.; Вигеле, Анжелика (28 марта 2022 г.). «SOS-SDP: точный решатель для кластеризации минимальной суммы квадратов» . ИНФОРМС Журнал по вычислительной технике . 34 (4): 2144–2162. arXiv : 2104.11542 . дои : 10.1287/ijoc.2022.1166 . ISSN 1091-9856 . S2CID 233388043 .
- ^ Багиров А.М.; Тахери, С.; Угон, Дж. (2016). «Негладкий подход к программированию постоянного тока к задачам кластеризации минимальной суммы квадратов». Распознавание образов . 53 : 12–24. Бибкод : 2016PatRe..53...12B . дои : 10.1016/j.patcog.2015.11.011 .
- ^ Френти, Паси (2018). «Эффективность случайной кластеризации подкачки» . Журнал больших данных . 5 (1): 1–21. дои : 10.1186/s40537-018-0122-y .
- ^ Хансен, П.; Младенович, Н. (2001). «J-Means: новая эвристика локального поиска для кластеризации минимальной суммы квадратов». Распознавание образов . 34 (2): 405–413. Бибкод : 2001PatRe..34..405H . дои : 10.1016/S0031-3203(99)00216-2 .
- ^ Кришна, К.; Мурти, Миннесота (1999). «Генетический алгоритм k-средних» . Транзакции IEEE о системах, человеке и кибернетике. Часть B: Кибернетика . 29 (3): 433–439. дои : 10.1109/3477.764879 . ПМИД 18252317 .
- ^ Перейти обратно: а б Грибель, Даниэль; Видаль, Тибо (2019). «HG-средства: масштабируемая гибридная метаэвристика для кластеризации с минимальной суммой квадратов». Распознавание образов . 88 : 569–583. arXiv : 1804.09813 . дои : 10.1016/j.patcog.2018.12.022 . S2CID 13746584 .
- ^ Миркес, Э.М. «Апплет K-средних и k -медоидов» . Проверено 2 января 2016 г.
- ^ Кулис, Брайан; Джордан, Майкл И. (26 июня 2012 г.). «Возвращаясь к k -средним: новые алгоритмы с помощью байесовских непараметрик» (PDF) . ИКМЛ . стр. 1131–1138. ISBN 9781450312851 .
- ^ Перейти обратно: а б с Коутс, Адам; Нг, Эндрю Ю. (2012). «Изучение представлений функций с помощью k -средних» (PDF) . В Монтавоне, Г.; Орр, Великобритания; Мюллер, К.-Р. (ред.). Нейронные сети: хитрости . Спрингер.
- ^ Цурка, Габриэлла; Дэнс, Кристофер С.; Фан, Ликсин; Вилламовский, Ютта; Брей, Седрик (2004). Визуальная категоризация с наборами ключевых точек (PDF) . Семинар ECCV по статистическому обучению в области компьютерного зрения.
- ^ Перейти обратно: а б Коутс, Адам; Ли, Хонглак; Нг, Эндрю Ю. (2011). Анализ однослойных сетей в обучении функций без учителя (PDF) . Международная конференция по искусственному интеллекту и статистике (AISTATS). Архивировано из оригинала (PDF) 10 мая 2013 г.
- ^ Швенкер, Фридхельм; Кестлер, Ганс А.; Пальм, Гюнтер (2001). «Три этапа обучения для сетей с радиальными базисными функциями». Нейронные сети . 14 (4–5): 439–458. CiteSeerX 10.1.1.109.312 . дои : 10.1016/s0893-6080(01)00027-2 . ПМИД 11411631 .
- ^ Линь, Декан; Ву, Сяоюнь (2009). Кластеризация фраз для различительного обучения (PDF) . Ежегодное собрание ACL и IJCNLP. стр. 1030–1038.
- ^ Перейти обратно: а б Пресс, WH; Теукольский, С.А.; Феттерлинг, WT; Фланнери, BP (2007). «Раздел 16.1. Модели гауссовской смеси и k кластеризация -средних» . Численные рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк (Нью-Йорк): Издательство Кембриджского университета. ISBN 978-0-521-88068-8 .
- ^ Кевин П. Мерфи (2012). Машинное обучение: вероятностная перспектива . Кембридж, Массачусетс: MIT Press. ISBN 978-0-262-30524-2 . OCLC 810414751 .
- ^ Аарон, Михал ; Элад, Майкл; Брукштейн, Альфред (2006). «K-SVD: алгоритм разработки сверхполных словарей для разреженного представления» (PDF) . Транзакции IEEE по обработке сигналов . 54 (11): 4311. Бибкод : 2006ITSP...54.4311A . дои : 10.1109/TSP.2006.881199 . S2CID 7477309 .
- ^ Чжа, Хунъюань; Дин, Крис; Гу, Мин; Он, Сяофэн; Саймон, Хорст Д. (декабрь 2001 г.). «Спектральная релаксация для k кластеризации -средних» (PDF) . Нейронные системы обработки информации, том 14 (NIPS 2001) : 1057–1064.
- ^ Дин, Крис; Хэ, Сяофэн (июль 2004 г.). «Кластеризация K-средних посредством анализа главных компонентов» (PDF) . Материалы Международной конференции по машинному обучению (ICML 2004) : 225–232.
- ^ Дриней, Петрос; Фриз, Алан М.; Каннан, Рави; Вемпала, Сантош; Винай, Вишванатан (2004). «Кластеризация больших графов с помощью разложения по сингулярным значениям» (PDF) . Машинное обучение . 56 (1–3): 9–33. дои : 10.1023/b:mach.0000033113.59016.96 . S2CID 5892850 . Проверено 2 августа 2012 г.
- ^ Коэн, Майкл Б.; Старейшина, Сэм; Муско, Кэмерон; Муско, Кристофер; Персу, Мадалина (2014). «Уменьшение размерности для кластеризации k -средних и аппроксимации низкого ранга (Приложение B)». arXiv : 1410.6801 [ cs.DS ].
- ^ Перейти обратно: а б Литтл, Макс А.; Джонс, Ник С. (2011). «Обобщенные методы и решатели удаления шума из кусочно-постоянных сигналов. I. Базовая теория» . Труды Королевского общества А. 467 (2135): 3088–3114. дои : 10.1098/rspa.2010.0671 . ПМК 3191861 . ПМИД 22003312 .
- ^ Винников, Алон; Шалев-Шварц, Шай (2014). «K-means восстанавливает фильтры ICA, когда независимых компонентов мало» (PDF) . Материалы Международной конференции по машинному обучению (ICML 2014) .