2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: кластеризация
Сообщение28.10.2017, 06:12 


27/10/09
510
provincialka в сообщении #1259816 писал(а):
Не о том речь. А о том, чем одна метрика лучше другой. Вот, на основе метрики вы сделали кластеризацию? Или функционал посчитали? Или что?
Почему какая-то конкретная метрика "лучше"? к какому "идеалу" она приближается?
Вопрос скорее методологический (почти философский). Давайте разделим понятия "лучший" и "хороший". Формализацией понятия "лучший (из всех возможных)" можно считать "тот, у которого лучший показатель качества". В качестве такого показателя качества я и хочу использовать функционал качества разбиения (или целевую функцию - при некоторых ограничениях результат будет одинаковый). Тогда взяв "лучшее" разбиение (при "лучшей" метрике) можно оценить, насколько оно "хорошее" - в данном случае это вопрос интерпретируемости такого разбиения. Иначе придется рассматривать все возможные разбиения на предмет "хорошести", а их число равно числу Стирлинга второго рода - это мне и трех жизней не хватит.
И еще - я попробовал сделать набросок алгоритма на имеющихся четырех целевых функциях, используя тестовую выборку (я ее в свое время вручную разбивал, с использованием внешних, трудноформализуемых данных) - соответствие процентов 95 (это еще пока алгоритм оптимизации кривой). Без использования оптимизации все поперемешано.
Так что есть подозрение, что "идея" правильная. Для полноты картины хотелось бы расширить реализацию на все семь доступных методов и дать какое-то теоретическое обоснование - не люблю работать с алгоритмами, которые "почему-то работают".

 Профиль  
                  
 
 Re: кластеризация
Сообщение28.10.2017, 14:23 
Заслуженный участник
Аватара пользователя


18/01/13
11840
Казань
Ох... вот не надо философии. Давайте лучше математику. Давайте я попробую описать проблему, как я ее поняла. А вы уточните: что так, а что не так.

В задаче кластеризации можно выделить два этапа:
1. Постановка задачи. В частности, описание того, какое разбиение нам требуется. Это описание может быть
    а) словесным, например "нужны кластеры небольшого диаметра, близкие к шарообразной форме"; "нужны плотные кластеры, произвольной формы, но четко отделенные друг от друга" и т.п.
    б) с помощью образцов. Это могут быть либо готовые образцы, либо доступ к экспертам, которые нам скажут "то" или "не то".
2. Применение алгоритма. Вы выбрали алгоритм иерархической кластеризации, он имеет достаточно много "степеней свободы", например, выбор метрики, метода объединения в кластеры (+выбор числа кластеров, но это у вас фиксировано). Алгоритм эвристический, и, соответственно, приближенный.

Вас, видимо, не устраивает субъективность, которая есть и на первом, и на втором этапе. Вы решили снизить ее, используя формальный метод оптимизации функционала. В этой теме вы спрашиваете, как связать функционал с тем или иным вариантом алгоритма. Но на самом деле есть проблема гораздо более сложная -- как связать функционал с постановкой задачи!

Ведь и вычисление функционала, и применение алгоритма относятся к математике, так что о них мы можем сделать какие-то логические заключения. А вот постановка задачи -- вещь неформальная, "что хорошо, а что плохо" никаким подсчетом не скажешь!

Как я поняла, вы решили избавиться от этой сложности просто подменяя неформальное описание задачей оптимизации (некоего подходящего функционала). Ну, тогда смиритесь с тем, что к "истинной" постановке ваш метод не будет иметь ровно никакого отношения!

Вы должны выяснить, какой функционал отвечает содержательной части задачи, насколько хорошо (и существует ли вообще такой!). Пока вы не решите эту проблему, подбирать алгоритм к функционалу никакого смыла нет. Вы просто возьмёте некий "среднепотолочный" показатель, а потом будете усердно его минимизировать.. И зачем?

-- 28.10.2017, 14:34 --

Кстати, спасибо вам за задачу! Предложу ее студентам: проделать кластеризации разными методами с разными данными и посчитать для них значения функционалов.
Вот пример: два типа данных и два метода. Для каждого подсчитаны два первых "ваших" функционала.
Изображение

Мне кажется, что в первом примере лучше метод ближайшего соседа (и у него оба функционала принимают значение меньше, чем на левой картинке!)
Для второго типа картина противоположная.

 Профиль  
                  
 
 Re: кластеризация
Сообщение28.10.2017, 18:27 
Заслуженный участник
Аватара пользователя


18/01/13
11840
Казань
так... про значения функционалов не уверена.. надо отлаживать программу.

 Профиль  
                  
 
 Re: кластеризация
Сообщение28.10.2017, 19:58 


27/10/09
510
Могу ли поинтересоваться, в чем Вы пишите? У меня есть готовая реализация под Вольфрамовскую Математику.

 Профиль  
                  
 
 Re: кластеризация
Сообщение28.10.2017, 22:05 
Заслуженный участник
Аватара пользователя


18/01/13
11840
Казань
AndreyL Я на R программирую.
Кстати, после отладки оказалось, что sum min для обоих методов практически совпадает (уменьшается, только если есть одноэлементные кластеры).

В общем, у меня больше нет времени заниматься этой задачей. Думаю, я сказала все, что могла сказать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group