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

Основная целевая функция в кластеризации K-средних определяется следующим образом:

где K - количество кластеров, Si - множество всех точек, принадлежащих кластеру i, x - точка данных, Ci - i-й кластер. (x-Ci) ² относится к расстоянию от точки x до центроида Ci.

Здесь мы должны помнить, что (x-Ci) ² вычисляется только тогда и только тогда, когда x принадлежит кластеру Si. Если точка данных x не принадлежит кластеру Si, то значение (x-Ci) ² равно 0.

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

Следующее свойство Z:

Давайте рассмотрим пример, чтобы понять это свойство Z. Если Z₂₃ = 1, это означает, что точка данных x₃ принадлежит набору кластеров S₂, а ее центроид - C₂. Если Z₃₂ = 0, это означает, что точка данных x₂ не принадлежит набору кластеров S₃, следовательно, C₃ не является центроидом для x₂.

Итак, в основном матрица Z сообщает вам, какие точки данных принадлежат какому кластеру и каков его центроид, а какие нет.

Если мы используем это свойство Z в целевой функции, представленной уравнением на рисунке 1, мы получим,

Уравнения 1 и 2 дают одинаковый результат. Представляя уравнение 2 в матричной форме, получаем,

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

Пусть Cᵢ ​​- это iᵗʰ строка в C, а Zⱼ - jᵗʰ-столбец в Z, тогда

Итак, когда мы делаем C * Z,

Здесь только один из членов в правой части уравнения (3) отличен от нуля, так как может быть только один центроид на точку данных, в то время как остальные члены будут равны нулю.

Таким образом, C * Z эффективно обслуживает только те точки данных, которые принадлежат кластеру.

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