Более точный подход, чем кластеризация среднего значения
В Радиальной Базисной Функциональной Сети (Сеть RBF) выбираются все прототипы (центральные векторы функций RBF) в скрытом слое. Этот шаг может быть выполнен несколькими способами:
- Центры могут быть случайным образом взяты из некоторого набора примеров.
- Или они могут быть определены с помощью k-среднего кластеризации.
Один из подходов для интеллектуального выбора прототипов заключается в том, чтобы выполнить кластеризацию по среднему значению k в нашем обучающем наборе и использовать кластерные центры в качестве прототипов. Все мы знаем, что k-среднее кластеризация характеризуется простотой (это быстро), но не очень точно.
Вот почему я хотел бы знать, какой другой подход может быть более точным, чем кластеризация по среднему значению?
Любая помощь будет очень ценится.
3 ответа
Существует несколько вариаций k-средних: k-медианы, разбиение на медоиды, кластеризация нечетких C-средних, модели гауссовой смеси, обученные с использованием алгоритма максимизации ожидания, k-средних ++ и т. Д.
Я использую PAM (Разделение вокруг Medoid), чтобы быть более точным, когда мой набор данных содержит некоторые "выбросы" (шум со значением, которое сильно отличается от других значений), и я не хочу, чтобы эти данные влияли на центры. В случае PAM центр называется Medoid.
С точки зрения K-средних, вы можете запустить его в своей выборке несколько раз (скажем, 100), а затем выбрать кластеризацию (и, как следствие, центроиды), которая имеет наименьший выходной сигнал критерия K-средних (сумма квадратов). Евклидовы расстояния между каждым объектом и его соответствующим центроидом).
Вы также можете использовать некоторые алгоритмы инициализации (на ум приходит интеллектуальное K-Means, но вы также можете использовать Google для K-Means++). Вы можете найти очень хороший обзор K-Means в статье AK Jain под названием "Кластеризация данных: 50 лет после K-средних".
Вы также можете проверить иерархические методы, такие как метод Уорда.
Существует более статистический подход к кластерному анализу, который называется алгоритмом максимизации ожидания. Он использует статистический анализ для определения кластеров. Это, вероятно, лучший подход, когда у вас есть много данных, касающихся ваших кластерных центроидов и тренировочных данных.
Эта ссылка также перечисляет несколько других алгоритмов кластеризации в дикой природе. Очевидно, что некоторые из них лучше, чем другие, в зависимости от объема ваших данных и / или типа ваших данных.
Есть замечательный курс по Udacity, Введение в искусственный интеллект, где один урок посвящен обучению без учителя, а профессор Трун очень подробно объясняет некоторые алгоритмы кластеризации. Я очень рекомендую этот курс!
Надеюсь, это поможет,