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

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

Скажем, у вас есть 2 микрофона в комнате, где говорят 2 человека. Каждый микрофон будет принимать N выборок (в данном случае скалярное значение, представляющее сумму амплитуд волн давления от обоих людей). Теперь, когда вы закончили сэмплирование, у вас есть N сэмплов с двумя характеристиками (m1, m2), где m1 — это значения с микрофона 1, а m2 — значения с микрофона 2. Проблема в том, что если вы слушаете m1 или m2, вы не будете в состоянии понять что угодно, потому что говорящие перекрывают друг друга. Поскольку микрофоны и люди находятся в разных местах комнаты, относительная интенсивность для динамиков будет разной для m1 и m2. В этом предположении вы можете использовать ICA для проецирования (m1, m2) на другое пространство (n1, n2), что делает так, что n1 теперь имеет только амплитуду динамика 1, а n2 - только амплитуду динамика 2. В основном этот алгоритм способен неконтролируемым способом разделить смешанный сигнал на его составляющие.