УДК 004.8
Л. А. Амаева
ИСПОЛЬЗОВАНИЕ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ ДЛЯ МОДЕЛИРОВАНИЯ ПОЛЬЗОВАТЕЛЯ
Ключевые слова: интеллектуальный анализ данных, кластеризация, нейронные сети, дерево решений, мягкие вычисления.
В статье предоставлен обзор различных методов интеллектуального анализа данных, доступных для моделирования поведения пользователей. Рассматриваются достоинства и недостатки данных методов.
Keywords: data mining, clustering, decision trees, neural networks soft computing.
This article provides an overview of the different data mining methods available for modeling user behavior. We consider the advantages and disadvantages of these methods.
Модель пользователя может быть описана как коллекция предположений и убеждений системы о пользователе. В этом смысле, все компьютерные программы имеют некоторые неявные модели пользователя, так как они делают предположения о том, как пользователь будет взаимодействовать с программой. Большой интерес представляют программы, которые имеют точную информацию о каждом из пользователей и используют ее для адаптации с системой. Информация, которую система может хранить о пользователе должна включает в себя: цели, планы, убеждения пользователя, его знания о предметной области, объективные свойства о пользователе, такие как возраст или имя [1]. Чем больше информации о модели пользователя, тем индивидуальнее будет содержание и представление информации для каждого пользователя.
Модель пользователя может быть создана с использованием автоматического подхода. Для этого всю информация о работе пользователя с компьютерными системами можно использовать в качестве входных данных. Методы интеллектуального анализа данных, используя эти данные, будут выявлять предпочтения пользователя для создания его модели. С этой точки зрения, интеллектуальный анализ данных позволяет создавать пользовательские модели автоматически, поскольку используются методы, позволяющие использовать знания предыдущего взаимодействия пользователя с системой [2].
Таким образом, технология интеллектуального анализа данных является структурным описанием того, что было изучено, что может быть использовано для описания исходных данных и составления прогнозов.
Процесс автоматической генерации пользовательских моделей с использованием методов интеллектуального анализа данных очень похож на стандартный процесс извлечения знаний из данных [3]. Рассмотрим его основные шаги:
1) сбор данных,
2) извлечение информации,
3) выявление закономерностей,
4) проверка и интерпретация.
Сбор Данных. На этом этапе происходит сбор данных о пользователе, который включает в себя данные относительно взаимодействия между системой и пользователем; данные, касающиеся
окружающей среды пользователя, цели пользователя и т. д.
Извлечение информации. Информацию, полученную на предыдущем этапе необходимо обработать (очистить от ненужной информации и несоответствий). Данная информация будет использоваться в качестве входных данных для следующего этапа. Также, на этом этапе полученные данные должны быть адаптированы к той структуре данных, которая будет использоваться на следующем этапе.
Выявление закономерностей. На этом этапе применяются методы интеллектуального анализа данных к данным полученным на предыдущем этапе для построения модели пользователя. На выходе из этого этапа получаются структурные описания того, что известно о поведении и интересах пользователей. Эти описания составляют основу модели пользователя.
Проверка и интерпретация. Данные полученные на предыдущем этапе анализируются и интерпретируются.
Методы интеллектуального анализа данных идеально подходят для выявления закономерностей, потому что они предназначены для выявления скрытых взаимосвязей.
Каждый метод интеллектуального анализа данных требует представления входной информации определенным образом, соответственно выходная информация также будет выражаться с использованием различных структур данных. Рассмотрим возможности методов интеллектуального анализа данных для создания пользовательской модели.
Использование методов интеллектуального анализа данных для построения модели пользователя
Методы интеллектуального анализа делятся на три группы:
1. Обучение без учителя включает в себя иерархическую кластеризацию, неиерархическую кластеризацию, нечеткую кластеризацию.
2. Обучение с учителем включает в себя деревья решений и нейронные сети.
3. Мягкие вычисления, которые включает в себя нечеткую логику и нейро-нечеткие системы.
1. Кластеризация
Задача кластеризации состоит в разбиении заданной выборки объектов (наблюдений) на под-
множества (как правило, непересекающиеся), называемые кластерами, так, чтобы каждый кластер состоял из схожих объектов, а объекты разных кластеров существенно отличались.
Данный метод применяется для моделирования и использует методы, которые могут обрабатывать реляционные данные.
Кластеризация данных включает в себя следующие этапы:
1. Выделение характеристик
Для начала необходимо выбрать свойства, которые характеризуют наши объекты, ими могут быть количественные характеристики (координаты, интервалы), качественные характеристики (цвет, статус и т.д.) Затем стоит попробовать уменьшить размерность пространства характеристических векторов, то есть выделить наиболее важные свойства объектов. Выделенные характеристики стоит нормализовать. Далее все объекты представляются в виде характеристических векторов. Однако при создании модели пользователя информация, используемая для создания кластеров, например, часто используемые пункты меню, особенности пользователя и т. д., не может быть представлена в виде численного вектора.
2. Определение метрики
Следующим этапом кластеризации является выбор метрики, по которой мы будем определять близость объектов.
Однако при использовании метода кластеризации возникают следующие проблемы:
1. каким образом определить понятие «расстояние,
2. для использования алгоритма кластеризации необходимо заранее знать количество кластеров.
Относительно первой проблемы необходимо дать определение понятию расстояние. Однако при моделировании пользователя сделать это сложно из-за данных, необходимых для построения модели пользователя - это взаимодействие, предпочтение пользователей, и т. д., которые не выражаются в виде числа.
При решении второй проблемы предположим, что число кластеров известно заранее. Однако при моделировании невозможно заранее предсказать количество кластеров, которое будет использовано. Это означает, что необходимо разработать методику определения числа кластеров в процессе создания модели.
Таким образом, кластеризация может быть использована для создания групп пользователей, имеющих одинаковые характеристики, которые называют стереотипами.
2. Дерево принятия решений
Дерево решений - это дерево, в котором каждой внутренней вершине поставлен в соответствие некоторый атрибут, каждая ветвь, выходящая из данной вершины, соответствует одному из возможных значений атрибута, а каждому листу дерева сопоставлен конкретный класс или набор вероятностей классов. Подобные деревья решений широко используются в интеллектуальном анализе данных. Цель состоит в том, чтобы создать модель, которая
предсказывает значение целевой переменной на основе нескольких переменных на входе. Дерево решений, как правило, лучше всего подходит для задач, в которых экземпляры представлены в виде пар атрибут-значение и целевая функция имеет дискретные значения.
Обычно деревья решений используются для реализации задач классификации. Поэтому при использовании дерева решений пользовательскую модель можно построить на основе определенного признака, например, опыт пользователя. Таким образом, можно создать группы пользователей со схожими характеристиками.
Однако при использовании дерева решений может получится так, что не вся необходимая информация для построения пользовательской модели может быть получена. Связано это с тем, что интерпретация результата зависит от качества имеющихся данных, т.е. поддеревья необходимо создавать, используя максимум возможной и накопленной информации.
3. Нейронные сети
Ключевым элементом этой парадигмы является структура системы обработки информации. Она состоит из большого числа тесно взаимосвязанных элементов обработки - нейронов, работающих параллельно Структуру нейронной сети можно представить следующим образом:
• Множество простых процессоров -нейронов.
• Структура связей - отражает детали конструкции сети, а именно то, какие элементы соединены и в каком направлении работают соединения, каков уровень значимости (т.е. вес) каждого соединения.
• Правило вычисления сигнала активности, позволяющий вычислить выходной сигнал по совокупности входных сигналов.
• Правило обучения, корректирующее
связи.
Основным элементом любой нейронной сети является нейрон. Каждый нейрон характеризуется своим текущим состоянием. Он обладает группой синапсов - однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон - выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Каждый синапс характеризуется величиной синаптической связи или ее весом ■¡, который по физическому смыслу эквивалентен электрической проводимости.
Основной этап работы с нейросетью это ее обучение. При обучении происходит прогон множества примеров через сеть с коррекцией весов нейронов и с указанием значений, которые подаются на вход, и значений, которые должны быть получены на выходе нейросети. В процессе обучения происходит коррекция весов нейронов таким образом, чтобы уменьшить функцию ошибки, которая равна разности выхода нейросети и требуемого выходного значения [4].
Нейронные сети способны обучаться на основе опыта, обобщать предыдущие знания на новые
случаи и извлекать существенные свойства из поступающей информации, содержащей излишние данные
В отличие от кластерного анализа нейронные сети не требуют наличие какого-либо показателя, что делает в свою очередь их полностью независимыми от приложения. Таким образом, нейронные сети являются мощным методом моделирования человеческого поведения и хорошим инструментом для создания пользовательских моделей.
В настоящее время нейронные сети, используемые для моделирования пользователя были применены для классификации и рекомендации, чтобы сгруппировать пользователей с одинаковыми характеристиками, создавая при этом профили и стереотипы пользователей. Нейронные сети успешно используются для моделирования пользователя, так как не используют эвристических методов. Тем не менее, имеются следующие недостатки:
1) время обучения, необходимое для создания модели,
2) необходимый объем информации.
Время обучения - это неудобство, возникающее при создании динамических моделей. В то время как предыдущие методы, в разной степени, можно интерпретировать и изменять вручную, нейронные сети нельзя интерпретировать, что ограничивает их применение.
Таким образом, нейронные сети предоставляет гибкий механизм для представления общих характеристик пользователя и определения сложных стереотипов
4. Мягкие вычисления
Мягкие вычисления - это совокупность неточных, приближенных методов решения задач, зачастую не имеющих решение за полиномиальное время. Примером является нечеткая логика.
Ключевое понятие в нечеткой логике является понятие нечетких множеств. Нечеткое множество выражает степень принадлежности элемента к множеству. По сравнению с математической логикой, где доля истины принимает значения из дискретных конечных множеств, степень истинности в нечеткой логике - это непрерывные значения в диапазоне [0,1]. Эта характеристика позволяет снимать неопределенность, свойственную реальным данным.
Нечеткая логика не является методом интеллектуального анализа данных, но из-за ее возможности справляться с неопределенностью, она используется в комбинации с другими методами интеллектуального анализа данных для моделирования поведения.
Обычно нечеткую логику используются для моделирования поведения пользователей следующим образом: система на основе нечеткой модели поведения предоставляет рекомендации системе.
Хотя нечеткая логика - это хороший способ для моделирования человеческих рассуждений, существуют некоторые проблемы при ее использовании. Главный из них связан с тем, что в нечеткой логике нет механизма обучения на основе данных. Это означает, что данные должны быть явно заданы разработчиком. Кроме того это влияет и на определение других параметров модели.
Также в мягких вычислениях выделяют нейро-нечеткие системы, которые позволяют устранить недостатки нейронных сетей и нечеткой логики.
Основной идеей объединения нечетких систем и нейронных сетей является разработка архитектуры, которая использует нечеткие системы представления знаний в интерпретируемых образах и способна к обучению нейронной сети для оптимизации его параметров. Однако нейро-нечеткие системы сохраняют некоторые недостатки обоих подходов, в основном - это время, необходимое для динамического моделирования [5].
Выводы
Таким образом, различные методы дают разные возможности. Например, нечеткая логика имитирует механизм принятия решений человеком, который может быть использован, чтобы сделать выводы, определить цели и планы; нейронные сети предоставляют гибкий механизм для представления общих характеристик пользователя и определения сложных стереотипов; нейро-нечеткие системы представляют собой механизм для захвата и настройки экспертных знаний, которые могут быть использованы для получения предположения о пользователе.
Тем не менее, каждый метод имеет свои сильные и слабые стороны, представляет информацию по-разному, разный по сложности и способам представления входных данных.
Литература
1. Л.А. Амаева, Вестник Казанского технологического университета, 16, 12, 261-262 (2013)
2. Witten, I.H., and Frank E. (1999). Data Mining. Practical Machine Learning Tools and Techniques with JAVA Implementations. Morgan Kaufman Publishers.
3. E. Frias-Martinez, S. Chen, and X. Liu "A Survey of Data Mining Approaches to User Modelling for Adaptive Hypermedia", in IEEE Transactions in System, Man and Cybernetics - Part C 36 (6), 2006, 734-749
4. М. Г. Илларионов, А. П. Кирпичников, Р. Р. Латыпова, Вестник Казанского технологического университета, 15, 1, 163-164 (2012)
5. Jang, J.S. ANFIS: Adaptive-Network-Based Fuzzy Inference Systems. IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23(3), 665-685
© Л. А. Амаева - ст. препод. каф. информационных систем и технологий НХТИ (филиал) КНИТУ, achaevala@yandex.ru. © L. A. Amaeva - senior lecturer, Department of information systems and technology NCHTI KNRTU, achaevala@yandex.ru.