Ответ 1
Я ограничусь тем, что, по моему мнению, имеет важное значение, чтобы дать некоторые подсказки по всем вашим вопросам, потому что это тема многих учебников, и, возможно, их лучше рассмотреть в отдельных вопросах.
-
Я бы не использовал k-средства для определения выбросов в многомерном наборе данных по той простой причине, что алгоритм k-средних не создан для этой цели: вы всегда будете иметь решение, которое минимизирует суммарная сумма квадратов внутри кластера (и, следовательно, максимизирует межкластерную SS, потому что полная дисперсия фиксирована), а outlier (s) не обязательно будут определять свой собственный кластер. Рассмотрим следующий пример в R:
set.seed(123) sim.xy <- function(n, mean, sd) cbind(rnorm(n, mean[1], sd[1]), rnorm(n, mean[2],sd[2])) # generate three clouds of points, well separated in the 2D plane xy <- rbind(sim.xy(100, c(0,0), c(.2,.2)), sim.xy(100, c(2.5,0), c(.4,.2)), sim.xy(100, c(1.25,.5), c(.3,.2))) xy[1,] <- c(0,2) # convert 1st obs. to an outlying value km3 <- kmeans(xy, 3) # ask for three clusters km4 <- kmeans(xy, 4) # ask for four clusters
Как можно видеть на следующем рисунке, отдаленное значение никогда не восстанавливается как таковое: оно всегда будет принадлежать одному из других кластеров.
Это имеет некоторое сходство с тем, что сделано в генетических исследованиях для обнаружения и удаления лиц, которые проявляют ошибку генотипирования, или лиц, которые являются братьями/сестрами/близнецами (или когда мы хотим определить субструктуру населения), в то время как мы хотим сохранить не связанных между собой лиц; в этом случае мы используем многомерное масштабирование (которое эквивалентно PCA, с точностью до константы для первых двух осей) и удаляет наблюдения выше или ниже 6 SD на любой из топовых 10 или 20 осей (см., например, Структура населения и Eigenanalysis, Patterson et al., PLoS Genetics 2006 2 (12)).
Общей альтернативой является использование упорядоченных надежных расстояний mahalanobis, которые могут быть построены (в графике QQ) против ожидаемых квантилей распределения хи-квадратов, как описано в следующей статье:
R.G. Гарретт (1989). Сюжет хи-квадрат: инструменты для многомерного распознавания выбросов. Журнал геохимических исследований 32 (1/3): 319-341.
(Он доступен в пакете mvoutlier R.)
-
Это зависит от того, что вы называете пользователем. Я интерпретирую ваш вопрос как может ли какой-либо алгоритм автоматически обрабатывать матрицу расстояний или исходные данные и останавливаться на оптимальном количестве кластеров. Если это так и для любого алгоритма разбиения на расстоянии, вы можете использовать любой из доступных индексов действительности для кластерного анализа; хороший обзор приведен в
Handl, J., Knowles, J., and Kell, D.B. (2005). Проверка вычислительного кластера в анализе постгеномных данных. Биоинформатика 21 (15): 3201-3212.
который я обсуждал в Cross Validated. Например, можно запустить несколько экземпляров алгоритма для разных случайных выборок (с использованием бутстрапа) данных, для диапазона номеров кластеров (например, k = от 1 до 20) и выбрать k в соответствии с оптимизированными критериями, которые считались (в среднем ширина силуэта, коэффетическая корреляция и т.д.); он может быть полностью автоматизирован, нет необходимости вводить пользователя.
Существуют другие формы кластеризации, основанные на плотности (кластеры рассматриваются как области, где объекты необычно распространены) или распределение (кластеры - это совокупности объектов, которые следуют за заданным распределением вероятности). Например, кластеризация на основе моделей, как она реализована в Mclust, позволяет идентифицировать кластеры в многомерном наборе данных, охватывая диапазон форму для матрицы дисперсии-ковариации для различного количества кластеров и выбрать лучшую модель в соответствии с критерием BIC.
-
Это горячая тема в классификации, а некоторые исследования сосредоточены на SVM для обнаружения выбросов, особенно когда они ошибочно классифицируются. Простой запрос Google возвращает много обращений, например. Поддержка векторной машины для обнаружения извне в прогнозе выживаемости рака молочной железыThongkam et al. (Лекционные заметки в области компьютерных наук 2008 4977/2008 99-109, в эту статью включено сравнение с ансамблевыми методами). Самой основной идеей является использование одноклассового SVM для захвата основной структуры данных путем подгонки для него многомерного (например, гауссовского) распределения; объекты, которые на или за пределами границы могут рассматриваться как потенциальные выбросы. (В определенном смысле кластеризация на основе плотности будет работать одинаково хорошо, так как определение того, что действительно представляет собой выброс, является более простым с учетом ожидаемого распределения.)
Другие подходы к неконтролируемому, полуконтролируемому или контролируемому обучению легко доступны в Google, например.
- Ходж, В.Я. и Остин, J. A Обзор методологий обнаружения выбросов.
- Винуэза, А. и Грудик, Г.З. Неконтролируемое обнаружение извне и полунаучное обучение.
- Escalante, H.J. A Сравнение алгоритмов обнаружения выбросов для машинного обучения.
Связанная тема обнаружение аномалий, о котором вы найдете много документов. -
Это действительно заслуживает нового (и, вероятно, более целенаправленного) вопроса: -)