Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции ИС / системы поиска знаний (KDD).doc
Скачиваний:
52
Добавлен:
26.05.2015
Размер:
420.35 Кб
Скачать

3. Типы задач и виды моделей

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

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

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

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

Обратимся к задаче построения моделей. Ее можно разбить на два важных подтипа. Во-первых, это задачи классификации. Имеются какие-то записи, или описания объектов (они могут быть заданы в разных формах), и о каждом из них заранее известно, что он принадлежит к некоторому классу из фиксированного конечного множества классов. Необходимо выработать правило или набор правил, в соответствии с которыми мы могли бы отнести описание любого нового объекта к одному из этих классов. Например, классическая задача такого типа - это медицинская диагностика. Пусть у нас есть описание пациентов (наших объектов) - данные каких-либо медицинских тестов, анкетные данные, данные анализов и т.д., а заранее известные классы - диагнозы болезней. Скажем, мы точно знаем, что некоторые пациенты больны диабетом, а другие не больны. Затем мы собираем данные тех же самых медицинских анализов для нового пациента и ставим задачу, как на основе проведенных анализов распознать, болен ли он диабетом или нет. Другой подтип составляют задачи прогноза какого-то непрерывного числового параметра. Это может быть, например, задача прогноза температуры отдельного больного или расходов и доходов клиники. Именно от этого прогноза зависит наше решение о продолжении или смене медикаментозного лечения, или покупке нового оборудования. И во многих других областях исключительно важно предсказывать именно непрерывные значения. Большинство из существующих сейчас коммерческих систем KDD решают главным образом задачи классификации. Но такая ситуация сложилась не потому, что задач классификации больше, чем задач прогноза непрерывных значений, а скорее потому, что методы классификации гораздо лучше изучены и могут быть проще реализуемы, чем методы прогноза непрерывного числового значения.

Рассмотрим теперь второй тип задач - задачи описания имеющихся данных, обнаружения в них зависимостей в целях их осмысления человеком. Этот класс задач включает:

  • Во-первых, задачи нахождения функциональных связей между различными показателями и переменными в интерпретируемой человеком форме. Обычно, когда говорят о функциональной зависимости, имеют в виду зависимости между непрерывными числовыми переменными. Но в принципе, можно рассматривать зависимости, включающие обычные числовые, булевы (типа "да/нет") и категориальные (нечисловые параметры, скажем, диагнозы болезней, которые могут быть закодированы числами - кодами диагнозов) переменные.

  • Во-вторых, к рассматриваемому типу относятся задачи, обобщенно называемые задачами кластеризации. Пусть мы имеем какой-то набор описаний объектов. Зачастую эти объекты не составляют некоторой единой массы, а естественным образом разбиваются на какие-то группы. Например, группа пациентов, страдающих легочными заболеваниями, дерматитами или расстройством опорно-двигательной системы. И нам хотелось бы выделить эти естественные группы, или кластеры, на основе имеющейся в базе данных информации (результатов анализов). Вполне может быть, что эти кластеры имеют четкий медицинский смысл, и нам было бы интересно понять, что означает такое группирование точек и с чем оно связано. Знание разбиения всего множества пациентов на некоторые характерные группы может помочь правильно организовать работу медицинского учреждения.

  • Третьей задачей, относящейся к описанию данных, является нахождение исключений, исключительных ситуаций, записей (например, отдельных пациентов), которые резко отличаются чем-либо от основного множества записей (группы больных). Знание исключений может быть использовано двояким образом. Возможно эти записи образуют собой случайный сбой, например, ошибки операторов, вводивших данные в компьютер. Характерный случай, если оператор, ошибаясь, ставит десятичную точку не в том месте; такая ошибка сразу дает резкий отброс на порядок. Подобную "шумовую", случайную составляющую имеет смысл отбросить, исключить из дальнейших исследований, поскольку большинство методов, о которых пойдет речь в этой главе, очень чувствительно к наличию "выбросов" - резко отличающихся точек, редких, нетипичных случаев (рис. 3). С другой стороны, отдельные, исключительные записи могут представлять самостоятельный интерес для исследования, так как они могут указывать на некоторые редкие, но важные аномальные заболевания. Даже сама идентификация этих записей, не говоря об их последующем анализе и детальном рассмотрении, может оказаться очень полезной для понимания сущности изучаемых объектов или явления.

Рис. 3. Влияние "выбросов" на предсказания

  • Наконец, последняя, четвертая, разновидность задач, включаемая в рассматриваемый класс задач интеллектуального анализа данных, определяется английским термином data summarization, что можно передать как краткая итоговая характеристика данных. Что под этим имеется в виду? Скажем, если имеющийся у нас массив данных подчиняется некоторым жестким ограничениям на значения входящих в него параметров, возможно весьма сложного характера, и мы хотели бы выявить эти ограничения. Например, мы изучаем выборку данных по пациентам не старше тридцати лет, перенесшим инфаркт миокарда. Если мы вдруг обнаружим, что все пациенты, описанные в этой выборке, либо курят более 5 пачек сигарет в день, либо имеют вес не ниже 95 кг, это может быть для нас очень важно с точки зрения понимания наших данных, это практически ценное новое знание. Таким образом, data summarization - это нахождение каких-либо фактов, которые верны для всех или почти всех записей в изучаемой выборке данных, но которые достаточно редко встречались бы во всем мыслимом многообразии записей такого же формата и, например, характеризовались бы теми же распределениями значений полей. Если мы возьмем для сравнения информацию по всем пациентам, то процент либо сильно курящих, либо чрезмерно тучных людей будет весьма невелик. Можно сказать, что это как бы неявная задача классификации, но фактически нам задан только один класс, представленный имеющимися у нас данными. И они классифицируются путем сравнения с мыслимым множеством возможных записей, с множеством всех остальных мыслимых случаев.