- •Глава 1
- •Искусственный интеллект
- •Фактуальное и операционное знание
- •Признаки иис
- •Системы с интеллектуальным интерфейсом
- •Экспертные системы
- •Самообучающиеся системы
- •Адаптивные информационные системы
- •Языки программирования для ии и языки представления знаний
- •Глава 2
- •Данные и знания
- •Модели представления знаний
- •Глава 3
- •Системы продукций
- •Стратегии поиска в пространстве состояний
- •Рекурсивный поиск
- •Глава 4
- •Введение в экспертные системы. Определение и структура
- •Классификация экспертных систем
- •Коллектив разработчиков
- •Технология проектирования и разработки
- •Глава 5
- •Поле знаний
- •Стратегии получения знаний
- •Теоретические аспекты извлечения знаний
- •Теоретические аспекты структурирования знаний
- •Технологии инженерии знаний
- •Глава 6
- •Задача классификации
- •Деревья решений
- •Искусственные нейронные сети
- •Глава 7
- •Способы аналитической обработки данных
- •Некоторые бизнес-приложения Data Mining
- •Типы закономерностей
- •Процесс нахождения нового знания
- •Глава 1 2
- •Глава 2 15
- •Глава 3 23
- •Глава 4 45
- •Глава 5 54
- •Глава 6 62
- •Глава 7 88
Глава 6
Некоторые методы машинного обучения
Задача классификации
Феномен восприятия
Известно, что человек, сталкиваясь с новыми явлениями или предметами, очень часто их узнает, то есть без особых затруднений относит к тому или иному понятию (классу). Так, впервые увидев лошадь незнакомой масти или собаку необычной породы, человек определяет в них уже известных ему животных. Человек может читать рукописи, написанные разными людьми, хотя каждый почерк имеет свои особенности. Каждый из нас легко узнает своих знакомых, даже если они изменили прическу или одежду. Эта особенность человека называется феноменом восприятия.
Феномен восприятия проявляется во всех сферах человеческой деятельности, а многие профессии связаны исключительно с умением правильно классифицировать ситуации. Так, врачи умеют диагностировать заболевания, эксперты-криминалисты различают сходные почерки, археологи устанавливают принадлежность найденных предметов определенной эпохе, геологи по косвенным данным определяют характер месторождения и т.д.
Всюду здесь проявляется умение человека правильно относить наблюдаемый объект к тому или иному понятию, к тому или иному классу.
Человек умеет вырабатывать на основе опыта и новые понятия, обучаться новой системе классификации.
Существуют два различных метода обучения: один из них — объяснение, другой, более интересный, — обучение на примерах. Первый метод предполагает существование достаточно простых правил, простых настолько, что их можно изложить так, чтобы действуя сообразно этим правилам, каждый раз получать требуемый результат.
Однако во многих случаях учитель, проводящий обучение, не может сформулировать правило, по которому он действует, и тогда первый способ обучения неприменим и обучение проводят на примерах. Так, нельзя указать четких правил для такого, казалось бы, простого случая, как различение рукописных знаков.
В этом случае при обучении пользуются вторым методом. Обучающемуся показывают рукописные знаки и сообщают, какие это буквы, то есть к каким классам данные знаки относятся. В результате у ученика вырабатываются нужные понятия, он приобретает умение правильно относить каждую новую букву к тому или иному классу. Точно так же студентов-медиков учат диагностировать заболевания.
Возможность использования такого метода обучения определяется заложенным в человеке внутренним механизмом построения правила, позволяющего распознавать нужные понятия.
Постановка задачи классификации
Пусть некто, для определенности будем говорить учитель, предъявляет ситуации и о каждой сообщает, к какому из k классов она относится. Для простоты будем считать, что k = 2, так как при любом другом числе классов последовательным разделением на два класса можно построить разделение и на k классов. Для этого достаточно провести k разделений по принципу: первое — отделяет элементы первого класса от всех остальных, а j-е — элементы j-го класса от всех остальных.
Будем считать, что входная ситуация описывается n-мерным вектором x = (xi,... , xn). Координаты этого вектора могут выражать те или иные характеристики объекта, например, финансовые показатели предприятия, значения симптомов в задачах медицинской диагностики, значения параметров систем в технических задачах распознавания и т.д.
Последовательность ситуаций с указанием, к какому классу они относятся, называется обучающей последовательностью.
Задача заключается в том, чтобы построить такую программу, которая, используя обучающую последовательность, вырабатывала бы правило, позволяющее классифицировать вновь предъявляемые «незнакомые» ситуации (вообще говоря, отличные от входивших в обучающую последовательность). Способность к обучению характеризуется двумя понятиями:
качеством полученного решающего правила (вероятностью неправильных ответов —чем меньше эта вероятность, тем выше качество);
надежностью получения решающего правила с заданным качеством (вероятностью получения заданного качества — чем выше эта вероятность, тем выше надежность успешного обучения).
Задача сводится к созданию такого обучающего устройства, которое по обучающей последовательности строило бы решающее правило, качество которого с заданной надежностью было бы не ниже требуемого.
Математическая постановка задачи обучения
В среде, которая характеризуется распределением вероятностей P(x), случайно и независимо появляются ситуации x. Существует «учитель», который классифицирует их, то есть относит к одному из k классов (для простоты k = 2). Пусть он делает это согласно условной вероятности P(t |x), где t = 1 означает, что вектор x отнесен к первому классу, а t = 0 — ко второму. Ни характеристика среды P(x), ни правило классификации P(t|x) нам не известны. Однако известно, что обе функции существуют, то есть существует совместное распределение вероятностей
P(x,t) = P(x) • P(t|x).
Пусть теперь определено множество Q решающих правил F(x, а). В этом множестве каждое правило определяется заданием параметра а (обычно это вектор). Все правила F(x,a) —характеристические функции, то есть могут принимать только одно из двух значений — нуль или единицу:
F(x, a)
x принадлежит первому классу,
x принадлежит второму классу.
Для каждой функции F(x, a) G Q может быть определено качество Q(a) как вероятность различных классификаций ситуаций x с учителем.
В случае, когда пространство X дискретно и состоит из точек x1,..., xN,
1 N
Q(a) = ^J2(t — F (x\a))2P (xi)P (t\xl),
t=0 i=1
где P(xi) — вероятность возникновения ситуации xi.
В случае, когда в пространстве X существует плотность распределения
p(x),
В общем случае можно сказать, что в пространстве X задана вероятностная мера P(x,t), тогда
Среди всех функций F(x,a) есть такая F(x,a0), которая минимизирует
вероятность ошибок. Эту функцию (или близкую к ней) и следует найти. Так как совместное распределение вероятностей P(x,t) неизвестно, поиск ведется с использованием обучающей последовательности
(x1,ti), (x2,t2),..., (xN,tN),
то есть случайной и независимой выборки примеров фиксированной длины N . Нельзя найти алгоритм, который по конечной выборке безусловно гарантировал успех поиска. Успех можно гарантировать лишь с некоторой вероятностью 1 — п.
Таким образом, задача заключается в том, чтобы для любой функции P(x,t) среди характеристических функций F(x,a) найти по обучающей последовательности фиксированной длины N такую функцию F(x,a*), о которой с надежностью, не меньшей 1 — п, можно было бы утверждать, что ее
качество отличается от качества лучшей функции F(x,a0) на величину, не превышающую е.
Такая задача не является новой в математике. Она известна в более общей постановке: требуется найти минимум по а функционала
Q(a) = J G(z,a)dP(z), (1)
если неизвестна функция распределения P(z), но зато дана случайная и независимая выборка z1,..., zN. Эта задача получила название задачи о минимизации величины среднего риска. Она имеет простую интерпретацию: функция G(z, а) для всякого фиксированного значения а определяет величину потерь при появлении сигнала z. Средняя величина потерь для фиксированного значения параметра определяется согласно (1).
Задача заключается в том, чтобы выяснить, при каких значениях параметра а средняя величина потерь (или величина среднего риска) будет минимальной.
Задача классификации есть частный случай задачи и минимизации среднего риска. Особенность ее заключается в том, что на функцию G(z, а) наложены следующие ограничения:
вектор z задается n + 1 координатами — координатой t и координатами
X1 J ... J ХП ;
функция потерь G(z^) задана в виде (t — F(х,а))2, где F(х,а) —характеристическая функция множеств.
Практическое применение методов классификации
Методы классификации «обслуживают» весьма широкий спектр прикладных задач в различных сферах деятельности. Например, в медицине это может быть диагностика состояния пациента по комплексу наблюдаемых признаков (результаты клинического осмотра, лабораторных исследований, оцифровки и кодирования рентгенограммы и/или сонограммы). В геофизике — прогноз степени перспективности месторождения нефти или газа, в области финансов — оценка уровня кредитоспособности клиента или прогноз тенденции поведения рынка ценных бумаг, в экономике — разнообразные задачи типологизации объектов (семей, предприятий, городов, стран и т.п.) и прогноза социально-экономического поведения «хозяйствующего субъекта», в маркетинге — позиционирование нового товара среди существующих, в технике — диагностика состояния турбины или двигателя, контроль уровня качества продукции и др.
Рассмотрим несколько проблем, при решении которых возникает задача классификации.
Классификация как необходимый предварительный этап статистической обработки многомерных данных. Пусть исследуется зависимость интенсивности спроса потребителей хр от ряда экономических и географических факторов Xi,X2,..., хр—1, таких как средний заработок, возможности
профессионального роста, географические условия и т.п. Естественно предположить, что для различных однородных групп индивидуумов одни и те же факторы влияют на хр в разной степени, а иногда и в противоположных направлениях. Поэтому до применения аппарата регрессионно-корреляционного анализа следует разбить все имеющиеся в нашем распоряжении данные на однородные классы и решать далее поставленную задачу отдельно для каждого класса. Только в этом случае можно ожидать, что полученные коэффициенты регрессии xp по х\,... ,xp-1 будут допускать содержательную интерпретацию, а мера тесноты между xp и xi,... , xp-i окажется достаточно высокой.
Классификация в задачах прогнозирования экономико-социологических ситуаций для отдельных показателей. Пусть объект исследования — семья. Всё факторное пространство разбивается на два подпространства: пространство X = {x} и пространство Y = {у}, где компонентами вектора у = = (у1,..., ym) описывается социально-экономическое поведение семьи, а компоненты вектора x = (x1,..., xp) описывают половозрастную и профессиональную структуру семьи, а также среднедушевой доход. Примем в качестве априорного допущения, что отдельные параметры и ситуации в пространстве X в какой-то мере поддаются регулированию, и легче прогнозируются во времени, чем в пространстве Y. Логическая схема исследования такова: производим разбиение обследуемых объектов (x,y) на классы отдельно в каждом из подпространств X и Y; устанавливаем долю представительства классов из X в каждом отдельном классе из Y; используя прогнозирование и регулирование признаков в пространстве X, возможно и модели регрессии
по X, прогнозируем объем и структуру потребления по стране в целом.
Для решения задачи классификации могут быть использованы следующие методы:
статистические методы, основанные на дискриминантном анализе;
различные варианты линейного программирования;
деревья классификации, или рекурсионно-партиционный алгоритм;
нейронные сети;
генетический алгоритм;
метод ближайших соседей.
Дискриминантный анализ
Рассмотрим применение статистических методов к решению задачи классификации, связанных с идеей восстановления функции распределения вероятностей.
Проблема классификации возникает, когда исследователь делает некоторое число измерений, связанных с каким-то индивидуумом, и на основе этих измерений хочет отнести его к одной из нескольких категорий. Во многих случаях можно предположить, что имеется конечное число категорий или генеральных совокупностей, из которых мог быть взят рассматриваемый индивидуум, причем каждая из этих категорий характеризуется определенным законом распределения вероятностей. Вопрос ставится так: как по результатам измерений определить, из какой генеральной совокупности взят данный индивидуум?
При построении процедуры классификации желательно сделать минимальной вероятность неправильной классификации, точнее — добиться того, чтобы в среднем неправильные выводы делались как можно реже. Для удобства рассмотрим случай двух категорий.
Предположим, что наряду с функцией распределения P(x,t) существуют условные плотности распределения p(x|t = 0), p(x|t =1) и вероятности P(t = 0), P(t = 1). Здесь p(x|t = 1) —плотность распределения вероятностей векторов первого класса, а p(x|t = 0) — плотность распределения
вероятностей векторов второго класса. Величины P(t = 0), P(t = 1) определяют вероятность появления векторов соответственно первого и второго классов.
Зная эти функции, можно с помощью формулы Байеса определить вероятность принадлежности вектора x первому или второму классу:
P (t = 1|x) = cp(x|t = 1)P (t = 1), (2)
P (t = 0|x) = cp(x|t = 0)p (t = 0). ()
В формуле (2)
1
c =
p(x|t = 0)P (t = 0) + p(x|t = 1)P (t = 1)
— нормирующий множитель.
Минимальные потери будут получены при такой классификации векторов, при которой вектор x будет отнесен к первому классу в случае выполнения неравенства
P(t = 0|x) < P(t = 11x),
то есть если более вероятно, что он принадлежит к первому классу чем ко второму.
Иначе говоря, учитывая (2), вектор x должен быть отнесен к первому классу, если выполняется неравенство
p(x|t = 0) P (t = 1) p(x|t = 1) < P(t = 0),
или, что то же самое, оптимальная классификация векторов производится с помощью характеристической функции
F(x) = в ^lnp(x|t = 1) — lnp(x|t = 0) + ln , (3)
где
ч I 1, если s > 0,
e(s) = <
|0, если s < 0.
Характеристические функции (3) называют дискриминантными.
Таким образом, знание плотностей условных распределений p(x|t = 0), p(x|t =1) и вероятностей P(t = 0), P(t = 1) гарантирует отыскание оптимального правила классификации.
Обычно сначала восстанавливают по выборке неизвестные функции распределения векторов первого и второго классов, а затем по восстановленным функциям распределения строят дискриминантную функцию.
