1
Математические методы распознавания образов Курс лекций МГУ, ВМиК, кафедра «Математические методы прогнозирования» © ...
3 downloads
209 Views
666KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
1
Математические методы распознавания образов Курс лекций МГУ, ВМиК, кафедра «Математические методы прогнозирования» © Местецкий Леонид Моисеевич, 2002–2004 1
ЗАДАЧА РАСПОЗНАВАНИЯ ОБРАЗОВ ................................................................................................... 4 1.1 1.2 1.3 1.4
2
КЛАССИФИКАЦИЯ НА ОСНОВЕ БАЙЕСОВСКОЙ ТЕОРИИ РЕШЕНИЙ ....................................... 8 2.1 2.2 2.3 2.4 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5
3
ПРЕДМЕТ РАСПОЗНАВАНИЯ ОБРАЗОВ ........................................................................................................ 4 ПРИЗНАКИ И КЛАССИФИКАТОРЫ ............................................................................................................... 4 КЛАССИФИКАЦИЯ С ОБУЧЕНИЕМ И БЕЗ ОБУЧЕНИЯ..................................................................................... 6 ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ КЛАССИФИКАЦИИ ............................................................................ 7 БАЙЕСОВСКИЙ ПОДХОД ............................................................................................................................ 8 ОШИБКА КЛАССИФИКАЦИИ ...................................................................................................................... 9 МИНИМИЗАЦИЯ СРЕДНЕГО РИСКА ........................................................................................................... 10 ДИСКРИМИНАНТНЫЕ ФУНКЦИИ И ПОВЕРХНОСТИ РЕШЕНИЯ .................................................................... 13 БАЙЕСОВСКИЙ КЛАССИФИКАТОР ДЛЯ НОРМАЛЬНОГО РАСПРЕДЕЛЕНИЯ ................................................... 13 Квадратичная поверхность решения .............................................................................................. 14 Линейная поверхность решения....................................................................................................... 15 Линейная поверхность решения с диагональной матрицей ковариации......................................... 16 Линейная поверхность решения с недиагональной матрицей ковариации..................................... 17 Классификаторы по минимуму расстояния.................................................................................... 17
ЛИНЕЙНЫЙ КЛАССИФИКАТОР. АЛГОРИТМ ПЕРСЕПТРОНА .................................................... 19 3.1 ЛИНЕЙНАЯ ДИСКРИМИНАНТНАЯ ФУНКЦИЯ ............................................................................................. 19 3.2 АЛГОРИТМ ПЕРСЕПТРОНА ....................................................................................................................... 20 3.2.1 Математическая модель нейрона ................................................................................................... 20 3.2.2 Алгоритм персептрона .................................................................................................................... 21 3.2.3 Сходимость алгоритма персептрона ............................................................................................. 21 3.2.4 Оптимизационная интерпретация.................................................................................................. 22 3.2.5 Схема Кеслера .................................................................................................................................. 23
4
ОПТИМАЛЬНАЯ РАЗДЕЛЯЮЩАЯ ГИПЕРПЛОСКОСТЬ ................................................................. 24 4.1 4.2 4.3
5
НЕЛИНЕЙНЫЙ КЛАССИФИКАТОР. МНОГОСЛОЙНЫЙ ПЕРСЕПТРОН .................................... 28 5.1 5.2 5.3 5.4 5.4.1 5.4.2 5.4.3 5.4.4
6
ЗАДАЧА ИСКЛЮЧАЮЩЕГО ИЛИ ............................................................................................................. 28 КЛАССИФИКАЦИОННЫЕ СПОСОБНОСТИ ДВУХСЛОЙНОГО ПЕРСЕПТРОНА.................................................. 29 ТРЕХСЛОЙНЫЙ ПЕРСЕПТРОН ................................................................................................................... 30 ПОСТРОЕНИЕ НЕЙРОННОЙ СЕТИ .............................................................................................................. 32 Алгоритм, основанные на точной классификации множества прецедентов. ............................... 32 Алгоритм ближайших соседей......................................................................................................... 33 Алгоритм, основанный на подборе весов для сети с заданной архитектурой............................... 33 Алгоритм обратной волны............................................................................................................... 34
МЕТОД ПОТЕНЦИАЛЬНЫХ ФУНКЦИЙ .............................................................................................. 37 6.1 6.2 6.3 6.4
7
СУЩЕСТВОВАНИЕ И ЕДИНСТВЕННОСТЬ ................................................................................................... 24 ПОСТРОЕНИЕ ОПТИМАЛЬНОЙ РАЗДЕЛЯЮЩЕЙ ГИПЕРПЛОСКОСТИ ............................................................ 25 АЛГОРИТМ ГАУССА-ЗЕЙДЕЛЯ ................................................................................................................. 27
ОБЩАЯ РЕКУРРЕНТНАЯ ПРОЦЕДУРА ........................................................................................................ 38 ВЫБОР СИСТЕМЫ ФУНКЦИЙ .................................................................................................................... 40 СХОДИМОСТЬ ОБЩЕЙ РЕКУРРЕНТНОЙ ПРОЦЕДУРЫ .................................................................................. 41 ФУНКЦИИ ЭРМИТА ................................................................................................................................. 42
КОМИТЕТНЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ РАСПОЗНАВАНИЯ ................................................. 43 7.1 7.2 7.3
ТЕОРЕТИКО-МНОЖЕСТВЕННАЯ ПОСТАНОВКА ЗАДАЧИ ВЫБОРА АЛГОРИТМА. ........................................... 43 КОМИТЕТЫ ............................................................................................................................................. 43 КОМИТЕТЫ ЛИНЕЙНЫХ ФУНКЦИОНАЛОВ ................................................................................................ 45
2 7.4 8
КЛАССИФИКАЦИЯ НА ОСНОВЕ СРАВНЕНИЯ С ЭТАЛОНОМ...................................................... 50 8.1 8.2 8.3 8.4
9
МЕРА БЛИЗОСТИ, ОСНОВАННАЯ НА ПОИСКЕ ОПТИМАЛЬНОГО ПУТИ НА ГРАФЕ ......................................... 50 ЗАДАЧА СРАВНЕНИЯ КОНТУРОВ .............................................................................................................. 51 ЗАДАЧА СРАВНЕНИЯ РЕЧЕВЫХ КОМАНД .................................................................................................. 52 ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ ................................................................................................... 53
КОНТЕКСТНО-ЗАВИСИМАЯ КЛАССИФИКАКЦИЯ.......................................................................... 54 9.1 9.2 9.3 9.4 9.5
10
ФУНКЦИЯ ШЕННОНА .............................................................................................................................. 47
ПОСТАНОВКА ЗАДАЧИ ............................................................................................................................ 54 БАЙЕСОВСКИЙ КЛАССИФИКАТОР ............................................................................................................ 54 МОДЕЛЬ МАРКОВСКОЙ ЦЕПИ .................................................................................................................. 54 АЛГОРИТМ ВИТЕРБИ (VITERBI) ............................................................................................................... 55 СКРЫТЫЕ МАРКОВСКИЕ МОДЕЛИ............................................................................................................ 56
СЕЛЕКЦИЯ ПРИЗНАКОВ......................................................................................................................... 58 10.1 ЗАДАЧА СЕЛЕКЦИИ ПРИЗНАКОВ .............................................................................................................. 58 10.1.1 Постановка задачи селекции признаков...................................................................................... 58 10.1.2 Общность классификатора. ....................................................................................................... 58 10.2 ПРЕДОБРАБОТКА ВЕКТОРОВ ПРИЗНАКОВ ................................................................................................. 59 10.3 СЕЛЕКЦИЯ НА ОСНОВЕ ПРОВЕРКИ СТАТИСТИЧЕСКИХ ГИПОТЕЗ ................................................................ 59 10.3.1 Постановка задачи...................................................................................................................... 59 10.3.2 Общая теория проверки гипотез ................................................................................................ 60 10.3.3 Приложение к селекции признаков .............................................................................................. 61 10.3.4 Мера различия плотностей признаков........................................................................................ 61 10.4 ВЕКТОРНАЯ СЕЛЕКЦИЯ ПРИЗНАКОВ. МЕРА ОТДЕЛИМОСТИ КЛАССОВ....................................................... 63 10.4.1 Дивергенция.................................................................................................................................. 63 10.4.2 Мера на основе матриц рассеивания .......................................................................................... 64 10.4.3 Стратегия наращивания вектора признаков ............................................................................. 65 10.4.4 Стратегия сокращения вектора признаков ............................................................................... 65 10.4.5 Выбор стратегии ........................................................................................................................ 65 10.4.6 Алгоритм плавающего поиска ..................................................................................................... 65 10.5 ОПТИМАЛЬНАЯ СЕЛЕКЦИЯ ПРИЗНАКОВ ................................................................................................... 66 10.6 ОПТИМАЛЬНАЯ СЕЛЕКЦИЯ ПРИЗНАКОВ С ПОМОЩЬ НЕЙРОННОЙ СЕТИ ..................................................... 68
11
МЕТОДЫ ГЕНЕРАЦИИ ПРИЗНАКОВ.................................................................................................... 69 11.1 ГЕНЕРАЦИЯ ПРИЗНАКОВ НА ОСНОВЕ ЛИНЕЙНЫХ ПРЕОБРАЗОВАНИЙ ........................................................ 69 11.1.1 Базисные вектора ........................................................................................................................ 69 11.1.2 Случай двумерных образов........................................................................................................... 69 11.2 ПРЕОБРАЗОВАНИЕ КАРУНЕНА-ЛОЕВА ..................................................................................................... 70 11.2.1 Свойства преобразования Карунена-Лоева ................................................................................ 70 11.2.2 Применение преобразования Карунена-Лоева к задаче классификации..................................... 71 11.2.3 Декомпозиция сингулярных значений........................................................................................... 71 11.3 ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ (ДПФ) ....................................................................................... 72 11.3.1 Одномерное дискретное преобразование Фурье......................................................................... 72 11.3.2 Двумерные ДПФ........................................................................................................................... 73 11.3.3 Дискретное косинусное преобразование (ДКП).......................................................................... 73 11.3.4 Дискретное синусное преобразования (ДСП).............................................................................. 74 11.4 ПРЕОБРАЗОВАНИЯ АДАМАРА И ХААРА ................................................................................................... 74 11.4.1 Преобразование Адамара ............................................................................................................ 74 11.4.2 Преобразование Хаара................................................................................................................. 75 11.5 ГЕНЕРАЦИЯ ПРИЗНАКОВ НА ОСНОВЕ НЕЛИНЕЙНЫХ ПРЕОБРАЗОВАНИЙ. ВЫДЕЛЕНИЕ ТЕКСТУРЫ ИЗОБРАЖЕНИЙ. ..................................................................................................................................................... 75 11.5.1 Региональные признаки. Признаки для описания текстуры....................................................... 76 11.5.2 Признаки, основанные на статистиках первого порядка.......................................................... 76 11.5.3 Признаки, основанные на статистиках второго порядка. Матрицы сочетаний..................... 77 11.6 ПРИЗНАКИ ФОРМЫ И РАЗМЕРА ................................................................................................................ 78 11.6.1 Признаки Фурье ........................................................................................................................... 78 11.6.2 Цепной код ................................................................................................................................... 79 11.6.3 Геометрические свойства фигуры.............................................................................................. 79
3 11.6.4 12
Скелетизация ............................................................................................................................... 80
ОБУЧЕНИЕ ПО ПРЕЦЕДЕНТАМ (ПО ВАПНИКУ, ЧЕРВОНЕНКИСУ)............................................ 81 12.1 ЗАДАЧА ПОСТРОЕНИЯ КЛАССИФИКАТОРА ............................................................................................... 81 12.2 КАЧЕСТВО ОБУЧЕНИЯ КЛАССИФИКАТОРА ............................................................................................... 81 12.3 ВЕРОЯТНОСТНАЯ МОДЕЛЬ ....................................................................................................................... 81 12.4 ЗАДАЧА ПОИСКА НАИЛУЧШЕГО КЛАССИФИКАТОРА................................................................................. 82 12.5 СХОДИМОСТЬ ЭМПИРИЧЕСКОГО РИСКА К СРЕДНЕМУ. СЛУЧАЙ КОНЕЧНОГО ЧИСЛА РЕШАЮЩИХ ПРАВИЛ. 83 12.6 СЛУЧАЙ БЕСКОНЕЧНОГО ЧИСЛА РЕШАЮЩИХ ПРАВИЛ ............................................................................. 83 12.6.1 Критерий равномерной сходимости υ (α ) к вероятностям P (α ) ......................................... 84 12.6.2 Достаточное условие равномерной сходимости........................................................................ 84 12.6.3 Скорость сходимости ................................................................................................................. 85 12.6.4 Случай класса линейных решающих функций.............................................................................. 85
4
1 Задача распознавания образов 1.1
Предмет распознавания образов
Распознавание образов – это научная дисциплина, целью которой является классификация объектов по нескольким категориям или классам. Объекты называются образами. Классификация основывается на прецедентах. Прецедент – это образ, правильная классификация которого известна. Прецедент – ранее классифицированный объект, принимаемый как образец при решении задач классификации. Идея принятия решений на основе прецедентности – основополагающая в естественно-научном мировоззрении. Будем считать, что все объекты или явления разбиты на конечное число классов. Для каждого класса известно и изучено конечное число объектов – прецедентов. Задача распознавания образов состоит в том, чтобы отнести новый распознаваемый объект к какому-либо классу. Задача распознавания образов является основной в большинстве интеллектуальных систем. Рассмотрим примеры интеллектуальных компьютерных систем. 1) Машинное зрение. Это системы, назначение которых состоит в получении изображения через камеру и составление его описания в символьном виде (какие объекты присутствуют, в каком взаимном отношении находятся и т.д.). 2) Символьное распознавание – это распознавание букв или цифр. a. Optical Character Recognition (OCR); b. Ввод и хранение документов; c. Pen Computer; d. Обработка чеков в банках; e. Обработка почты. 3) Диагностика в медицине. a. Маммография, рентгенография; b. Постановка диагноза по истории болезни; c. Электрокардиограмма. 4) Геология. 5) Распознавание речи. 6) Распознавание в дактилоскопии (отпечатки пальцев), распознавание лица, подписи, жестов.
1.2
Признаки и классификаторы
Измерения, используемые для классификации образов, называются признаками. Признак – это некоторое количественное измерение объекта произвольной природы. Совокупность признаков, относящихся к одному образу, называется вектором признаков. Вектора признаков принимают значения в пространстве признаков. В рамках задачи распознавания считается, что каждому образу ставится в соответствие единственное значение вектора признаков и наоборот: каждому значению вектора признаков соответствует единственный образ. Классификатором или решающим правилом называется правило отнесения образа к одному из классов на основании его вектора признаков.
5
µ
∗
σ
Рис.1. Распределение векторов признаков прецедентах класса A (кружки) и класса B (крестики). Признаки - средние значения и средние отклонения яркости в образах. Прямая линия разделяет вектора из разных классов. Пример 1. Иллюстрация понятий признаков и классификатора и идеи распознавания (классификации). Рассмотрим задачу диагностики печени по результатам инструментального исследования. Доброкачественные (левый рисунок – класс A) и злокачественные (правый рисунок – класс B) изменения дают разную картину. Предположим, что имеется несколько препаратов в базе данных, про которые известна их принадлежность к классам A и B (правильная классификация). Очевидно, что образцы отличаются интенсивностью точек изображения. В качестве вектора признаков выберем пару: среднее значение (µ) и среднеквадратичное отклонение (σ) интенсивности в изображении. На рис.1 представлены изображения этих образов в пространстве признаков. Точки, соответствующие прецедентам разных классов, разделяются прямой линией. Классификация неизвестного образа (соответствующая точка изображена звездочкой) состоит в проверке положения точки относительно этой разделяющей прямой.
Образы
Сенсор (измеритель)
Генерация признаков
Селекция признаков
Построение классификатора
Оценка системы
Рис.2. Основные элементы построения системы распознавания образов (классификации) Практическая разработка системы классификации осуществляется по следующей схеме (рис.2). В процессе разработки необходимо решить следующие вопросы. 1. Как выбрать вектора признаков? Задача генерации признаков – это выбор тех признаков, которые с достаточной полнотой (в разумных пределах) описывают образ.
6 2. Какие признаки наиболее существенны для разделения объектов разных классов? Задача селекции признаков – отбор наиболее информативных признаков для классификации. 3. Как построить классификатор? Задача построения классификатора – выбор решающего правила, по которому на основании вектора признаков осуществляется отнесение объекта к тому или иному классу. 4. Как оценить качество построенной системы классификации? Задача количественной оценки системы (выбранные признаки + классификатор) с точки зрения правильности или ошибочности классификации.
1.3
Классификация с обучением и без обучения
В зависимости от наличия или отсутствия прецедентной информации различают задачи распознавания с обучением и без обучения. Задача распознавания на основе имеющегося множества прецедентов называется классификацией с обучением (или с учителем). В том случае, если имеется множество векторов признаков, полученных для некоторого набора образов, но правильная классификация этих образов неизвестна, возникает задача разделения этих образов на классы по сходству соответствующих векторов признаков. Эта задача называется кластеризацией или распознаванием без обучения. Пример 2. Рассмотрим съемку со спутника и классификацию поверхности по отраженной энергии (рис.3). На рисунке изображены снимок из космоса (слева) и результат кластеризации векторов признаков, рассчитанных для различных элементов изображения (справа). Распределение образов, изображенных точками (x1,x2) по классам осуществляется на основе анализа «скоплений» этих точек в пространстве признаков. Пример 3. Рассмотрим другой пример распознавания образов – в общественных (социальных) науках. Целью задачи является построение системы классификации государств для определения необходимости гуманитарной поддержки со стороны международных организаций. Необходимо выявить закономерности связей между различными, объективно измеряемыми параметрами, например, связь между ВНП, уровнем грамотности и уровнем детской смертности. В данном случае страны можно представить трехмерными векторами, а задача заключается в построении меры сходства этих векторов и дальнейшем построении схемы кластеризации (выбора групп) по этой мере. x2
x1 Рис.3. Изображение различных типов поверхности и кластеризация соответствующих векторов признаков.
7
1.4
Формальная постановка задачи классификации
Будем использовать следующую модель задачи классификации. Ω – множество объектов распознавания (пространство образов). ω : ϖ ∈ Ω – объект распознавания (образ). g (ω ) : Ω → Μ , Μ = {1,2,..., m} – индикаторная функция, разбивающая пространство образов на Ω на m непересекающихся классов Ω1 , Ω 2 ,..., Ω m . Индикаторная функция неизвестна наблюдателю. Χ – пространство наблюдений, воспринимаемых наблюдателем (пространство признаков). x (ω ) : Ω → Χ – функция, ставящая в соответствие каждому объекту ω точку x (ω ) в пространстве признаков. Вектор x (ω ) - это образ объекта, воспринимаемый наблюдателем. В пространстве признаков определены непересекающиеся множества точек Ki⊂X, i = 1,2..., m , соответствующих образам одного класса. gˆ ( x ) : Χ → Μ – решающее правило – оценка для g (ω ) на основании x (ω ) , т.е. gˆ ( x ) = gˆ ( x (ω )) . Пусть x j = x(ω j ) , j = 1,2..., N – доступная наблюдателю информация о функциях g (ω ) и x (ω ) , но сами эти функции наблюдателю неизвестны. Тогда ( g j , x j ) , j = 1,2..., N – есть множество прецедентов. Задача заключается в построении такого решающего правила gˆ ( x ) , чтобы распознавание проводилось с минимальным числом ошибок. Обычный случай – считать пространство признаков евклидовым, т.е. Χ = R l . Качество решающего правила измеряют частотой появления правильных решений. Обычно его оценивают, наделяя множество объектов Ω некоторой вероятностной мерой. Тогда задача ) записывается в виде min P{g ( x(ω )) ≠ g (ω )}.
8
2 Классификация на основе байесовской теории решений 2.1
Байесовский подход
Байесовский подход исходит из статистической природы наблюдений. За основу берется предположение о существовании вероятностной меры на пространстве образов, которая либо известна, либо может быть оценена. Цель состоит в разработке такого классификатора, который будет правильно определять наиболее вероятный класс для пробного образа. Тогда задача состоит в определении “наиболее вероятного” класса. Задано M классов Ω1 , Ω 2 ,...,Ω M , а также P(Ω i x) , i = 1,2,..., M – вероятность того, что неизвестный образ, представляемый вектором признаков x , принадлежит классу Ω i .
P(Ω i x) называется апостериорной вероятностью, поскольку задает распределение индекса класса после эксперимента (a posteriori – т.е. после того, как значение вектора признаков x было получено). Рассмотрим случай двух классов Ω1 и Ω 2 . Естественно выбрать решающее правило таким образом: объект относим к тому классу, для которого апостериорная вероятность выше. Такое правило классификации по максимуму апостериорной вероятности называется Байесовским: если P(Ω1 x) > P(Ω 2 x) , то x классифицируется в Ω1 , иначе в Ω 2 . Таким образом, для Байесовского решающего правила необходимо получить апостериорные вероятности P(Ω i x) , i = 1,2 . Это можно сделать с помощью формулы Байеса. Формула Байеса, полученная Т. Байесом в 1763 году, позволяет вычислить апостериорные вероятности событий через априорные вероятности и функции правдоподобия.
UA n
Пусть A1 , A2 ,..., An – полная группа несовместных событий. i ≠ j . Тогда апостериорная вероятность имеет вид: P( Ai ) P( B Ai ) P( Ai B) = n , ∑ P( Ai ) P( B Ai )
i
= Ω . Ai ∩ A j = ∅ , при
i =1
i =1
где P( Ai ) – априорная вероятность события Ai , P( B Ai ) – условная вероятность события B при условии, что произошло событие Ai . Рассмотрим получение апостериорной вероятности P(Ω x) , зная P (Ω) и P( x Ω) .
P( AB) = P( A B) P( B) , P( AB) = P( B A) P( A) P( A B) P( B) = P( B A) P( A) P( B A) =
P( A B) P( B)
P ( B x) =
p( x B ) P ( B )
P( A) Если P (A) и P( A B) описываются плотностями p (x) и p( x B) , то ⇒ P (Ω i x ) =
p ( x Ω i ) P (Ω i )
. p( x) p( x ) При проверке классификации сравнение P(Ω1 x) и P (Ω 2 x) эквивалентно сравнению
p( x Ω1 ) P(Ω1 ) и p( x Ω 2 ) P(Ω 2 ) . В случае, когда P(Ω1 x) = P(Ω 2 x) , считается, что мера множества x равна нулю.
9 Таким образом, задача сравнения по апостериорной вероятности сводится к вычислению величин P(Ω1 ) , P (Ω 2 ) , p( x Ω1 ) , p( x Ω 2 ) . Будем считать, что у нас достаточно данных для определения вероятности принадлежности объекта каждому из классов P(Ω i ) , i = 1,2 . Такие вероятности называются априорными вероятностями классов. А также будем считать, что известны функции распределения вектора признаков для каждого класса P( x Ω i ) , i = 1,2 . Они называются функциями правдоподобия x по отношению к Ω i . Если априорные вероятности и функции правдоподобия неизвестны, то их можно оценить методами N математической статистики на множестве прецедентов. Например, P(Ω i ) ≈ i , где N i – N число прецедентов из Ω i , i = 1,2 . N – общее число прецедентов. P( x Ω i ) может быть приближено гистограммой распределения вектора признаков для прецедентов из класса Ω i . Итак, Байесовский подход к статистическим задачам основывается на предположении о существовании некоторого распределения вероятностей для каждого параметра. Недостатком этого метода является необходимость постулирования как существования априорного распределения для неизвестного параметра, так и знание его формы.
2.2
Ошибка классификации
Определение.
Вероятность
Pe = P( x ∈ R2 , Ω1 ) + P( x ∈ R1 , Ω 2 )
называется
ошибкой
R1 = {x : P(Ω1 ) p( x Ω1 ) > P(Ω 2 ) p( x Ω 2 )},
классификации,
R2 = {x : P(Ω1 ) p( x Ω1 ) < P(Ω 2 ) p( x Ω 2 )} – области решения ( Ω1 ∩ Ω 2 = ∅ ). Теорема. Байесовский классификатор является оптимальным по отношению к минимизации вероятности ошибки классификации. Доказательство. Рассмотрим ошибку классификации: Pe = P( x ∈ R2 , Ω1 ) + P( x ∈ R1 , Ω 2 ) = = P(Ω1 ) ∫ p( x Ω 1 )dx + P(Ω 2 ) ∫ p ( x Ω 2 )dx = R2
R1
= P(Ω1 )1 − ∫ p( x Ω1 )dx + P(Ω 2 ) ∫ p( x Ω 2 )dx = R R1 1 = P(Ω1 ) − P(Ω1 ) ∫ p ( x Ω 1 )dx + P(Ω 2 ) ∫ p ( x Ω 2 )dx = R1
Учитывая формулу Байеса: p( x Ω i ) = = P (Ω 1 ) − P (Ω 1 ) ∫
R1
P (Ω i x ) p ( x ) P (Ω i )
P (Ω 1 x ) p ( x )
R1
P (Ω 1 )
, i = 1,2 получим:
dx + P(Ω 2 ) ∫
R1
P (Ω 2 x ) p ( x ) P (Ω 2 )
dx =
= P(Ω1 ) − ∫ P(Ω1 x) p ( x )dx + ∫ P(Ω 2 x) p( x)dx = R1
R1
= P(Ω1 ) − ∫ p ( x )(P(Ω 1 x ) − P(Ω 2 x) )dx R1
Таким образом, минимум достигается, когда R1 = {x : P(Ω1 x) > P(Ω 2 x)}. R2 выбирается из остальных точек. ч.т.д.
10 Данная теорема была доказана для двух классов Ω1 и Ω 2 . Обобщим ее на M классов. Пусть вектор признаков x относится к классу Ω i , если P(Ω i x) > P (Ω j x) , при i ≠ j , i = 1,2,..., M , j = 1,2,..., M . Соответственно необходимо доказать, что данное правило минимизирует вероятность ошибки классификации. Для доказательства следует воспользоваться формулой правильной классификации Pr = 1 − Pe . Доказательство. Воспользуемся формулой правильной классификации Pr = 1 − Pe . Pr = P( x ∈ R1 , Ω1 ) + P( x ∈ R2 , Ω 2 ) + ... + P( x ∈ Rl , Ω l ) = l
= ∑ P ( x ∈ R i Ω i ) P (Ω i ) = i =1 l
= ∑ P(Ω i ) ∫ p( x Ω i )dx = i =1
Ri
l l = P(Ω1 )1 − ∑ ∫ p ( x Ω 1 )dx + ∑ P(Ω i ) ∫ p( x Ω i )dx = i =2 R i =2 Ri i l = P(Ω1 ) − ∑ P(Ω1 ) ∫ p ( x Ω 1 )dx − P(Ω i ) ∫ p ( x Ω i )dx = i=2 Ri Ri
Учитывая формулу Байеса: p( x Ω i ) =
P (Ω i x ) p ( x ) P (Ω i )
, i = 1,2,..., l получим:
l P (Ω 1 x ) p ( x ) P (Ω i x ) p ( x ) dx − P(Ω i ) ∫ dx = = P (Ω 1 ) − ∑ P (Ω 1 ) ∫ P (Ω 1 ) P (Ω i ) i =2 Ri Ri l = P(Ω 1 ) − ∑ ∫ P(Ω 1 x) p ( x )dx − ∫ P(Ω i x) p ( x )dx = i=2 Ri Ri
= P(Ω1 ) − ∑ ∫ p( x)[P(Ω1 x ) − P(Ω i x)]dx l
i = 2 Ri
Таким образом, максимум достигается, когда P(ω1 x) < P(ωi x) . Аналогично для всех
{
}
j = 1,2,..., l максимум достигается, когда Ri = x : P(ω j x) < P(ωi x) .
ч.т.д.
2.3
Минимизация среднего риска
Вероятность ошибки классификации – не всегда лучший критерий проверки классификатора. В том случае, когда цена ошибок различного типа существенно различается, лучше использовать другой критерий качества классификации – минимум среднего риска. Рассмотрим задачу классификации по M классам. R j , j = 1,2,..., M – области предпочтения классов ϖ j . Предположим, что вектор x из класса Ω k лежит в Ri , i ≠ k , т.е. классификация происходит с ошибкой. Свяжем с этой ошибкой штраф λki называемый потерями в результате того, что объект из класса Ω k был принят за объект из класса Ω i . Обозначим через L = λ ki матрицу потерь.
11 Определение. Выражение rk = ∑ λ ki P{x ∈ Ri Ω k } = ∑ λ ki ∫ p( x Ω k )dx называется риском при M
M
i =1
i =1
Ri
классификации объекта класса Ω k . M
Определение. Выражение r = ∑ rk P (Ω k ) называется общим средним риском. i =1
Теперь мы можем поставить задачу о выборе классификатора, минимизирующего этот риск. Преобразуем выражение общего среднего риска: M
M
M
i =1
k =1
i =1
r = ∑ rk P (Ω k ) = ∑ P(Ω k )∑ λ ki ∫ p ( x Ω k )dx = Ri
M M = ∑ ∑ P(Ω k )λ ki ∫ p( x Ω k )dx = i =1 k =1 Ri M M = ∑ ∫ ∑ λ ki p( x Ω k ) P(Ω k ) dx i =1 Ri k =1 Из этого выражения видно, что риск минимален, когда каждый из интегралов в данной
сумме минимален, т.е.
M
x ∈ Ri , если li < l j , при i ≠ j , где li = ∑ λ ki p ( x Ω k ) P (Ω k ) , k =1
M
l j = ∑ λ kj p ( x Ω k ) P (Ω k ) . k =1
Пример. Рассмотрим ситуацию радиолокационной разведки. На экране радара отражаются не только цели, но и помехи. Такой помехой может служить стая птиц, которую можно принять за небольшой самолет. В данном случае это двухклассовая задача. Рассмотрим матрицу штрафов: L = λ ki , i = 1,2 , k = 1,2 . λki – это штраф за принятие объекта из класса k за объект класса i . Тогда l1 = λ11 p( x Ω1 ) P(Ω1 ) + λ21 p( x Ω 2 ) P(Ω 2 )
l 2 = λ12 p( x Ω1 ) P(Ω1 ) + λ 22 p( x Ω 2 ) P(Ω 2 ) Пусть x относится у классу Ω1 , если l1 < l 2 , т.е.
λ11 p( x Ω1 ) P(Ω1 ) + λ21 p( x Ω 2 ) P(Ω 2 ) < λ12 p( x Ω1 ) P(Ω1 ) + λ 22 p( x Ω 2 ) P(Ω 2 ) (λ21 − λ22 ) p( x Ω 2 ) P(Ω 2 ) < (λ12 − λ11 ) p( x Ω1 ) P(Ω1 ) Т.к. λ21 > λ22 и λ12 > λ11 , то p ( x Ω1 ) p( x Ω 2 )
>
λ 21 − λ 22 P(Ω 2 ) ⋅ λ12 − λ11 P(Ω1 )
Стоящее в левой части неравенства отношение l12 =
p ( x Ω1 ) p( x Ω 2 )
называется отношением
правдоподобия. Неравенство описывает условие предпочтения класса Ω1 классу Ω 2 . Пример. Рассмотрим двухклассовую задачу, в которой для единственного признака x известна плотность распределения: 1 p( x Ω 1 ) = exp − x 2 π 1 p( x Ω 2 ) = exp − ( x − 1) 2 π
(
(
)
)
12 Пусть, также, априорные вероятности P(Ω 1 ) = P(Ω 2 ) =
1 . 2
Задача – вычислить пороги для a) минимальной вероятности ошибки b) минимального риска при матрице риска 0 0.5 . L = 1 0 Решение задачи a): p( x Ω1 ) P(Ω1 ) = p( x Ω 2 ) P(Ω 2 )
(
)
(
)
exp − x 2 = exp − ( x − 1) 2 − x 2 = −( x − 1) 2 1 xˆ = 2 Решение задачи b): p ( x Ω1 ) p( x Ω 2 )
=
(
)
(
)
λ 21 − λ 22 P(Ω 2 ) ⋅ λ12 − λ11 P(Ω1 )
1 exp − x 2 1− 0 = = 2 =2 0.5 − 0 1 exp − ( x − 1) 2 2 2 exp − x = 2 exp − ( x − 1) 2 − x 2 = ln 2 − ( x − 1) 2 1 ~ x = (1 − ln 2) 2 Пример. Рассмотрим двухклассовую задачу с Гауссовскими плотностями распределения 0 λ12 p( x Ω1 ) ≅ N (0, σ 2 ) и p( x Ω 2 ) ≅ N (1, σ 2 ) и матрицей потерь L = . λ 0 21 Задача – вычислить порог для проверки отношения правдоподобия. Решение. С учетом матрицы потерь отношение правдоподобия p( x Ω1 ) λ 21 − λ 22 P(Ω 2 ) ⋅ = p( x Ω 2 ) λ12 − λ11 P(Ω1 ) запишется в виде p( x Ω1 ) λ 21 P(Ω 2 ) = ⋅ p( x Ω 2 ) λ12 P(Ω1 ) Запишем плотности распределения x2 ( x − 1) 2 1 1 − p( x Ω 1 ) = exp − ; p ( x Ω ) = exp 2 2 2σ 2 2π σ 2π σ 2σ
(
)
(
)
p ( x Ω1 )
( x − 1) 2 λ 21 P(Ω 2 ) x2 = ⋅ = exp − 2 p ( x Ω 2 ) λ12 P(Ω1 ) 2σ 2 2σ λ P (Ω 2 ) x 2 − ( x − 1) 2 = −2σ 2 ln 21 ⋅ λ12 P (Ω1 )
13
x=
λ P (Ω 2 ) 1 − σ 2 ln 21 ⋅ 2 λ12 P(Ω1 )
Пример. Рассмотрим двух классовую задачу с матрицей потерь L = λ ki , k = 1,2 , i = 1,2 . Пусть ε 1 – вероятность ошибки, соответствующая вектору из класса Ω1 и ε 2 – вероятность ошибки, соответствующая вектору из класса Ω 2 . Задача – найти средний риск. Решение. M
r = ∑ rk P (Ω k ) = i =1
= ∑ ∑ P(Ω k )λ ki ∫ p( x Ω k )dx = i =1 k =1 Ri = λ11 (1 − ε 1 ) P(Ω1 ) + λ12ε 1 P(Ω1 ) + λ21ε 2 P(Ω 2 ) + λ22 (1 − ε 2 ) P(Ω 2 ) = = λ11 P(Ω1 ) + (λ12 − λ11 )ε 1 P(Ω1 ) + (λ21 − λ22 )ε 2 P(Ω 2 ) + λ22 P(Ω 2 ) Пример. Доказать, что в задаче классификации по M классам, вероятность ошибки M −1 классификации ограничена: Pe = . M 1 . Указание: показать, что max P(ϖ i x) ≥ i =1,..., M M M
2.4
M
Дискриминантные функции и поверхности решения
Минимизация риска и вероятности ошибки эквивалентны разделению пространства признаков на M областей. Если области Ri и R j смежные, то они разделены поверхностью решения в многомерном пространстве. Для случая минимизации вероятности ошибки поверхность решения задается уравнением: P (Ω i x ) − P (Ω j x ) = 0 В данном уравнении приходится оперировать с вероятностями. Иногда вместо вероятностей удобнее работать с функцией от вероятности: g i ( x) = f (P(Ω i x) ) , где функция f монотонно возрастает. Определение. Функция g i ( x) = f (P(Ω i x) ) называется дискриминантной функцией. Таким образом, поверхность решения будет задаваться уравнением: g i ( x ) − g j ( x ) = 0 , i = 1,2,..., M , j = 1,2,..., M , i ≠ j . Для задачи классификации по вероятности ошибки или риску не всегда удается вычислить вероятности. В этом случае бывает более предпочтительно вычислить разделяющую поверхность на основе другой функции стоимости. Такие подходы дают решения, субоптимальные по отношению к Байесовской классификации.
2.5
Байесовский классификатор для нормального распределения
Распределение Гаусса очень широко используется по причине вычислительного удобства и адекватности во многих случаях. Рассмотрим многомерную плотность нормального распределения N ( µ i , Σ i ) :
14 1 (x − µi )Τ , i = 1,2,..., M p( x Ω i ) = ⋅ exp − 1 l 2 2 2 ( ) Σ ⋅ x − µ (2π ) Σ i i i где µ i = Ε[ X ] – математическое ожидание случайной величины x в классе Ω i , 1
[
]
Σ i – матрица ковариации размерности l × l для класса Ω i , Σ i = Ε ( x − µ i )( x − µ i ) Τ ,
Σ i – определитель матрицы ковариации. Здесь x, µi – это вектора столбцы, а xT, µiT - вектора-строки. 2.5.1 Квадратичная поверхность решения На основе этих данных необходимо построить байесовский классификатор. Рассмотрим логарифмическую дискриминантную функцию: g i ( x) = ln(P(Ω i x)) =
= ln( p( x Ω i ) P(Ω i )) = = ln p( x Ω i ) + ln P(Ω i ) = =−
1 (x − µi ) 1 ( x − µ i ) Τ + ln P(Ω i ) + ln l 2 Σi (2π ) 2 Σ i
l
2
=
1 (x − µi ) l 1 ( x − µ i ) Τ + ln P(Ω i ) − ln( 2π ) − ln Σ i = 2 Σi 2 2 1 (x − µi ) 1 l =− ( x − µ i ) Τ + ln P(Ω i ) + C i , где C i = − ln( 2π ) − ln Σ i 2 2 2 Σi Эта функция представляет собой квадратичную форму. Следовательно, разделяющая поверхность g i ( x ) − g j ( x ) = 0 является гиперповерхностью второго порядка. Поэтому Байесовский классификатор является квадратичным классификатором. 1 0 2 2 σ i 0 1 σi . . Тогда Пример. Пусть l = 2 , Σ i = = 2 1 Σi 0 σi 0 σ2 i 1 1 1 g i ( x) = − ( x12 + x 22 ) + 2 ( µ i1 x1 + µ i 2 x 2 ) − ( µ i21 + µ i22 ) + ln( P (Ω i )) + C i 2 σi 2σ i 2σ i2 Разделяющей поверхностью является коническое сечение. 0 0.2 0.1 0 . , Σ 2 = Пример. Пусть P(Ω1 ) = P(Ω 2 ) , µ1 = (0,0) , µ 2 = (1,0) , Σ1 = 0 0.25 0 0.15 =−
Тогда
1 10 = Σ1 0
0 1 5 0 , . Найдем поверхность решения. = 20 Σ 2 0 4 3 10 0 x1 1 1 200 + ln P(Ω1 ) − ln( 2π ) + ln g1 ( x ) = − ( x1 , x 2 ) = 20 2 3 2 3 x 2 0
1 20 2 1 200 = − 10 x12 + x 2 + ln P (Ω1 ) − ln(2π ) + ln 2 3 2 3 5 0 x1 − 1 1 1 + ln P(Ω 2 ) − ln( 2π ) + ln 20 = g 2 ( x) = − ( x1 − 1, x 2 ) 2 2 0 4 x 2
15 1 1 ( 5( x1 − 1) 2 + 4 x 22 ) + ln P(Ω 2 ) − ln( 2π ) + ln 20 2 2 20 2 1 1 200 − ln 20 = g 1 ( x ) − g 2 ( x) = − 10 x12 + x 2 − 5( x1 − 1) 2 − 4 x 22 + ln 3 3 2 2 10 1 8 1 = − 5( x1 + 1) 2 + x 22 + 5 + ln 2 3 3 2 1 10 8 1 Т.к. g1 ( x) − g 2 ( x) = 0 , то − 5( x1 + 1) 2 + x 22 + 5 + ln = 0 2 3 3 2 8 10 5( x1 + 1) 2 + x 22 = 10 + ln 3 3 2 2 ( x1 + 1) x 3 10 + 2 = 10 + ln 8 5 40 3 3 ( x1 + 1) 2 x 22 3 10 + = 10 + ln 2 2 40 3 2 2 5 3 – эллипс центром в точке (−1,0) . 0.1 0 0.15 0 , Σ 2 = . Пример. Пусть P(Ω1 ) = P(Ω 2 ) , µ1 = (0,0) , µ 2 = (1,0) , Σ1 = 0.1 0 0.15 0 1 10 0 1 20 3 0 , . Найдем поверхность решения. Тогда = = Σ1 0 20 3 Σ 2 0 10 Из предыдущего примера: 1 1 g1 ( x ) = − (5( x1 − 1) 2 + 4 x 22 ) + ln P(Ω 2 ) − ln( 2π ) + ln 20 2 2 20 3 0 x1 − 1 1 1 200 + ln P(Ω 2 ) + ln g 2 ( x) = − ( x1 − 1, x 2 ) 2 2 3 0 10 x 2 =−
( )
1 20 2 20 g 1 ( x) − g 2 ( x ) = − 10 x12 + x2 − ( x1 − 1) 2 − 10 x 22 = 2 3 3 1 10 10 40 20 = − x12 − x 22 + x1 − = 2 3 3 3 3 1 10 2 5 =− ⋅ x1 − x 22 + 4 x1 − 2 = − ( x1 + 2) 2 − x 22 − 6 2 3 3 5 Т.к. g1 ( x) − g 2 ( x) = 0 , то − ( x1 + 2) 2 − x 22 − 6 = 0 . 3 2 2 ( x1 + 2) − x 2 = 6 – гипербола с центром в точке (−2,0) .
(
)
(
)
(
)
2.5.2 Линейная поверхность решения 1 x − µi ⋅ exp − ( x − µ i ) Τ , i = 1,2,..., M . (2π ) 2 ⋅ Σ i 2 Σi В предыдущем пункте мы получили квадратичную форму: hi ( x) = ln( p( x Ω i ) P(Ω i ) ) = Условие остается тем же: p( x Ω i ) =
1 l
= ln p( x Ω i ) + ln P(Ω i ) =
16
=−
1 x − µi 1 ( x − µ i ) Τ + ln P(Ω i ) + C i , где C i = ln l 2 Σi (2π ) 2 Σ i
1
. 2
Пусть Σ i = Σ j , тогда µ µ 1 x x hi ( x ) = − x Τ − i x Τ − µ iΤ + i µ iΤ + ln P(Ω i ) + C i = 2 Σi Σi Σi Σi µ µ 1 x = − x Τ − 2 i x Τ + i µ iΤ + ln P(Ω i ) + C i = 2 Σi Σi Σi 1 = − K i ( x) − 2Wi x Τ + Wi µ iΤ + ln P(Ω i ) + C i = 2 µ 1 = − K i ( x ) + Li ( x) + C i , где Li ( x ) = Wi x Τ + Wi 0 ; Wi = i ; 2 Σi 1 Wi 0 = ln P(Ω i ) − Wi µ iΤ 2 При Σ i = Σ j можно сравнивать только Li (x) и L j (x) . Таким образом, при Σ i = Σ j мы получили линейную поверхность решения.
[
]
2.5.3 Линейная поверхность решения с диагональной матрицей ковариации Рассмотрим случай, когда матрица Σ диагональная с одинаковыми элементами: σ 2 0 1 . Тогда Li (x) имеет вид: Li ( x ) = 2 µ iΤ x + Wi 0 ; Σ = 2 σ 0 σ
Lij ( x) = Li ( x) − L j ( x) = W Τ ( x − x0 ) = 0 , где W = µ i − µ j , x0 =
µi − µ j P (Ω i ) 1 В данном случае под нормой (µ i + µ j ) − σ 2 ln 2 ( ) 2 P Ω j µi − µ j
понимается евклидова норма. Поверхностью решения является гиперплоскость, проходящая через точку x 0 . Если P (Ω i ) = P (Ω j ) , то x 0 – это середина вектора µ i µ j . Т.к. Lij ( x ) = 0 , то W Τ ( x − x0 ) = ( µ i − µ j ) Τ ( x − x0 ) = 0 . Следовательно, поверхность решения ортогональна µ i µ j .
Пример. Рассмотрим пример разделяющей поверхности решения для двухклассовой задачи с нормальным распределением. Поверхность решения лежит ближе к µ i , если
17 P (Ω i ) < P (Ω j ) .
Соответственно,
поверхность
решения лежит
ближе к
µj,
если
P (Ω i ) > P (Ω j ) . Также, если σ 2 мало по отношению к µ i − µ j , то положение поверхности
решения не очень чувствительно к изменению P(Ω i ) и P (Ω j ) . Последнее справедливо, т.к. вектора лежат в малых окрестностях µ i и µ j , поэтому изменение гиперплоскости их затрагивает не сильно. В центре изображен случай малого, а справа случай большого σ 2 . 2.5.4 Линейная поверхность решения с недиагональной матрицей ковариации В этом случае уравнение: Lij ( x) = Li ( x) − L j ( x) = W Τ ( x − x0 ) = 0 будет иметь несколько иные параметры: µi − µ j µi − µ j 1 W = и x0 = ( µ i + µ j ) − 2 Σ 2 µ i − µ j Σ −1 В данном случае под нормой понимается так называемая Σ −1 норма x , которая имеет вид:
= (x Τ Σ −1 x ) 2 . Для такой нормы поверхность решения не ортогональна вектору µ i µ j , Но 1
x
Σ
−1
(
)
она ортогональна его образу при преобразовании Σ −1 µ i − µ j . 2.5.5 Классификаторы по минимуму расстояния Будем рассматривать равновероятные классы с одинаковой матрицей ковариации. Тогда Σ1 = Σ 2 = ... = Σ n = Σ и выражение 1 Li ( x) = − ( x − µ i )Σ i−1 ( x − µ i ) Τ + ln P(Ω i ) + C i 2 примет вид 1 Li ( x) = − ( x − µ i )Σ −1 ( x − µ i ) Τ 2 (т.к. логарифм и константа сократятся). Классификатор по минимуму расстояния с диагональной матрицей ковариации. Рассмотрим случай, когда матрица Σ диагональная с одинаковыми элементами: σ 2 0 . Тогда максимизация Li (x) влечет минимизацию евклидового расстояния, Σ = 2 0 σ определяемое выражением d E = x − µ i . В данном случае будет считаться, что объект относится к данному классу, если он близок в смысле евклидового расстояния. Классификатор по минимуму расстояния с недиагональной матрицей ковариации. В этом случае максимизация Li (x) влечет минимизацию расстояния Махалонобиса, определяемого выражением d M = (( x − µ i ) Τ Σ −1 ( x − µ i ) ) 2 . Т.к. матрица ковариации является симметрической, ее можно представить в виде: Σ = Φ ⋅ Λ ⋅ ΦΤ , где Φ Τ = Φ −1 , а Λ – диагональная матрица с собственными значениями матрицы Σ на диагонали. Матрица Φ имеет столбцы, соответствующие собственным векторам матрицы Σ: Φ = (ν 1 ,ν 2 ,...,ν l ) Таким образом, получаем линию равноудаленных точек x : 1
18 ( x − µ i ) Τ ⋅ Φ ⋅ Λ−1 ⋅ Φ Τ ( x − µ i ) = C 2
Пусть x ′ = Φ Τ x . Тогда координатами x′ являются ν kΤ x , k = 1, 2,..., l , т.е. проекции x на собственные вектора. Другими словами, мы получили координаты в новой системе, у которой оси определяются собственными векторами ν k x , k = 1, 2,..., l . Тогда последнее уравнение преобразуется в уравнение эллипсоида в новой системе координат:
(x
) ( 2
)
2
(
)
2
− µ i/1 x / − µ i/2 x / − µ il/ + 2 + ... + l = C2 λ1 λ2 λl При l = 2 центр эллипса находится в точке µ i = ( µ i1 , µ i 2 ) , а главные оси лежат по / 1
собственным векторам и имеют длины 2 λ1 C и 2 λ2 C соответственно. Пример. Рассмотрим двумерный двухклассовый случай классификации двух нормально 1.1 0.3 и средними распределенных векторов с ковариационной матрицей Σ = 0.3 1.9 значениями µ1 = (0,0) Τ и µ 2 = (3,3) Τ . Найдем Σ −1 : Σ = 1.1 ⋅ 1.9 − 0.32 = 2.09 − 0.09 = 2 1 1.9 − 0.3 0.95 − 0.15 = 2 − 0.3 1.1 − 0.15 0.55 Классифицируем вектор (1 .0,2.2) . Для этого посчитаем расстояние Махалонобиса: d m2 ( µ1 , x) = ( x − µ 1 ) Τ Σ −1 ( x − µ 1 ) = Σ −1 =
0.95 − 0.15 1 = = (1,2.2 ) − 0.15 0.55 2.2 = ( 0.95 − 0.33) + ( −0.15 + 1.21) ⋅ 2.2 = = 0.57 + 1 ⋅ 0.6 ⋅ 2.2 = 0.57 + 2.332 = 2.952 d m2 ( µ 2 , x ) = ( x − µ 2 ) Τ Σ −1 ( x − µ 2 ) = 0.95 − 0.15 − 2 = = (− 1,−0.8) − 0 . 15 0 . 55 − 0 . 8 = −( −1.9 + 0.12) − ( 0.3 − 0.44) ⋅ 0.8 = = 3.56 + 0.112 = 3.672 Таким образом, хотя сама точка (1 .0,2.2) по евклидову расстоянию ближе к точке (0,0) , чем к точке (3,3) , но по расстоянию Махалонобиса она ближе к (3,3) . Теперь вычислим главные оси эллипса с центром в точке (0,0) . Для этого найдем собственные значения: 1.1 − λ 0.3 = 2.09 − 3λ + λ2 − 0.09 = λ2 − 3λ + 2 = 0 0.3 1.9 − λ
λ1 = 1 , λ2 = 2 . Тогда собственные вектора (и направление главных осей эллипса) будут иметь вид: Τ
3 −1 1 3 V1 = , , V2 = . , 10 10 10 10
19
3 Линейный классификатор. Алгоритм персептрона 3.1
Линейная дискриминантная функция
Рассмотрим задачу построения линейной разделяющей гиперповерхности. Главным достоинством линейного классификатора является его простота и вычислительная эффективность. Рассмотрим линейную дискриминантную функцию: g ( x) = W Τ x + W0 , где W Τ = (W1 , W 2 ,..., Wl ) Τ – весовой вектор, W0 – порог. Поведение решения задается уравнением g ( x) = 0 . Пусть X 1 и X 2 – два конечных множества векторов признаков в евклидовом пространстве, относящихся к классу Ω1 и Ω 2 соответственно, т.е X 1 принадлежит классу Ω1 при g ( x) > 0 , а X 2 принадлежит классу Ω 2 при g ( x) < 0 . Задача состоит в том, чтобы: установить разделимость этих множеств; найти разделяющую гиперплоскость. Рассмотрим сначала в качестве примера двумерную задачу, когда образы представляются точками на плоскости. Определение. Множество, содержащее отрезок, соединяющий две произвольные внутренние точки, называется выпуклым. Определение. Выпуклая оболочка – это минимальное выпуклое множество, содержащее данное. Утверждение 3.1. Два множества на плоскости линейно разделимы тогда и только тогда, когда их выпуклые оболочки не пересекаются. Из этого утверждения получаем следующее правило проверки разделимости множеств на плоскости: 1) Построить выпуклые оболочки. 2) Проверить пересечение выпуклых оболочек. Если они не пересекаются, то множества разделимы. Очевидно и правило, по которому можно найти разделяющую прямую: 1) Найти ближайшую пару точек в выпуклых оболочках обоих множеств. 2) Построить срединный перпендикуляр к отрезку, соединяющему эти точки. Этот перпендикуляр и будет разделяющей прямой. Пусть размерность вектора признаков X и вектора коэффициентов W равна l. Рассмотрим «пополненные» Τ вектора X ′, W ′ следующего вида: (W ′) = W Τ ,W0 –
( ) = (X ,1) – пополненный вектор признаков. Рассмотрим
Τ пополненный весовой вектор, ( X ′)Τ также в (l + 1) -мерном пространстве
(
)
однородную
линейную
функцию
l
g ′( x) = (W ′) Τ , ( X ′) Τ = ∑ Wi ⋅ xi . i =0
Очевидно следующее Утверждение 3.2. Множества X 1 и X 2 линейно разделимы в пространстве Rl дискриминантной функцией g ( x) = W Τ x + W0 тогда и только тогда, когда они разделимы в
20 пополненном
пространстве
(
)
Rl+1
однородной
дискриминантной
функцией
l
g ′( x) = (W ′) Τ , ( X ′) Τ = ∑ Wi ⋅ xi . i =0
Далее будем рассматривать дискриминантные функции и вектора в пополненном пространстве. Определение. Множество X = − X называется симметричным множеством к множеству X . Утверждение 3.3. Два замкнутых множества X 1 и X 2 разделимы тогда и только тогда, когда выпуклая оболочка множества X 1 U X 2 не содержит начала координат.
Доказательство. Пусть множества X 1 и X 2 разделимы. Тогда существует линейная функция g (x ) такая, что g ( x) > 0 при x ∈ X 1 и g ( x) < 0 при x ∈ X 2 . Рассмотрим множество X = X 1 U X 2 , тогда g ( x) > 0 при x ∈ X . Следовательно, g ( x) > 0 для выпуклой линейной
комбинации из X , а это означает, что O ∉ convX , т.к. X – замкнутое. Здесь O обозначает начало координат. Пусть O ∉ convX , и пусть ~ x – ближайшая к началу координат O точка из convX . Плоскость (W , x ) = 0 с направляющим вектором W = ~ x не пересекает convX , а, значит, (W , x ) > 0 на x ∈ X . Следовательно, (W , x ) < 0 на x ∈ X 2 . ч. т. д.
3.2
Алгоритм персептрона
3.2.1 Математическая модель нейрона В алгоритме персептрона в основу положен принцип действия нейрона. Обобщенная схема нейрона представлена на рисунке. Здесь x1 , x 2 ,..., xl – компоненты вектора признаков x = ( x1 , x 2 ,..., xl ) ; Σ – сумматор; W1 , W2 ,...,Wl – синоптические веса; f – функция активации; W0 – порог. Выходом сумматора является величина l
∑W x i =1
i
i
, которая является входом (аргументом)
функции активации. Значение функции активации вычисляется на основе определения знака суммы
l
∑W x i =1
i
i
+ W0 :
0 при v < 0 . f (v ) = 1 при v > 0 Таким образом, нейрон представляет собой линейный классификатор с дискриминантная l
функцией g ( x) = ∑ Wi xi + W0 . i =1
Тогда задача построения линейного классификатора для заданного множества прецедентов сводится к задаче обучения нейрона, т.е. подбора соответствующих весов W1 ,W2 ,...,Wl и порога W0. Обучение состоит в коррекции синоптических весов и порога.
21 3.2.2 Алгоритм персептрона Алгоритм персептрона представляет собой последовательную итерационную процедуру. Каждый шаг состоит в предъявлении нейрону очередного вектора-прецедента и коррекции весов Wi по результатам классификации. При этом прецеденты предъявляются циклически, т.е. после предъявления последнего снова предъявляется первый. Процесс обучения заканчивается, когда нейрон правильно классифицирует все прецеденты. Обозначим Wt весовой вектор после t-й итерации, а xt – прецедент, предъявляемый на t-й итерации. Основной шаг алгоритма состоит в предъявлении прецедента очередного прецедента xt +1 : Если xt +1 ∈ Ω1 и Wt xt +1 > 0 , то Wt +1 = Wt ; Если xt +1 ∈ Ω1 и Wt x t +1 ≤ 0 , то Wt +1 = Wt + xt +1 ; Если xt +1 ∈ Ω 2 и Wt x t +1 < 0 , то Wt +1 = Wt ; Если xt +1 ∈ Ω 2 и Wt x t +1 ≥ 0 , то Wt +1 = Wt + xt +1 . На данном рисунке g t (x ) – дискриминантная функция после t-го шага алгоритма; Wt – весовой вектор после t-го шага алгоритма. 3.2.3 Сходимость алгоритма персептрона Основной вопрос, связанный с алгоритмом персептрона связан с его сходимостью. Конечен ли построенный итерационный процесс обучения? Теорема Новикова. Пусть {xi } – бесконечная последовательность векторов из двух непересекающихся замкнутых множеств X 1 и X 2 ; и пусть существует гиперплоскость, проходящая через начало координат и разделяющая X 1 и X 2 (не имеет с ними общих точек). Тогда при использовании алгоритма персептрона число коррекций весового вектора конечно. Доказательство. Пусть W * - направляющий вектор разделяющей гиперплоскости (которая существует по условию). Не нарушая общности, будем считать, что он является единичным. Пусть X = conv X 1 U X 2 , X 2 в – симметричное к
(
)
X 2 множество; ρ 0 = ρ (0, X ) , где ρ – евклидово расстояние. Согласно утверждению 3.3 * (W , X ) ≥ ρ 0 > 0 ∀x ∈ X .
Оценим (Wt ,W * ) .
Пусть W * – еденичный вектор нормали, разделяющий X 1 и X 2 . (W * , X ) ≥ ρ 0 при x ∈ X 1
(W
*
)
, X ≤ − ρ 0 при x ∈ X 2
Пусть Wt – весовой вектор после предъявления вектора xt ; W0 = 0 – начальная итерация весового
вектора ( W * = 1 ). Тогда, если (Wt , xt +1 ) > 0 , то коррекции не происходит. Иначе, если
(Wt , xt +1 ) ≤ 0 , то коррекция: Wt +1 = Wt + xt +1
22 Wt +1 = Wt 2
2
+ 2( xt +1 , Wt ) + xt +1 ≤ Wt 2
2
+ D 2 , т.к. ( xt +1 , Wt ) ≤ 0 и xt +1 ≤ sup x = D x∈ X
Таким образом, к моменту t происходит k коррекций, то 2 Wt ≤ k ⋅ D 2 , т.к. W0 = 0
(∗)
В начальный момент времени (W0 , W * ) = 0 . Если в момент i + 1 произошла коррекция,
то
(W
) (
) (
) (
)
, W * = W0 , W * + xt +1 , W * ≥ Wt , W * + ρ 0 Если коррекция не происходит, то Wt +1 , W * = Wt , W * Если к моменту t произошло k коррекций, то Wt , W * ≥ k ρ 0 С другой стороны Wt , W * ≤ Wt ⋅ W * = Wt t +1
(
) (
(
(
)
)
)
Поэтому
Wt ≥ kρ 0
(∗∗)
Из неравенств (∗) и (∗∗) следует: k 2 ρ 0 ≤ Wt
2
≤ kD 2 ⇒ kρ 0 ≤ D 2 ⇒ k ≤
D2 ρ0
D2 Таким образом, число коррекций k не превосходит . ρ0 ч. т. д. 3.2.4 Оптимизационная интерпретация Рассмотрим непрерывную кусочно-линейную функцию J (W ) : − 1, x ∈ X 1 J (W ) = ∑ δ x (W , x ) , где δ x = ; x∈Y 1, x ∈ X 2 Y – множество векторов неправильно классифицированных гиперплоскостью W . Тогда J (W ) ≥ 0 и J (W ) = 0 ⇔ Y = ∅ . Задача состоит в минимизации этой функции: J (W ) = ∑ δ x (W , x ) → min x∈Y
Построим минимизацию по схеме градиентного спуска: dJ (W ) Wt +1 = Wt − ρ t dW dJ (W ) = ∑ δ x x , то Wt +1 = Wt − ρ t ∑ δ x x Т.к. dW x∈Y x∈Y Таким образом, алгоритм персептрона представляет собой вариант алгоритма градиентного спуска. Выбор последовательности величин ρ t для обычно осуществляется так, чтобы: ∞
∑ t =0
ρt > ∞ и
∞
∑ρ t =0
2 t
<∞
23 3.2.5 Схема Кеслера Идея построения линейного классификатора естественно обобщается на случай классификации с числом классов больше двух. Рассмотрим задачу классификации по M классам. Для каждого класса необходимо определить линейную дискримринантную функцию Wi , i = 1,2,..., M . Пусть x – (l + 1) -мерный вектор в расширенном пространстве. Вектор x относится к классу Ω i , если Wi x > W j x , ∀ i ≠ j Схема Кеслера позволяет применить алгоритм персептрона для решения этой задачи. Для каждого вектора-прецедента из Ω i строим ( M − 1) векторов x ij размерности (l + 1) M : Τ xij = (01 ,..., ,..., x1 ,..., x M , 01 ,...,0,..., − x1 ,...,− x M ,..., 01 ,..., 230, 01 230,..., 1 230) 424 3 23 142 43 1
2
i +1
i
M
j
Τ
и вектор W = (W1 , W2 ,...,WM ) , где Wi – весовой вектор i -ой дискриминантной функции. Пусть x = ( x1 , x2 ,..., xM ) , тогда вектор xij можно записать в виде:
xij = (0, 0,..., 0 , x, 0 ,..., 0 , − x, 0 ,..., 0 ) 1 2
Если
x
i −1 i i +1
j −1
относится
j
к
j +1
M
классу
Ωi ,
то
Wx ij > 0
∀j = 1, 2,..., M ,
i ≠ j,
т.к.
Wi x > W j x и Wx ij = Wi x − W j x > 0 .
Таким образом, задача заключается в построении линейного классификатора в (l + 1) M мерном пространстве так, чтобы каждый из ( M − 1) N векторов-прецедентов лежал в положительном полупространстве. Если вектора в исходной задаче разделимы, то это можно сделать с помощью алгоритма персептрона.
24
4 Оптимальная разделяющая гиперплоскость 4.1
Существование и единственность
Пусть X и X - конечные множества точек в евклидовом пространстве R l . Определение. X и X разделимы гиперплоскостью, если существует единичный вектор ϕ и число с , что (x, ϕ ) > c при x ∈ X , (x , ϕ ) < c при x ∈ X . Обозначим с1 (ϕ ) = min ( x, ϕ ) , с 2 (ϕ ) = max ( x , ϕ ) . x∈ X
x∈ X
Тогда (x,ϕ ) > c1 (ϕ ) при x ∈ X , ( x ,ϕ ) < c2 (ϕ ) при x ∈ X . Если c1 (ϕ ) ≥ c2 (ϕ ) , то гиперплоскость (x, ϕ ) = c1 (ϕ ) + c 2 (ϕ ) (4.1) 2 разделяет X и X . В силу непрерывности c1 (ϕ ) и c2 (ϕ ) существует множество разделяющих гиперплоскостей, если существует (4.1). Определение. Оптимальной называется разделяющая гиперплоскость (4.1), соответствующая вектору ϕ ∗ , при котором достигается максимум Π(ϕ ) . Теорема. Если два множества X и X разделимы гиперплоскостью, то оптимальная разделяющая гиперплоскость существует и единственна. Доказательство. Функция Π(ϕ ) непрерывна на сфере ϕ ≤ 1 . Значит,
max Π (ϕ ) существует и достигается при некотором значении ϕ ∗ . Предположим, что он ϕ ≤1
достигается внутри сферы, т.е. ϕ ∗ < 1 . Тогда для ϕ ∗∗ =
ϕ∗ получаем ϕ∗
( ) ( ) ( ) = min (x, ϕ ) − max (x , ϕ ) = Π ϕ ∗∗ = c1 ϕ ∗∗ − c 2 ϕ ∗∗ = ∗∗
x∈ X
=
∗∗
x∈ X
1 ϕ
∗
( )
( )
Π ϕ∗ > Π ϕ∗ ,
что противоречит предположению о том, что ϕ ∗ - точка максимума Π(ϕ ) . Следовательно, максимум достигается на границе сферы, т.е. ϕ ∗ = 1 . Докажем единственность максимума. Предположим, что это не так и существуют различные ϕ ∗ и ϕ ∗∗ такие, что Π (ϕ ∗ ) = Π (ϕ ∗∗ ) = Π max . Рассмотрим значение ϕ = αϕ ∗ + βϕ ∗∗ , α + β = 1, α > 0, β > 0 , ∗ ∗∗ совпадающее ни с ϕ , ни с ϕ .
с1 (ϕ ) = min (x, αϕ ∗ + βϕ ∗∗ ) = x∈ X
[ ] ≥ α min (x, ϕ ) + β min (x, ϕ ) = = min α (x, ϕ ∗ ) + β (x, ϕ ∗∗ ) ≥ x∈ X
∗
x∈X
∗∗
x∈ X
не
25
( )
( )
( ) ( )
( ) ( )
= α ⋅ с1 ϕ ∗ + β ⋅ с1 ϕ ∗∗ . Аналогично с 2 (ϕ ) ≤ α ⋅ с 2 ϕ ∗ + β ⋅ с 2 ϕ ∗∗ . Тогда Π(ϕ ) = c1 (ϕ ) − c2 (ϕ ) ≥ ∗ ≥ α ⋅ с1 ϕ + β ⋅ с1 ϕ ∗∗ − α ⋅ с 2 ϕ ∗ + β ⋅ с 2 ϕ ∗∗ = = α ⋅ Π ϕ ∗ + β ⋅ Π ϕ ∗∗ = = α ⋅ Π max + β ⋅ Π max = Π max и ϕ - тоже значение, на котором достигается максимум.
( )
( )
( )
ϕ = αϕ ∗ + βϕ ∗∗ 2
т.к. ϕ ∗
2
= 1 , ϕ ∗∗
2
2
( )
(
2
)
= α 2 ϕ ∗ + 2αβ ϕ ∗ , ϕ ∗∗ + β 2 ϕ ∗∗
(
)
2
< 1,
= 1 и ϕ ∗ , ϕ ∗∗ < 1 при α + β = 1, α > 0, β > 0 .
Но ϕ лежит внутри сферы ϕ ≤ 1 и поэтому не может быть точкой максимума. Следовательно, предположение о существовании двух максимумов неверно и максимум единственный. ч.т.д. Таким образом, если максимум функции Π(ϕ ) достигается при значении ϕ = ϕ опт , то c (ϕ ) + c 2 (ϕ опт ) максимально удалена от X и X и разделяет их. гиперплоскость ( x, ϕ опт ) = 1 опт 2
4.2
Построение оптимальной разделяющей гиперплоскости
Теорема. Если два множества X и X разделимы гиперплоскостью, Conv ( X ) и Conv ( X ) – выпуклые оболочки этих множеств, а x ∗ ∈ Conv (X ) и x ∗ ∈ Conv ( X ) – пара ближайших точек в выпуклых оболочках, то max Π(ϕ ) = x ∗ − x ∗ , ϕ =1
где x ∗ − x ∗ – обозначает евклидово расстояние между точками x ∗ и x ∗ . Доказательство.
ϕ∗ =
Положим
(
(x
)
− x∗ . x∗ − x ∗
) ) = (x
∗
Из
с1 (ϕ ) = min ( x, ϕ ) ,
условий
( ) )= x − x
x∈ X
с 2 (ϕ ) = max ( x , ϕ ) следует, что с1 (ϕ ∗ ) ≤ x ∗ , ϕ ∗ , с 2 (ϕ ∗ ) = x ∗ , ϕ ∗ и, следовательно, x∈ X
(
) (
Π (ϕ ) = c1 (ϕ ) − c 2 (ϕ ) ≤ x ∗ , ϕ ∗ − x ∗ϕ ∗
∗
− x ∗ ,ϕ ∗
∗
∗
(4.2)
Следовательно max Π (ϕ ) ≤ x ∗ − x ∗ и для доказательства теоремы нужно показать, что ϕ =1
справедливо неравенство
Π (ϕ ∗ ) ≥ x ∗ − x ∗
(
)
(4.3)
(
)
Пусть точки y ∈ X и y ∈ X такие, что с1 (ϕ ∗ ) = y, ϕ ∗ и с 2 (ϕ ∗ ) = y , ϕ ∗ . Тогда
( ) ( ) ( ) ( ) ( ( ) ( ) ) ( ) ( ) ( ) = x − x + (y − x ,ϕ ) − (y − x , ϕ ) . Теперь покажем, что (y − x , ϕ ) ≥ 0 , а (y − x , ϕ ) ≤ 0 , или, что то же самое: Π ϕ ∗ = c1 ϕ ∗ − c 2 ϕ ∗ = y − y, ϕ ∗ = = x ∗ + y − x ∗ − x ∗ − y − x ∗ ,ϕ ∗ = = x ∗ − x ∗ ,ϕ ∗ + y − x ∗ , ϕ ∗ − y − x ∗ , ϕ ∗ = ∗
∗
∗
∗
∗
∗
∗
∗
∗
∗
26
(y − x , x ∗
)
∗
(
)
− x ∗ ≥ 0 , y − x ∗, x ∗ − x ∗ ≤ 0 (4.4) l ∗ Пусть z = λy + (1 − λ ) x , 0 < λ < 1 – точка в R . Очевидно, что она лежит в выпуклой оболочке X , т.е. z ∈ Conv ( X ) . Тогда имеем 2
z − x∗
(
)
(
= λ y − x ∗ + (1 − λ ) x ∗ − x ∗
(
)
)
2
=
2
= λ y − x∗ + (x ∗ − x ∗ ) =
(
2
)
2
= x ∗ − x ∗ + 2λ x ∗ − x ∗ , y − x ∗ + λ2 y − x ∗
(4.5)
Поскольку точки x ∗ и x ∗ – ближайшие в выпуклых оболочках Conv ( X ) и Conv ( X ) , получаем, что z − x ∗
2
2
≥ x∗ − x ∗ .
Тогда из (4.5) следует, что 2
2λ ( x ∗ − x ∗ , y − x ∗ ) + λ 2 y − x ∗ ≥ 0 , или 2( x ∗ − x ∗ , y − x ∗ ) + λ y − x ∗
2
≥ 0 ∀λ > 0 , что возможно лишь при ( x ∗ − x ∗ , y − x ∗ ) ≥ 0 .
Таким образом, первое из неравенств (4.4) доказано. Второе неравенство (4.4) доказывается аналогично. Тем самым доказано неравенство (4.3), а из него (4.2) и утверждение теоремы. ч.т.д. Оптимальная разделяющая гиперплоскость ортогональна отрезку, соединяющему ближайшие точки выпуклых оболочек множеств X и X , и проходит через середину этого отрезка. Задача поиска пары ближайших точек сводится к задаче квадратичного программирования следующим образом. Каждая точка y, лежащая в выпуклой оболочке Conv ( X ) , представима в виде y = ∑ α x x , ∑ α x = 1 , α x ≥ 0 . Аналогично, точка y ∈ Conv ( X ) представима в виде x∈ X
y=
∑β
x∈X
x
x,
x∈ X
∑β
x∈X
x
= 1 , β x ≥ 0 . Нужно найти пару точек y и y , обеспечивающих минимум
выражения:
при условиях:
2 y − y = ∑α x x − ∑ β x x, ∑α x x − ∑ β x x x∈ X x∈ X x∈ X x∈X
∑α
x∈X
∑β
x∈X
(4.6)
x
=1, αx ≥ 0,
(4.7)
x
= 1, β x ≥ 0 .
(4.8)
Задача математического программирования (4.6-4.8) имеет два ограничения и квадратичную целевую функцию.
27
4.3
Алгоритм Гаусса-Зейделя
Задача состоит в нахождении наименьшего расстояния между множествами X и X . 1. В качестве начальных значений берем произвольную пару x 0 и x 0 . Другими словами в начальный момент t = 0 z t = x 0 ∈ X и z t = x 0 ∈ X . 2. Необходимо найти точку z t +1 ближайшую к z t на отрезке [z t , xt ] . Обозначаем z t +1 = z t . Напишем условие ортогональности векторов ( z t +1 − z t ) и ( z t − x k ) : (z t +1 − z t , z t − xk ) = 0 . Т.к. z t +1 = λz t + (1 − λ )x k = x k + λ ( z t − x k ) , то (zt +1 − zt , z t − xk ) = (xk + λ (zt − xk ) − zt , z t − xk ) = = λ (z t − xk , z t − xk ) + (xk − z t , z t − xk ) = 0 Следовательно, λ =
(z t − xk , z t − xk ) zt − xk
2
.
Если λ ≤ 0 , то z t +1 = x k . Если λ ≥ 1 , то z t +1 = z t . Если 0 < λ < 1 , то z t +1 = λz t + (1 − λ )x k . 3. Далее необходимо найти точку z t +1 ближайшую к z t на отрезке [z t , x r ] . Обозначаем z t +1 = z t . Данную процедуру необходимо повторять, пока не найдутся две ближайшие точки множеств X и X.
28
5 Нелинейный классификатор. Многослойный персептрон 5.1
Задача исключающего ИЛИ
Рассмотрим булеву функцию xor( x1 , x2 ) как некий классификатор. Вектор признаков имеет вид x = ( x1 , x2 ) . В данном случае имеется четыре прецедента и два класса. Напомним таблицу значений функции xor( x1 , x2 ) . № Класс x1 x2 xor( x1 , x2 ) прецедента 0 0 0 1 Ω1 0 2 1 1 Ω0 3 0 1 1 Ω0 0 4 1 1 Ω1 Как видно из рисунка тут нельзя построить разделяющую прямую, поскольку выпуклые оболочки точек, относящихся к первому классу и ко второму классу, пересекаются. Следовательно, и линейный классификатор построить нельзя. Попытаемся построить необходимый нелинейный классификатор как суперпозицию несколько линейных. Рассмотрим две вспомогательные булевы функции or ( x1 , x2 ) и and( x1 , x2 ) . Напомним таблицы значений этих функций: № x1 x2 and( x1 , x2 ) or ( x1 , x2 ) прецедента 0 0 0 0 1 0 0 2 1 1 0 0 3 1 1 4 1 1 1 1 Построение линейного классификатора функции or ( x1 , x2 ) . Очевидно, что разделяющей прямой является линия: 1 x1 + x 2 = . Соответствующий персептрон имеет вид: 2
Построение линейного классификатора функции and( x1 , x2 ) . Здесь также можно построить разделяющую прямую: 3 x1 + x 2 = . Соответствующий персептрон имеет вид: 2
29 Построение нелинейного классификатора функции xor( x1 , x2 ) . Пусть на выходе персептрона для функции or ( x1 , x2 ) – y1 , а на выходе персептрона для функции and ( x1 , x2 ) – y 2 . Посмотрим, какие значения принимает вектор ( y1 , y 2 ) . Исходные OR AND XOR вектора Класс x1 x2 y1 y2 1 0 0 0 0 Ω1 0 0 0 1 1 Ω0 0 0 0 1 1 Ω0 1 1 1 1 1 Ω1 Обозначив классы как показано в таблице, получаем разделяющую прямую, изображенную на рисунке и соответствующий линейный классификатор: 1 y1 − y 2 = 2 Учитывая вышеизложенное, получаем нелинейный классификатор, который задается через два линейных классификатора, как показано на рисунке слева: 1 3 x1 + x 2 = и x1 + x 2 = 2 2 Соответствующий двухслойный персептрон изображен на рисунке справа.
Классификационные способности двухслойного персептрона
5.2
Рассмотрим общий случай двухслойного персептрона. Пусть x ∈ R l и в скрытом слое p нейронов. Скрытый слой нейронов отображает
{
Rl
в
Hp ∈Rp,
где
}
H p = ( y1 , y2 ,..., y p )∈ R , yi ∈ [0,1],1 ≤ i ≤ p – гиперкуб. Другими словами, каждый нейрон задает гиперплоскость, которая разделяет пространство пополам, т.е. скрытый слой нейронов делит пространство R l на полиэдры. Все вектора из каждого полиэдра отображаются в вершину p -мерного p
30 единичного куба. Выходной нейрон разделяет вектора в классах, описанных полиэдрами, т.е. производит сечение гиперкуба, полученного в скрытом слое. Пример. Рассмотрим нейронную сеть с двумя входами ( l = 2 ) и тремя нейронами ( k = 3 ). Тогда пространство R l = R 2 . Пусть первый слой нейронов задает разбиение
признакового пространства (плоскости) как показано на рисунке. В каждом многоугольнике (возможно, бесконечном) все точки соответствуют одному классу (A или B). При этом в каждом многоугольнике знаки линейных функционалов g1, g2, g3 остаются постоянными. Следовательно, с каждым многоугольником связано определенное значение вектора выходов нейронов первого слоя, причем для разных многоугольников эти значения различны. Поскольку значениями компонент этого вектора являются 0 либо 1, получаем, что каждому многоугольнику соответствует некоторая вершина единичного куба H 3 в пространстве R 3 . При этом каждой вершине куба сопоставлен один класс A или B. На рисунке изображен единичный куб H 3 , у которого закрашенные вершины относятся к классу A , а не закрашенные – к классу B . Задача нейрона второго слоя состоит в разделении вершин этого 1 куба. Нетрудно видеть, что в нашем примере плоскость y1 + y 2 − y 3 = является 2 разделяющей для куба H 3 . Она и задает параметры нейрона второго слоя. Заметим, что вершина (1,0,1) в кубе не загружена, т.е. в нее не отображается ни один многоугольник.
5.3
Трехслойный персептрон
Внешний (выходной) нейрон реализует лишь одну гиперплоскость. Очевидно, что одна разделяющая гиперплоскость не всегда может обеспечить желаемое разделение вершин гиперкуба. Например, если два конца одной его главной диагонали относятся к классу A, а два конца другой диагонали – к классу B. С аналогичной ситуацией мы уже сталкивались в задаче исключающего или. Попробуем ввести еще один слой нейронов.
31
Утверждение. Трехслойная нейронная сеть позволяет описать любые разделения объединений полиэдров. Доказательство. Рассмотрим первый слой из p нейронов. На первом формируются гиперплоскости, т.к. строится полиэдральное разбиение пространства гиперплоскостями. Очевидно, что для заданного конечного множества прецедентов всегда можно построить разбиение пространства признаков на полиэдры такое, что ни в каком полиэдре не окажется пары точек из разных классов. Как было показано выше, первый слой отображает полиэдры в вершины p-мерного единичного гиперкуба. Поскольку с каждым полиэдром связаны образы одного класса, то и с каждой вершиной гиперкуба связан лишь один класс. Каждый нейрон второго слоя описывает сечение полученного гиперкуба. Выберем в качестве таких сечений гиперплоскости, отсекающие ровно одну вершину гиперкуба. Поскольку число вершин в гиперкубе равно 2p, число нейронов второго слоя также равно 2p. Таким образом, выход нейронов второго слоя имеет следующий вид. Это вектор размерности 2p, у которого всегда лишь одно значение равно 1, а остальные равны нулю. Назовем нейроны второго слоя нейронами класса A или B в соответствии с классом вершины гиперкуба, которую отсекает этот нейрон. Теперь становится понятно, каким образом строить третий слой нейронной сети. Нужно в выходном нейроне третьего слоя реализовать оператор логического сложения выходов нейронов второго слоя, относящихся к классу A. Таким образом разделяющая гиперплоскость выходного нейрона задается уравнением: 1 если нейрон i относится к классу A 1 с1 z1 + с 2 z 2 + ... + с л z л = , где k=2p, а сi = 2 в противном случае 0 Таким образом, можно построить трехслойный персептрон следующим образом. Нейроны первого слоя разделяют пространство признаков на полиэдры одного класса и отображают их в вершины гиперкуба. Нейроны второго слоя отсекают вершины гиперкуба. Нейрон третьего слоя собственно осуществляет классификацию через оператор логического сложения. Тем самым утверждение доказано. ч.т.д. Рассмотрим, как строится уравнение гиперплоскости, отсекающей вершину p -мерного единичного гиперкуба. Диагональ куба имеет длину
p . Длины диагоналей ( p − 1) -мерных
единичных гиперкубов, являющихся боковыми гранями p -мерного куба, равны p − 1 . Центр куба находится в точке ( 12 , 12 ,..., 12 ) . Расстояние от центра куба до любой вершины равно p 2 . Плоскость проводим перпендикулярно главной диагонали куба, инцидентной вершине, которую надо отсечь, так, чтобы расстояние от этой вершины до секущей
32 p − p −1 , причем данная точка должна находиться на диагонали 2 куба, проведенной к отсекаемой вершине. Пусть V – отделяемая вершина, V – диагонально противоположная вершина ( V = E − V , где E обозначает p -мерный вектор, состоящий из единиц). Следовательно, W = V − V – направляющий вектор разделяющей гиперплоскости. Тогда гиперплоскость проходит через точку: p + p −1 U = V + (V − V )⋅ 2 p Обозначим: p + p −1 1 1 = ⋅ 1 + 1 − γ = p 2 2 p Тогда U = V + (V − V ) ⋅ γ и уравнение гиперплоскости запишется в виде: ((z − U ),W ) > 0 . плоскости было равно
5.4
Построение нейронной сети
Существует два подхода к задаче построения нейронной сети-классификатора. Первый подход заключается в построении сети, варьируя архитектуру. Данный метод основан на точной классификации прецедентов. Второй подход состоит в подборке параметров (весов и порогов) для сети с заданной архитектурой. 5.4.1 Алгоритм, основанные на точной классификации множества прецедентов. Опишем общую идею метода. За основу берется один нейрон. Далее наращиваем нейрон, пока не получим правильную классификацию всех прецедентов.
Рассмотрим более подробно алгоритм. Начинаем с одного нейрона n ( X ) , называемого мастером. После его тренировки получаем разделение множества X на X + и X − . Если X + содержит вектора из двух классов, то вводим новый узел n( X + ) , называемый последователем. Таким образом, на первом слое нейронов находится один мастер и несколько последователей. Никакие вектора из разных классов не имеют одинакового выхода из первого слоя. X 1 = {y : y = f 1 ( x), x ∈ X },
33 где f1 – отображение, задаваемое первым слоем. Аналогичным образом строим второй слой, третий слой и т.д. Утверждение. При правильном выборе весов каждый очередной слой правильно классифицирует все вектора, которые правильно классифицировал мастер и еще хотя бы один вектор. Таким образом, получаем архитектуру, имеющую конечное число слоев, правильно классифицирующие все прецеденты. 5.4.2 Алгоритм ближайших соседей Нейроны первого слоя – это биссекторы, разделяющие пары. Второй слой – нейроны and , определяющие полиэдры. Третий слой – нейроны or , определяющие классы. Основным недостатком данного метода является слишком большое количество нейронов. Уменьшить количество нейронов можно путем удаления внутренних ячеек: Ri = {x : d ( x, xi ) < d ( x, x j ), i ≠ j}. 5.4.3 Алгоритм, основанный на подборе весов для сети с заданной архитектурой Идея данного метода состоит в том, чтобы ввести критерий в виде функции стоимости, которую необходимо минимизировать. Пусть L – число слоев в сети; k r – число нейронов в слое r , где r = 1,2,..., L ; k L – число выходных нейронов; k 0 = l – размер входа; x(i) = x1 (i ), x 2 (i),..., x k (i ) – входной вектор признаков;
( y (i ) = ( y (i ), y 1
0
2
(i ),..., y k L
) (i ) )
а – выходной вектор, который должен быть правильно
классифицирован. Текущем состоянии сеть при обучении дает результат yˆ (i) не совпадающий с y (i) . Обозначим: N
J = ∑ ε (i ) , i =1
где N – число прецедентов; ε (i ) – ошибка на i -ом прецеденте; 1 kL 2 1 kL 2 ε (i) = ∑ e m (i) = ∑ ( y m (i ) − yˆ m (i) ) , 2 m =1 2 m =1 где i = 1,2,..., N . J – функция всех синоптических весов и порогов. Таким образом, целью обучения является решение оптимизационной задачи: J (W ) → min , где W – множество синоптических весов.
34
Пусть y kr −1 – выход k -ого нейрона ( r − 1) -ого слоя; W jr – весовой вектор (включая порог) j -
(
)
ого нейрона в r -ом слое, т.е. W jr = W jr0 ,W jr1 ,...,W jkr r −1 , где k r −1 а – число нейронов в ( r − 1) -ом слое. Таким образом, J – разрывная функция M переменных, где L
M = ∑ k r −1 k r r =1
J разрывна, т.к. разрывна функция активации f : 1, x > 0 f ( x) = 0, x < 0 5.4.4 Алгоритм обратной волны Суть – аппроксимация J непрерывной дифференцируемой функцией за счет замены функции активации “сигмовидной” функцией: 1 f ( x) = 1 + e − ax Вычислим производную функции: 1 1 1 f ′( x) = ⋅ ae − ax = a − = af ( x)(1 − f ( x) ) − ax − ax 2 1 + e − ax 1+ e (1 + e ) При данном чисто формальном приеме вектора признаков уже могут отображаться не только в вершины, но и внутрь гиперкуба. Необходимо решить задачу минимизации: J (W ) → min Метод градиентного спуска решения задачи минимизации. Пусть W = W jr ; j = 1,2,..., k r ; r = 1,2,..., L . Тогда метод градиентного спуска выглядит так:
{
}
dJ , dW где µ а – шаг градиентного спуска. Очевидно, для его реализации необходимо уметь dJ градиент . dW jr ∆W = − µ
Вычисление градиента. Аргумент функции активации j -ого нейрона r -ого слоя k r −1
k r −1
k =1
k =0
V jr = ∑W jkr y kr −1 (i ) + W jr0 = ∑W jkr y kr −1 (i ) принимает различные значения в зависимости от индекса прецедента. В данном случае y 0r −1 (i) = 1 . Во входном слое, при r = 1 y kr −1 (i ) = x k (i ) , k = 1, 2,..., k 0 . В выходном слое, при r = L y kr (i ) = yˆ k (i ) , k = 1,2,..., k L . Рассмотрим выходной слой r = L .
35
( (
)
)
(
) ( ( ))
2 1 kL 1 kL 2 ε (i ) = ∑ (em (i) ) = ∑ f VmL (i ) − y m (i ) = ε VmL (i) = ε VmL WmL , i 2 m =1 2 m =1 L ∂ε (i ) ∂ε (i ) ∂V j ⋅ = ∂W jL ∂V jL ∂W jL
∂V jL ∂W
L j
= y r −1 (i ) – не зависит от j -ого номера нейрона в слое, т.е. имеем одинаковый вектор
производных для всех нейронов ( r − 1) -ого слоя. ∂ε (i) = f V jL (i) − y j (i ) ⋅ f ′ V jL (i ) = e j (i) ⋅ f ′ V jL (i) L ∂V j
( (
)
Следовательно, для последнего слоя
) (
)
(
∂ε (i ) = y r −1 (i ) ⋅ e j (i ) ⋅ f ′ V jL (i) L ∂W j
(
)
)
Рассмотрим скрытый слой r < L . Имеется зависимость: Vkr = Vkr V jr −1
(
)
kr ∂ε (i ) ∂ε (i ) ∂Vkr (i ) =∑ ⋅ ∂V jr −1 (i) k =1 ∂Vkr (i) ∂V jr −1 (i )
kr −1 r r −1 ∂Vkr (i) ∂ = ∑ Wkm y m (i) , ∂V jr −1 (i) ∂V jr −1 (i) m =0
но y mr −1 (i ) = f (Vmr −1 (i) ) , следовательно:
∂y rj −1 (i ) ∂Vkr (i ) r = Wkjr f ′ V jr −1 (i ) = W kj r −1 r −1 ∂V j (i ) ∂V j (i )
(
)
k r ∂ε (i ) ∂ε (i ) = Wkjr ⋅ f ′ V jr −1 (i ) ∑ r −1 r ∂V j (i ) k =1 ∂Vk (i) Сумма, заключенная в квадратных скобках, известна из предыдущего шага. Описание алгоритма. 0. Начальное приближение. Случайно выбираются веса небольших значений: W jkr ,
(
)
r = 1,2,..., L , j = 1,2,..., k r , k = 01,2,..., k r −1 .
1. Прямой проход. Для каждого вектора прецедента x(i ) , i = 1,2,..., N вычисляются все V jr (i ) ,
(
)
y rj (i ) = f V jr (i ) , j = 1,2,..., k r , r = 1,2,..., L . Вычисляется текущее значение ценовой функции J (W ) : Цикл по i = 1,2,..., N (по прецедентам): Вычислить: y k0 (i ) = x k (i ) , k = 1, 2,..., k 0 . y 00 (i ) = 1 . Цикл по r = 1,2,..., L (по слоям): Цикл по j = 1,2,..., k r (по нейронам в слое): k r −1
V jr (i ) = ∑W jkr ykr −1 (i) k =0
(
y (i ) = f V jr (i ) r j
)
36 Конец цикла по j . Конец цикла по r . Конец цикла по i . N 2 1 J (W ) = ∑ (y Lj (i ) − y j (i) ) i =1 2 2. Обратный проход. Для каждого значения i = 1,2,..., N и j = 1,2,..., k L вычисляется Затем последовательно необходимо вычислить
∂ε (i) . ∂V jL (i)
∂ε (i) для всех r = L − 1,...,1 и j = 1,2,..., k r : ∂V jr (i )
Цикл по i = 1,2,..., k r (по нейронам в слое): Вычислить: e j (i) = y Lj (i ) − y j (i )
(
)
δ jL (i) = e j (i) ⋅ f ′ V jr −1 (i ) Цикл по r = L, L − 1,...,2 (по слоям): Цикл по j = 1,2,..., k r (по нейронам в слое): e
r −1 j
kr
(i ) = ∑ δ kr (i) ⋅ Wkjr k =1 r −1 j
(
)
(i ) = e (i ) ⋅ f ′ V jr −1 (i ) Конец цикла по j . Конец цикла по r . Конец цикла по i . 3. Пересчет весов. Для всех r = 1,2,..., L и j = 1,2,..., k r W jr (new) = W jr (old ) + ∆W jr , где δ
N
∆W jr = − µ ∑ i =1
Ÿ Ÿ
Ÿ Ÿ
r −1 j
∂ε (i ) r −1 y (i ) . ∂V jr (i)
Останов алгоритма может происходить по двум критериям: либо J (W ) стала меньше порога, либо градиент стал очень мал. От выбора µ зависит скорость сходимости. Если µ мало, то скорость сходимости также мала. Если µ велико, то и скорость сходимости высока, но при такой скорости можно пропустить min . В силу много экстремальности существует возможность спустить в локальный минимум. Если данный минимум по каким-то причинам не подходит, надо начинать алгоритм с другой случайной точки. Данный алгоритм быстрее, чем алгоритм с обучением.
37
6 Метод потенциальных функций Рассмотрим множество прецедентов. Пусть каждый из них имеет поле притяжения. Берем новый объект и смотрим, каким классом притягивается. Пусть L = 2 – число классов. Обозначим эти классы через K1 и K 2 соответственно. Рассмотрим обучающую последовательность x1,..., xr , xr +1,..., xr . Без ограничения общности 1
1
2
будем считать, что x1 ,...., x r ∈ K 1 и x r +1 ,..., x r ∈ K 2 . Каждая точка образует в пространстве признаков X некоторое поле притяжения. Например, можно рассматривать каждую точку как единичный заряд. Поле описывается потенциалом, создаваемым системой зарядов во всем пространстве. В пространстве задана потенциальная метрика: K ( x, y ) – потенциальная функция, x, y ∈ X такая, что K ( x, y ) > 0 , при x ≠ y , ~ K ( x, y ) = K ( x, x + µ ( y − x )) = K ( µ ) , ~ ~ где K ( µ ) – монотонно убывающая функция и K (0) – ее максимальное значение. Пример. Пусть d ( x, y ) – расстояние в R 2 . Рассмотрим функцию K ( x, y ) = K ( d ( x, y )) . Пусть α – параметр функции. Рассмотрим два примера функций K ( x, y ) : 1
K ( x, y) = e−α K ( x, y ) =
2
d 2 ( x, y )
1
2
(рис. слева),
1 (рис. справа). 1 + α d 2 ( x, y ) 2
Пусть X и X – прецеденты первого и второго класса соответственно, y – пробный образ. Тогда потенциалы, создаваемые в пространстве точками из классов X и X будут иметь вид: K X ( y ) = ∑ K ( x, y ) , K X ( y ) = ∑ K ( x , y ) x∈ X
x∈ X
соответственно. Тогда правило классификации можно записать следующим образом: Если K X ( y ) > K X ( y ), то пробный образ y относится к классу X , иначе к классу X , при равенстве выдавать ответ «не знаю» (отказ от распознавания). Если рассмотреть дискриминантную функцию Φ ( x ) = K X ( x ) − K X ( x ) , то задача сводится к поиску этой функции по обучающей последовательности. Рассмотрим вариант метода потенциальных функций называется «наивным». Он имеет следующие недостатки. Если, например, в первом классе точек много больше, чем в остальных, то голоса первого класса подавят голоса других классов, то есть потенциал o больше потенциала x (рис. слева). Но даже, если множества соизмеримы, могут возникнуть проблемы другого характера, например, погружение одних точек в другие (рис. справа). Поэтому наивный метод подлежит усовершенствованию.
38
6.1
Общая рекуррентная процедура
Пусть {ϕ i (x)} – конечная или бесконечная система функций на X . Будем искать дискриминантную функцию в виде Φ ( x ) = ∑ c iϕ i ( x) . i
Требования к рассматриваемому ряду: Для бесконечного ряда требуем поточечную сходимость. Также желательно, чтобы ci убывали быстро с ростом i . Это необходимо для обеспечения хорошего совпадения “обрезанного” бесконечного ряда с Φ (x) . Итак, пусть {ϕ i (x)} – базовая система функций. В качестве потенциальной функции будем рассматривать функцию вида K ( x, y ) = ∑ λ2i ϕ i ( x)ϕ i ( y ) , i
где λi удовлетворяет условиям: K ( x, y ) = ∑ψ i ( x )ϕ i ( y ) .
∑λ
2 i
< ∞ и λi ≠ 0 . Обозначим ψ i ( x) = λiϕ i ( x) . Тогда
i
i
Предположим, что K ( x, x) = ∑ψ i2 ( x ) ≤ M = const , i
Тогда K ( x, y ) = ∑ψ i ( x )ϕ i ( y ) ≤ M . i
Для приближения Φ(x ) предлагается рекуррентная процедура, называемая общей рекуррентной процедурой: Φ n +1 ( x) = q n * Φ n ( x) + rn * K ( x n +1 , x) , n = 1, 2,.. . Пусть {xn +1 } – обучающая последовательность прецедентов; q n , rn – некоторые числовые последовательности, которые должны задаваться так, чтобы обеспечить сходимость Φ n (x) к Φ (x) при n → ∞ в том или ином смысле. Зададим начальное приближение Φ 0 ( x ) = 0 . Как уже отмечалось, мы ищем функцию Φ (x) в виде: ∞
Φ ( x ) = ∑ c iϕ i ( x ) . i =1
39 Мы сделали достаточно сильное допущение, сказав, что наше решение будем выражать через базовую систему функций. Т.е. мы априорно предполагаем, что Φ n (x) разложимо по системе функций {ϕ i (x)} : ∞
∞
i =1
i =1
K ( x, y ) = ∑ λ2i ϕ i ( x)ϕ j ( x ) и Φ k ( x ) = ∑ cikϕi ( x) .
Тогда, учитывая, что K ( x n+1 , x) = ∑ψ i ( x n+1 )ψ i ( x) , получаем:
∑c i
i
ϕ i ( x ) = q n ∑ c ϕ i ( x) + rn ∑ψ i ( x n +1 )ψ i ( x) .
n +1 i
n i
i
i
Обозначим через ck cik = i , i, k = 1, 2,... λi Тогда cin +1ψ i ( x) = q n cinψ i ( x ) + rnψ i ( x n +1 )ψ i ( x ) . Откуда получаем вторую форму общей рекуррентной процедуры: cin +1 = q n cin + rnψ i ( x n +1 ) .
Для нахождения связи коэффициентов {cik } и {cik +1} воспользуемся второй формой для формулы общей рекуррентной процедуры и соотношением cik k , i, k = 1, 2,... ci = λi Получим соотношение, связывающее коэффициенты {cik } и {cik +1 }:
cin+1 = q n cin + rnψ i ( x n +1 ) , где ψ i = λiϕ i (x ) . λi Для возможности итерационных вычислений необходимо понять, как вычислять параметры q n и rn , а также начальное приближение ci0 . Зададим функцию K ( x, xi ), при x i ∈ X Φ i ( x) = , − K ( x, xi ), при x i ∈ X где ∞
K ( x, x m ) = ∑ λ 2i ϕ i ( x)ϕ i ( x m ) и ci0 = ± (λ2i ϕ i ( x1 )) . i =1
Тогда процесс перехода от Φ n к Φ n +1 суть процесс подсчета коэффициентов. Обычно q n = 1 , rn вычисляется по следующему правилу: 0, если Φ n (x n +1 ) > 0 и x n +1 ∈ X 0, если Φ n (x n +1 ) < 0 и x n +1 ∈ X . rn = 1, если Φ n (x n +1 ) < 0 и x n +1 ∈ X − 1, если Φ n (x n +1 ) > 0 и x т +1 ∈ X Возьмем следующее начальное приближение: K ( x, x), при x 1 ∈ X Φ 1 ( x) = − K ( x, x ), при x 1 ∈ X
40 Таким образом, при правильном определении Φ n +1 получаем, что Φ n +1 ( x ) = Φ n ( x ) ; а в случае ошибки Φ ( x) + K ( x n+1 , x), при x n +1 ∈ X Φ n+1 ( x ) = n Φ n ( x) − K ( x n+1 , x), при x n +1 ∈ X Данный процесс напоминает обучение в алгоритме персептрона. Возникают следующие естественные вопросы: Есть ли поточечная сходимость функции Φ n (x) к Φ (x) ? Где взять базисные функции ϕ i (x ) в многомерном пространстве? Попробуем ответить на эти вопросы. Рассмотрим аналогию данного алгоритма с алгоритмом персептрона. Для функции ∞
Φ n ( x ) = ∑ c ik ϕ i ( x ) i =1
произведем замену ϕ i ( x ) = z i и z = ( z1 , z 2 ,.....) , z ∈ Z – это вектор в бесконечномерном пространстве, тогда ∞
∞
i =1
i =1
Φ ( x ) = ∑ c iϕ i ( x ) = ∑ c i z i ,
где z – спрямляющее пространство. Таким образом, если Φ ( x) > 0 или Φ ( x) < 0 , то ∞
∑ ci zi > 0 или i =1 k i
∞
∑c z i =1
< 0 соответственно. Пусть xk ∈ X U X , тогда xk → ( z1k , z 2k ,...) и
i i
z = ϕ i ( xk ) .
Выбор системы функций
6.2
Система функций {ϕ i (x)} задается априорно. Обычно используют некую полную систему функций, например, на конечном отрезке можно взять систему тригонометрических функций. Эта система к тому же ортогональна. Утверждение. Если задана полная ортогональная система функций одной переменной, то можно построить полную ортогональную систему функций любого числа переменных. Доказательство. Пусть {ϕ i (x)} – полная ортогональная система функций на конечном интервале I . Рассмотрим систему ϕ i ,...,i ( x1 ,..., x m ) = ϕ i ( x1 ),..., ϕ i ( x m ) , i1 ,..., im = 0,1,2,...
{
1
m
1
m
}
Эта система полна и ортогональна на декартовом произведении m экземпляров I , то есть на 1 I ×42 I × ..... ×I . 43 m раз
Проверим ортогональность. В скалярном произведении двух различных функций ϕ i ,...., i 1
m
и ϕ j ,..., j : 1
m
∫ ...∫ (ϕ I
i1 ,..., im
, ϕ j1 ,..., jm ) dx1...dxm
I
всегда найдется такое k , что ϕ i ( x k ) ≠ ϕ j ( x k ) и, в силу ортогональности системы {ϕ i (x)} , имеем: ∫ (ϕik ( xk ),ϕ jk ( xk ))dxk = 0 . k
k
I
Далее, пусть F ( x1 ,.., x m ) – произвольная функция m переменных. Фиксируем все переменные, кроме x1 , и получаем разложение функции F :
41 F = ∑ c i1 ( x 2 ,.., x m )ϕ i1 i1
Повторяем это рассуждение для ci последовательности m − 1 раз: F ( x1 ,..., xm ) =
∑c
i1 ...im
`1
ϕi1 ( x1 )....ϕ im ( xm ) ,
i1 ,..., i m
что и доказывает полноту системы ϕi ,...,i ( x1 ,..., xm ) , i1 ,..., im = 0,1, 2,...
{
1
}
m
ч.т.д.
6.3
Сходимость общей рекуррентной процедуры
Предположим, что обучающая последовательность есть выборка конечного объема из ~ ~ пространства X ( X – пространство признаков). Тогда последовательность {Φ n (x)} есть последовательность случайных функций, и последовательность ci – последовательность случайных чисел. Поэтому будем говорить о сходимости {Φ n (x)} в вероятностном смысле, то есть либо по вероятности, либо с вероятностью равной 1, либо в среднем. ~ Пусть x – случайные величины из X , а X , X – выборка для конечного объекта. Теорема. Пусть заданы два множества X и X и выполнены следующие условия. 1) Существует функция Φ (x) такая, что Φ ( x) ≥ ε , при x ∈ X , Φ ( x ) ≤ −ε , при x ∈ X , где константа ε > 0 . 2) Задана система функций {ϕ i (x)} , i = 1,2,... такая, что Φ ( x ) = ∑ c iϕ i ( x) , i
K ( x, y ) = ∑ λ2i ϕ i ( x)ϕ i ( y ) , i
2
ci < ∞ . i i 3) Точки из обучающей последовательности независимые случайные величины, с одной и той же плотностью p (x) . Тогда общая рекуррентная процедура, определяемая формулой Φ n +1 = q n Φ n + rn K ( x, x n+1 ) ,
∑ λ
где Φ1 ( x) = 0 , q n = 1 и 0 , если Φn(xn+1 ) > 0 и xn+1 ∈ X 0 , если Φn(xn+1 ) < 0 и xn+1 ∈ X rn = 1, если Φn(xn +1 ) < 0 и xn +1 ∈ X − 1, если Φn(xn +1 ) > 0 и xт +1 ∈ X сходится в следующем смысле: Ε[ signΦ( x) − signΦ n ( x) ] → 0 , при n → ∞ . Теорема. Пусть выполнены все условия предыдущей теоремы. Пусть также на каждом n -ом шаге работы общей рекуррентной процедуры существует строго положительная вероятность исправления ошибки, если функция Φ n (x) к n -ому шагу еще не разделила
42 классы K1 и K 2 . Пусть с вероятностью единица для каждой реализации процедуры существует конечное число l такое, что Φ l (x ) – правильно разделяет X и X , Z – конечный интервал на прямой ( Z ∈ R 1 ), {ϕ i (x)} – полная ортогональная система функций, ϕ i ( x) : Z → R 1 ,
∫ ϕ ( x)ϕ i
j
( x )dx = 0 при i ≠ j .
Z
Тогда система функций ϕ i ,...., i ( x1 ,..., x m ) = ϕ i ( x1 ) * ...... * ϕ i ( x m )
{
1
m
1
m
}
полна и ортогональна на пространстве Z ×2 ...× Z. 1 4 4 3 m раз
Доказательство. Ортогональность очевидна. Докажем полноту. Пусть F ( x1 ,.., x m ) – произвольная функция в Z m такая, что Z m → R 1 . Фиксируем переменные начиная с x2 , тогда ∞
∞
i =1
i =1
F = F ( x1 ) = ∑ ci ( x1 ,..., x m ) ⋅ ϕ i ( x1 ) , где ci ( x 2 ,..., x m ) = ∑ c i ( x3 ,..., x m ) ⋅ ϕ i ( xl ) .
ч.т.д.
6.4
Функции Эрмита
Если в качестве системы функций {ϕ i (x)} взять функции вида ϕ i ( x) =
1
(2 i! π ) i
1
e
−
x2 2
H i ( x) ,
2 i
2 d где H i ( x) = (−1) e e − x – полином Эрмита. dx Тогда
i
x2
∞
K ( x, y ) = ∑ λi2ϕ i ( x)ϕ j ( x ) . i =0
Обозначим α i = λ2i , где α < 1 , тогда K ( x, y ) =
2 xyα − ( x 2 + y 2 )α 2 exp . 1− α 2 π (1 − α 2 ) 1
43
7 КОМИТЕТНЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ РАСПОЗНАВАНИЯ 7.1
Теоретико-множественная постановка задачи выбора алгоритма.
Байесовский подход исходит из статистической природы наблюдений. За основу берется предположение о существовании вероятностной меры на пространстве образов, которая либо известна, либо может быть оценена. Цель состоит в разработке такого классификатора, который будет правильно определять наиболее вероятный класс для пробного образа. Тогда задача состоит в определении “наиболее вероятного” класса. Пусть J – индексное множество; D j , j ∈ J – подмножество некоторого множества
{
}
(например, множества алгоритмов); D = D j j ∈ J – система подмножеств. Пусть Y – множество, в котором необходимо найти решение. Задача заключается в нахождении такого элемента y ∈ Y такое, что y ∈ D j ∀j ∈ J . Пример. Пусть X 1 = {x1 , x 2 ,..., x m }, X 2 = {x m +1 , x m + 2 ,..., x m }, x j ∈ Ω , J = {1,2,..., m}. 1
1
1
0, x ∈ X 1 F : Ω → {0,1} так, что F ( x) = 1, x ∈ X 2 Тогда D j – множество алгоритмов, дающих правильную классификацию x j : 0,1 ≤ j ≤ m1 D j = F F : Ω → {0,1}, F ( x j ) = , j = 1,2,..., m 1, иначе Определение. Пусть J ′ ∈ J , D′ = D j j ∈ J ′ . Тогда система подмножеств называется совместной, если
ID J′
{
j
}
D′
≠∅.
В примере условием совместности является не пересекаемость множеств X 1 и X 2 . Тогда, очевидно, что в пересечении I D j лежит Φ : Ω → {0,1}, где J
0,1 ≤ j ≤ m1 Φ( x j ) = 1, иначе
Тогда возникает вопрос: что делать, если D ∗ = I D j = ∅ ? Существует два способа j∈J
решения данной проблемы: ~ ~ ~ Смягчить условия, описывающие D j , т.е. построить D = D j j ∈ J , D j ⊆ D j .
{
}
{
}
Решить задачу поиска максимальных совместных подсистем системы D′ = D j j ∈ J , J′ ⊂ J Определение. Теоретико-множественная задача называется разрешимой в классе Y , если Y I D ∗ ≠ ∅ , где D ∗ = I D j . j∈J
7.2
Комитеты
Нас интересует случай, когда теоретико-множественная задача не разрешима. Идея комитетного метода распознавания состоит в использовании нескольких классификаторов,
44 каждый из которых дает свой результат. Далее по какому-либо общему правилу голосования на основе полученных результатов от каждого классификатора выдается итоговый результат. Определение. Для исходной системы D и числа p : 0 ≤ p < 1 конечное подмножество K ⊆ Y называется p -комитетом в классе Y , если для всех j ∈ J выполнено неравенство K I D j > p K (относительная доля K , лежащая в D j , превосходит p ). Если p =
1
2
, то
p -комитет называется просто комитетом. Пример комитета для несовместной системы. Рассмотрим задачу исключающего или. x0 = (0,0) , x1 = (1,1) ,
x2 = (0,1) , x3 = (1,0) . Пусть D а – множество линейных классификаторов. Опишем множество D∗ : D0 = {F : F ( x0 ) = 0}, D1 = {F : F ( x1 ) = 0} , D2 = {F : F ( x2 ) = 1},
D ∗ = D0 I D1 I D2 I D3 ≠ ∅ .
D3 = {F : F ( x3 ) = 1} ,
Пусть
Y = D . Построим комитет K = { f1 , f 2 , f 3 } ⊂ D : 1 f1 = − x1 + x 2 − > 0 f1 ∈ D0 I D1 I D2 2 1 f 2 = x1 − x 2 − > 0 f1 ∈ D0 I D1 I D3 2 3 f 3 = − x1 − x 2 + > 0 f1 ∈ D1 I D2 I D3 2 z1 z2 f1 Класс x0 0 0 B(0) 0
x1 x2 x3
1 0 1
1 1 0
B(0) A(1) A(1)
0 1 0
f2 0 0 0 1
f3 1 0 1 1
K I D0 = { f1 , f 2 } ,
K I D1 = K ,
K I D2 = { f 1 , f 3 } , K I D3 = { f 2 , f 3 }. K I Dj ≥ 2 >
1 3 K = . 2 2
Следовательно, K есть комитет в классе линейных классификаторов. Определение. Пусть A, B ⊆ Ω (подмножества, возможно, бесконечные)
и ~ F = {F F : Ω → R} – класс функционалов. Набор функционалов {F1 , F2 ,..., Fq } называется разделяющим комитетом для множеств A и B , если {k Fk (a) > 0} > 1 q , ∀a ∈ A 2 1 {k Fk (b) > 0} > q , ∀b ∈ B 2 Утверждение. Чтобы набор {F1 , F2 ,..., Fq } был разделяющим комитетом для A и B необходимо, чтобы для каждой пары a ∈ A и b ∈ B нашелся такой Fk , что Fk (a ) > 0 и Fk (b) < 0 . Доказательство. Если na – число функционалов Fk (a ) > 0 , nb – число функционалов Fk (b) > 0 , то 1 1 na + nb > q + q = q 2 2 И, т.к. найдется функционал, обладающий обоими свойствами, утверждение доказано.
45 ч.т.д. Теорема. Пусть Ω = R l , l ≥ 2 ; A = {x1 , x 2 ,..., x m }, B = {x m +1 , x m 1
1
2 +2
}
,..., x m , 0 < m1 < m . И
пусть x k = 0 , ∀k = 1, 2,..., m (нет нулевой точки); xi ≠ x jα , α ≠ 0 , ∀i, j, α (не коллинеарны). Тогда для таких A и B существует разделяющий комитет в классе аффинных ~ функционалов: F = F F ( x) = (W , x ) + W 0 ,W ∈ R l , W 0 ∈ R .
{
}
Доказательство. Построим комитет из 2m − 1 элементов (функционалов): K = {F1 , F1′, F2 , F2′,..., Fm −1 , Fm′ −1 , Fm } Для каждого функционала необходимо найти Wk и Wk0 в – пару, которая определяет
функционал Fk = (Wk , x ) + Wk0 , причем
(Wk , xr ) ≠ 0 , т.е. Wk
( x k , Wk ) = 0 ,
т.е. Wk ⊥ S k и ∀r ≠ k , r = 1,2,..., m
не ортогонален остальным xr . Другими словами каждая гиперплоскость должна иметь направляющий вектор, ортогональный своему прецеденту и не ортогональный всем остальным. 1 Пусть δ k = min (Wk , x r ) > 0 . Выберем Wk0 следующим образом: 2 r ≠k δ , при k = 1, 2,..., m1 Wk0 = k − δ k , при k = m1 + 1,..., m Fk′ ( x) = −(Wk , x ) + Wk0
Fk ( x) = (Wk , x ) + Wk0 Покажем, что построенное множество функционалов является комитетом для A и B . Рассмотрим > 0, k ≤ m1 Fk ( x k ) = (Wk , x k ) + Wk0 = Wk0 = < 0, k > m1
> 0, k ≤ m1 Fk′ ( x k ) = −(Wk , x k ) + Wk0 = Wk0 = < 0, k > m1 Fk′ (x ) и Fk (x ) правильно классифицируют x k . Посмотрим, как будет работать каждй такой функционал на остальных xr : Fk ( x r ) = (W k , x k ) + W k0
Т.к. Wk0 < (Wk , x k ) , то знак Fk ( x r ) определяется знаком (Wk , x r ) . Рассмотрим 1 ≤ k ≤ m − 1 . Fk′ ( x k ) и Fk ( x k ) голосуют правильно, т.е. x k соответствует правильное положение гиперплоскостей. Fk′ ( x r ) и Fk ( x r ) имеют разные знаки. Следовательно, каждая пара Fk′ и Fk правильно классифицирует на всех x k и дает одну правильную классификацию на остальных xr . Таким образом, количество правильно голосующих за x k равно 2 + ( m − 2) = m . ч.т.д.
7.3
Комитеты линейных функционалов
Пусть A = {x1 , x 2 ,..., x m }, B = {x m +1 , x m 1
1
2 +2
}
,..., x m , A, B ⊆ R l в – конечные множества в
пространстве признаков; x1 , x 2 ,..., x m – точки общего положения. Определение. Точки x1 , x 2 ,..., x m пространства R l называются точками общего положения, если никакая l + 1 точка не лежит в гиперплоскости размерности l − 1 .
46 Пример. Пусть l = 2 , т.е. рассматривается пространство R 2 (плоскость). Тогда точки x1 , x 2 ,..., x m – точки общего положения, если никакие три из них не лежат на одной прямой. Теорема. Существует разделяющий комитет аффинных функционалов, состоящий из не более, чем m членов при нечетном m и не более, чем m − 1 при четном m . Доказательство. Рассмотрим случай l = 1 , т.е. пространство R1 . Пусть m = 2 , m1 = 1 . Тогда возможны два случая.
Для первого случая (рис. слева) функционал имеет вид: x + x2 F ( x) = x − 1 2 Для второго случая (рис. справа) функционал имеет вид: x + x2 F ( x ) = − x − 1 2
k = 1 – количество функционалов для худшего случая. Пусть m = 3 , m1 = 2 . Тогда возможны следующие варианты.
Все случаи вида показанного на рис. слева сводятся к предыдущему ( m = 2 , m1 = 1 ). Во всех остальных случаях функционалы надо располагать аналогично рис. справа. Для худшего случая k = 3 . Пусть m = 2n (четное количество точек). Рассмотрим худший из возможных вариантов.
В данном случае функционалы надо располагать как показано на рис. k = m − 1 . Пусть m = 2n − 1 (нечетное количество точек). Рассмотрим худший из возможных вариантов.
В данном случае функционалы надо располагать как показано на рис. k = m . Все остальные случаи можно свести либо к этим двум, либо к предыдущим.
47 Таким образом, по методу математической индукции существует разделяющий комитет аффинных функционалов из не более, чем m членов при нечетном m и не более, чем m − 1 при четном m в пространстве R1 . Многомерный случай сводится к одномерному следующим образом. Ищем подпространство W ∈ R l такое, что (W , xi ) ≠ (W , x j ) , при i ≠ j . Проектируем все xi на соответствующие подпространства, пока не получим одномерную задачу. В многомерном случае для разделения xi и x j служит гиперплоскость:
(W , x ) = 1 [(W , xi ) + (W , x j )] 2
ч.т.д.
7.4
Функция Шеннона
Пусть Ln (m1 , m − m1 ) – это число гиперплоскостей, достаточное для разделения любых
точечных множеств m1 и m − m1 точек общего положения в пространстве R n . Лемма 1. Если m1 ≤ m − m1 , то m Ln (m1 , m − m1 ) ≤ 2 1 n Доказательство. Если m1 ≤ n , то добавим точки общего положения до n . Через n точек из m1 проводим гиперплоскость: F ( x1 ) = F ( x 2 ) = ... = F ( x n ) = 0 Для x k такого, что k > n F ( x k ) ≠ 0 . 1 Выберем ε = min F ( xi ) и возьмем гиперплоскости G1 = F + ε и G2 = F − ε . G1 и G2 2 n
кривая в R l такая, что r (0) ∈ A , а r (1) ∈ B , то существует k ∈ {1,2,..., q} и t 0 ∈ (0,1) такие, что Wk , r (t 0 ) = 0 . Утверждение 2. Любая гиперплоскость пересекает кривую r (t ) не более, чем в n точках. Доказательство. Рассмотрим линейный функционал W . Запишем условие пересечения гиперплоскости и кривой r (t ) : (W , r (t ) ) = 0 . Кривая r (t ) задана многочленом степени n . Следовательно, (W , r (t ) ) – то же многочлен степени n . Значит, уравнение (W , r (t ) ) = 0 является уравнением степени n . Следовательно, т.к. корни могут быть кратными, данное уравнение имеет не более n корней. ч.т.д.
(
0
)
48 2m − 1 Лемма 2. Ln (m1 , m − m1 ) ≥ 1 . n Доказательство. Построим Ln (m1 , m − m1 ) . Рассмотрим последовательность точек: 0 < t1 < t 2 < ... < t m = 1
(
)
Пусть r (t ) = (r1 , r2 ,..., rn ) , где ri = ri (t ) = t i , i = 1,2,..., n . Тогда x j = r (t j ) = t j , t 2j , t 3j ,..., t nj – точки в R . Без ограничения общности положим x j ∈ A , при j нечетном, n
и x j ∈ B , при j четном. Тогда получим непрерывную кривую (см. рис). Каждая гиперплоскость дает не более, чем n пересечений. Кривая должна иметь ( m − 1) разделение, т.е. должно быть ( m − 1) гиперплоскостей. Следовательно, всего гиперплоскостей должно m − 1 m − 1 быть не менее, чем , т.е. Ln (m1 , m − m1 ) ≥ n n m = 2m1 , при четном m m 2 , при четном m , то . Т.к. m1 = ( m −1) m = 2m1 + 1, при нечетном m 2 , при нечетном m Следовательно, 2m Ln (m1 , m − m1 ) ≥ 1 , при нечетном m , n 2m − 1 Ln (m1 , m − m1 ) ≥ 1 , при четном m . n 2m − 1 Окончательно получаем: Ln (m1 , m − m1 ) ≥ 1 , ∀m . n ч.т.д. Пример. Пусть m = 5 , m1 = 2 , n = 2 . Обозначим A = {x1 , x3 , x5 } и B = {x 2 , x4 }. Тогда 2 ⋅ 2 − 1 Ln ( m1 , m − m1 ) = L2 ( 2,3) ≥ =2 и 2 2 Ln ( m1 , m − m1 ) = L2 ( 2,3) ≤ 2 ⋅ = 2 2 §5. Метод построения комитета. Пусть X – множество прецедентов; l в – размерность пространства признаков; m1 и m − m1 – количество прецедентов в каждом классе. Построим W (x ) – линейный функционал такой, что, если W ( x k ) > 0 , то объект из класса A ( k = 1,2,..., m1 ), и, если W ( x k ) < 0 , то объект из класса B ( k = m1 + 1, m2 + 2,..., m ). Если данный функционал правильно классифицирует меньше половины объектов, то возьмем его со знаком минус. Итак, пусть линейный функционал W (x ) правильно классифицирует больше половины объектов. Разобьем множество прецедентов X на множество правильно классифицированных объектов X 1 и множество неправильно классифицированных объектов
X 1 , т.е. X = X 1 U X 1 .
49 Далее строим последовательно пары функционалов Ws и Ws′ : W1 ,W2 ,W2′,W3 ,W3′,...,Ws ,Ws′ Делаем
очередной
шаг.
X = X s U X s′ .
Пусть
на
Xs
–
(s )
правильно
классифицированных объектов, а на X s – ( s − 1) правильно классифицированных объектов. Строим пару Ws +1 , Ws′+1 . В X s выделяем l точек одного класса. Эти точки можно перевести
в X s +1 , т.е. X s +1 = X s + {l точек} , а X s +1 = X s . На каждом шаге множество неправильно классифицированных объектов уменьшается на l , следовательно, процесс сходится. m 1 m Общее число функционалов: 1 + 2 ⋅ ⋅ = 1 + . 2 l l Теорема. Существует комитет линейных функционалов, в котором число членов не m превосходит + 1 . l
50
8 Классификация на основе сравнения с эталоном. Пусть задано множество образов (эталонов). Задача состоит в том, чтобы для тестируемого объекта выяснить, какой эталон ближе на основе меры сходства (расстояния между объектами). Данная задача и получила название “сравнение с эталонами”. В качестве эталонов могут рассматриваться следующие объекты: 1) Буквы в словах рукописного текста (применительно к распознаванию рукописного текста); 2) Силуэты объектов в сцене (применительно к машинному зрению); 3) Слова (команды), произносимые человеком (применительно к распознаванию речи). В этих примерах признаки не выделены, но можно измерить сходство. Например, сравнение слов: кошка ~ мошка ~ кора ~ норка и.т.д. Или силуэт объекта в сцене, чье положение и ориентация заранее не известны (применительно к машинному зрению, робототехнике).
8.1
Мера близости, основанная на поиске оптимального пути на графе
Рассмотрим строчный образ (слово). В данном случае можно выделить два критерия, на основе которых можно строить меру близости: совпадение букв, монотонность (совпадение порядка букв). Пусть r1 r2 ...rI& – эталон, t1t 2 ...t J& – пробный образ, причем I& ≠ J& . Построим соответствие между эталоном и пробным образом по следующему правилу: каждому символу в первом слове должен соответствовать хотя бы один символ во втором слове и каждому символу во втором слове должен соответствовать хотя бы один символ в первом слове, (но соответствие между символами не взаимнооднозначное, в частности, поскольку I& ≠ J& ). Введем меру следующим образом: 1, r ≠ t ρ (ri , ti ) = i i 0, ri = ti В качестве меры сходства двух слов принимаем соответствие, при котором суммарный вес всех дуг (изображенных на рисунках) минимален: ν (r , t ) = min µ (S ) , где µ ( S ) = ∑ ρ ( ri , t j ) . S
( i , j )∈S
Через ν ( r , t ) далее будем обозначать меру близости двух слов r и t . Соответствие S должно быть двудольным графом без изолированных вершин с непересекающимися ребрами. Рассмотрим задачу сравнения цепочек упорядоченных символов. В данной задаче могут возникать следующие ошибки: неправильно определенный символ (кошка – корка), ошибка вставки (кошка – кошрка), ошибка потери (кошка – кшка). Определение. Редакторским расстоянием называется минимальное общее число изменений, вставок и потерь, требуемое для изменения образа A в образ B :
51 D ( A, B) = min C ( j ) + I&( j ) + R( j ) , j
где минимизация происходит по всем возможным комбинациям символьных преобразований таких, чтобы получить B из A . Пусть 1, при t (i) = r (i) . d (i, j | i − 1, j − 1) = 0, при t (i) ≠ r (i ) Тогда d ( i, j | i − 1, j ) = d ( i, j | i, j − 1) = 1 . Построим таблицу, в которой столбцы – это символы образа, строки – символы эталона. Количество точек в матрице есть I& ⋅ J& . По данной таблице построим граф по следующему правилу. Если отображается точка (r2 , t1 ) , то далее выбираем (r2 , t2 ) , (r3 , t2 ) или (r3 , t1 ) (т.е. возможны три варианта). Соответствие слов реализуется в виде маршрута в графе. Этот маршрут обязательно начинается с точки (r1 , t1 ) (иначе появится изолированная точка) и заканчивается в ( rI& , t J& ) .
r1 r2 r3 M rI&
t1
t2
t3
o o o M
o o o M
o o o M
o
o
o
L L L L O L
tI&
o o o M o
Таким образом, получили задачу выбора кратчайшего пути на графе от точки (r1 , t1 ) до точки ( rI& , t J& ) , где каждая вершина имеет свою стоимость: 0 или 1.
8.2
Задача сравнения контуров
В качестве примера рассмотрим задачу сравнения контуров. Контура изображаются ломаными линиями, вершины которых будем называть узлами. Пусть заданы две линии – эталон и тестируемый объект. Используем следующую модель для сравнения объектов. Будем считать, что они изготовлены из проволоки и будем сравнивать близость этих ломаных путем оценки величины механической работы, которую нужно выполнить, чтобы преобразовать один объект в другой. Определим элементарную работу, которую надо совершить для перевода отдельных прямолинейных элементов ломаных. Достаточно рассмотреть два основных вида деформаций: растяжение (сжатие) и изгиб в узлах. Каждой такой деформации припишем элементарную работу: f (| l1 − l2 |) – работа по изменению длины при растяжении и сжатии, f (| ϕ1 − ϕ 2 |) – работа по изменению угла при изгибе. Задача состоит в поиске такого преобразования, чтобы затраченная работа была минимальной, т.е. надо найти f Σ → min . S
52 Эта задача сводится к установлению соответствия узлов одной ломаной узлам другой. При этом не требуется взаимно-однозначное соответствие, но требуется сохранение монотонности. Задача установления такого соответствия, которое минимизирует общую работу по деформации ломаных, также сводится к поиску минимального пути на графе такого же типа, как и рассмотренный в предыдущем пункте. В графе каждая дуга получает вес f (| l1 − l2 |) – работу по сжатию или растяжению, а для каждой вершина – вес f (| ϕ1 − ϕ 2 |) – работу по изменению угла.
8.3
Задача сравнения речевых команд
В обработке речи можно выделить следующие основные направления: Распознавание отдельных слов (IWR – Isolated Word Recognition), Распознавание слитной речи (CSR – Continuous Speech Recognition). CDR – Speaker Dependent Recognition, SIR – Speaker Independent Recognition. Ядром IWR-систем является совокупность эталонов и мера. Отрезок сигнала (см. рис.) [0, T ] разбивается на сегменты, т.е. сигнал квантуется (с перекрытием). С каждым сегментом связывается вектор коэффициентов Фурье. Обработка звука происходит в два этапа. Первый этап. Строим цепочку r (i ) , i = 1,..., I& – разговорные сегменты. Далее строим преобразование Фурье с разбиением на t f = 512 отрезков. Обозначим через xi (n) , n = 0,...,511 – отчеты для i -ого сегмента, i = 1,.., I& . Тогда X i (m) =
1
511
2π
∑ x (n) ⋅ exp − j 512 , m = 0,..., 511 . 512 n =0
i
Рассмотрим первые l , l << t f (пусть l ≈ 50 ), коэффициентов Фурье в качестве вектора признаков: X i (0) X (1) , i = 1,..., I& . r (i ) = i M X i (l − 1) Второй этап. Определяем ограничения в графе соответствия сегментов эталонной и тестируемой команд. Глобальные ограничения – ограничения поля для оптимального маршрута, например, i − j ≤ k (рис. слева). Локальные ограничения – монотонность на сети маршрутов (рис. справа), Ограничения конечной точки, Стоимость d – Евклидово расстояние между r (ik ), t ( j k ) :
d (ik , j k | ik −1 , j k −1 ) = r (ik ) − t ( j k ) = d (ik , j k ) .
53
Таким образом, и эта задача также сводится к поиску кратчайшего пути на графе.
8.4
Динамическое программирование
Задача поиска кратчайшего пути на графе может быть решены методом динамического программирования. Пусть (i0 , j0 ) – начальный узел (отправной город), (i f , j f ) – конечный узел (город – пункт назначения). Тогда задача состоит в поиске оптимального маршрута через промежуточные узлы (города): opt (i0 , j0 ) →(i f , j f ) . Пусть (i, j ) – промежуточный узел. Тогда по принципу оптимальности Беллмана имеем opt opt opt (i0 , j0 ) →(i f , j f ) = ( (i0 , j0 ) →(i, j ) ) ⊕ ( (i, j ) →(i f , j f ) ) , причем Dmin (ik , j k ) = min [Dmin (ik −1 , j k −1 ) + d (ik , j k | ik −1 , j k −1 )] . ( ik −1 , jk −1 )
54
9 КОНТЕКСТНО-ЗАВИСИМАЯ КЛАССИФИКАКЦИЯ 9.1
Постановка задачи
Рассмотренные ранее задачи предполагали, что нет зависимости между различными классами, т.е. имея вектор x из класса Ωi , мы могли получить следующий вектор из любого класса. Далее мы будем предполагать зависимость классов, т.е. классификация каждого нового вектора осуществляется в зависимости от классификации предыдущих векторов. Выбор класса, к которому следует отнести вектор, зависит от его собственного значения, значений других векторов, существующих отношений между различными классами. Такие задачи возникают во многих приложения: распознавание речи, обработка изображений и др. Эта классификация называется контекстно-зависимой. Отправной точкой является Байесовский классификатор. Но зависимость между различными классами требует более общей формулировки проблемы. Общая информация, которая присутствует в векторах, требует, чтобы классификация была выполнена с использованием всех векторов одновременно и также была организованна в той же последовательности, в которой получена в экспериментах. Поэтому мы будем называть вектор признаков наблюдением, выстроенным в последовательность x1 , x2 ,..., xN из N наблюдений.
9.2
Байесовский классификатор
Пусть X = ( x1 , x2 ,..., xN ) – последовательность N наблюдений и ωi , i = 1, 2,..., M – классы, в которые эти вектора можно классифицировать. Пусть также Ωi = (ωi1 , ωi2 ,..., ωiN ) – одна из возможных последовательностей соответствия классов последовательности наблюдений, где ik ∈ {1, 2,..., M } , k = 1, 2,..., N . Общее число таких последовательностей классов Ωi есть M N . Задача заключается в том, чтобы решить, к какой последовательности классов отнести последовательность наблюдений. Это эквивалентно отнесению x1 к ωi1 , x2 к ωi2 и т.д.
Подходом к решению проблемы является рассмотрение каждой конкретной последовательности X как расширенного вектора признаков на Ωi , i = 1, 2,..., M N как на возможных классах. В данном случае Байесовское правило P (Ω i | X ) > P (Ω j | X ) , при i ≠ j эквивалентно P (Ω i ) p ( X | Ωi ) > P (Ω j ) p ( X | Ω j ) , при i ≠ j . Рассмотрим, как это правило выглядит для некоторого типичного класса контекстнозависимых моделей.
9.3
Модель Марковской цепи
Одна из наиболее используемых моделей, описывающих зависимость классов, является правило Марковской цепи. Если ω1 , ω2 ,..., ω N есть последовательность классов, то Марковская модель предполагает, что P (ωik | ωik −1 , ωik −2 ,..., ωi1 ) = P (ωik | ωik −1 ) Тогда зависимость классов ограничивается только внутри двух последовательных классов. Такой класс моделей называется Марковской моделью первого порядка. Возможны обобщения на второй, третий и т.д. порядок.
55 Другими словами, даны наблюдения xk −1 , xk − 2 ,..., x1 , принадлежащие классам ωik −1 , ωik −2 ,..., ωi1 соответственно. Вероятность того, что наблюдение xk на шаге k принадлежит классу ωik , зависит только от того класса, к которому принадлежит наблюдение xik −1 на шаге k − 1 . P (Ω i ) = P (ωi1 , ωi2 ,..., ωiN ) = P (ωiN | ωiN −1 , ωiN −2 ,..., ωi1 ) ⋅ P (ωiN −1 | ωiN −2 , ωiN −3 ,..., ωi1 ) ⋅ ... ⋅ P (ωi1 )
или N
P (Ω i ) = P (ωi1 , ωi2 ,..., ωiN ) = P (ωi1 ) ⋅ ∏ P (ωik | ωik −1 ) (∗) k =2
Сделаем два общих предположения: 1) в последовательности классов наблюдения статистически независимы; 2) функция плотности вероятностей в одном классе не зависит от других классов. Это означает, что зависимость существует только на последовательности, в которой классы встречаются, но внутри классов наблюдений “подчиняются” собственным правилам. Таким образом, получаем, что N
P ( X | Ωi ) = ∏ p ( xk | ωik ) (∗∗) k =1
Комбинируя (∗) и (∗∗) , получаем Байесовское правило в виде следующего утверждения. Байесовское правило: для последовательности наблюдений векторов X = ( x1 , x2 ,..., xN ) проводим их классификацию в соответствующие последовательности классов Ωi = (ωi1 , ωi1 ,..., ωiN ) так, чтобы величина N
p ( X | Ωi ) ⋅ P (Ωi ) = P (ωi1 ) ⋅ p ( x1 | ωi1 ) ⋅ ∏ P (ωik | ωik −1 ) ⋅ p ( xk | ωik ) (∗∗∗) k =2
была максимальной. Поиск требует вычисления последнего выражения для каждого Ωi , i = 1, 2,..., M N , что, в свою очередь, требует O( NM N ) умножений, а это очень много. Но существуют пути экономии вычислений. Если в Ωi и Ω j отличаются только последние классы, т.е. ωik = ω jk , при k = 1, 2,..., N − 1 и ωiN ≠ ω jN , то большая часть вычислений дублируется.
9.4
Алгоритм Витерби (Viterbi)
Пусть задано N столбцов; каждая точка в столбце соответствует одному из M возможных классов ω1 , ω2 ,..., ωM ; столбцы соответствуют наблюдениям xk , k = 1, 2,..., N . Стрелками обозначены переходы от одного класса к другому в последовательности получения наблюдений. Каждая последовательность классов Ωi соответствует конкретному маршруту последовательных переходов. Каждый переход от i-го класса к j-му характеризуется вероятностью P (ω j | ωi ) , которая предполагается известной. Предположим, что эти вероятности одинаковы для всех k. Далее предположим, что условные вероятности – плотности p( xk | ωi ) , k = 1, 2,..., N ,
56 i = 1, 2,..., M – также известны. Тогда задача максимизации (∗∗∗) ставится как поиск последовательности переходов. Пусть d% (ωik , ωik −1 ) = P(ωik | ωik −1 ) ⋅ p( xk | ωik ) – цена, связанная с переходом (ωik −1 , ωik ) . Начальное условие при k = 1 есть d% (ω , ω ) = P(ω ) ⋅ p( x | ω ) . Учитывая данные i1
i0
i1
1
i1
предположения, получаем общую формулу, которую нужно оптимизировать: D% = ∏ d% (ωik , ωik −1 ) N
k =1
или, логарифмируя, имеем ln( D% ) = ∑ ln d% (ωik , ωik −1 ) = ∑ d (ωik , ωik −1 ) = D N
N
k =1
k =1
Используем принцип Беллмана: Dmax (ωik ) = max Dmax (ωik −1 ) + d (ωik , ωik −1 ) , при Dmax (ωi0 ) = 0 . ik −1 =1,2,..., M
Обозначим через ω i∗ = arg max Dmax (ωin ) . N
ωiN
Получаем обратный ход для вычисления ω i∗ . Получаем число операций O ( NM 2 ) , что k
существенней меньше O( NM N ) . Данная процедура динамического программирования известна как алгоритм Витерби.
9.5
Скрытые Марковские модели
Теперь рассмотрим системы, в которых состояния напрямую не наблюдаются и могут быть лишь оценены из последовательности наблюдений с помощью некоторой оптимизационной техники. Этот тип Марковских моделей известен как скрытые Марковские модели (НММ). НММ – это тип стохастической аппроксимации нестационарных стохастических последовательностей со статистическими свойствами, которые подвергаются различным случайным переходам среди множества различных стационарных процессов. Иными словами, НММ моделирует последовательность наблюдений как кусочностационарный процесс. Такие модели широко используются в распознавании речи. Рассматриваются так называемые высказывания – это может быть слово, часть слова, даже предложение или параграф. Статистические свойства речевого сигнала внутри высказывания подвергаются серии переходов. Например, слово содержит порцию гласных и согласных звуков. Они характеризуются различными статистическими свойствами, которые в свою очередь отражены в переходах в речевых сигналах от одной к другой. Такие примеры дает распознавание рукописного текста, распознавание текстур, где успешно применяется НММ. НММ есть в основе своей конечный автомат, который генерирует строку наблюдений – последовательность векторов наблюдений x1 , x2 ,..., xN . Таким образом, НММ содержит k состояний, и строка наблюдений получается как результат последовательных переходов из одного состояния i в другое состояние j . Нам подходит так называемая модель “машины Моора”, в соответствии с которой наблюдения получаются как результаты (выходы) из состояний на прибытие (по переходу) в каждом состоянии. Пример. НММ с тремя состояниями. Стрелки обозначают переходы. Такая модель может соответствовать короткому слову с тремя различными стационарными частями, например, для слова “оса”.
57 Модель предоставляет информацию о последовательных переходах между состояниями P (i | j ) , i, j = 1, 2,3 . Такой тип НММ известен как “слева-направо”, поскольку индекс состояний определяется выделенным числом фонем в одном слове. В действительности, несколько состояний (обычно 3 или 4) используется для каждой фонемы.
58
10 СЕЛЕКЦИЯ ПРИЗНАКОВ 10.1
Задача селекции признаков
Рассмотрим этапы решения задачи распознавания образов: • Генерация признаков – выявление признаков, которые наиболее полно описывают объект. • Селекция признаков – выявление признаков, которые имеют наилучшие классификационные свойства для конкретной задачи. • Построение классификатора. • Оценка классификатора. Пусть X ∈ R m – множество признаков, Y ∈ R l – множество признаков, которые нужно отобрать в процессе селекции, причем l < m. Тогда задача селекции задается следующим образом: X → Y . 10.1.1 Постановка задачи селекции признаков. Пусть задан вектор признаков X ∈ R m . Среди них необходимо выбрать наиболее информативные, т.е. получить новый вектор признаков Y ∈ R l , причем l < m . Определение. Процедура выделения из множества признаков меньшего подмножества с наилучшим сохранением информативности для классификации называется селекцией признаков. Суть выбора признаков – это выделение признаков, которые приводят к большим расстояниям между классами и к малым внутри классов. Зачем нужна селекция признаков? Основной мотивацией для сокращения числа признаков является уменьшение вычислительной сложности. Наряду с признаками, имеющими низкие классификационные способности весьма вероятна ситуация двух хороших признаков (с почти равными классифицирующими способностями), сильно коррелированных между собой. Вторая причина для уменьшения числа признаков – повышение общности классификатора. 10.1.2 Общность классификатора. Пусть N – число прецедентов, k – число степеней свободы классификатора (для нейронной сети – это количество синоптических весов). Ясно, что чем больше степеней свободы, тем легче настроить классификатор. Обозначим N N характеристику общности. Тогда получаем, что, чем больше , чем выше через k k общность классификатора. Чем больше признаков, тем больше k . Поэтому при ограниченном N уменьшение числа признаков согласуется с уменьшением k , т.е. с усложнением настройки классификатора. Различают скалярную и векторную селекцию признаков. При скалярной селекции рассматривается отдельно один признак из данного множества. Таким образом, получили
59 одномерную задачу. При векторной селекции одновременно исследуются свойства группы признаков.
10.2
Предобработка векторов признаков
Пусть задано множество признаков. Селекции признаков предшествует предобработка, позволяющая привести их в единый масштаб измерений и произвести некоторые дополнительные улучшения.. Основные операции предобработки описываются следующими тремя пунктами. 2.1. Удаление выбросов – точек, лежащих “очень далеко” от среднего значения. Обычно измеряется расстояние в средних отклонениях, например, 2σ ~ 95% , 3σ ~ 99% для нормального распределения. 2.2. Нормализация. Признаки, имеющие большие значения, могут влиять на классификатор сильнее остальных, что искажает правильность классификатора. Поэтому необходимо уменьшить их влияние путем, который носит название нормализации. Пусть xi – прецедент, xi = ( xi ,...., x i ) – признаки. Тогда 1 N x ( k ) = ∑ xik , k = 1, 2,..., l N i =1 есть усреднение признака (фактически его математическое ожидание). Обозначим через 1 N (σ ( k ) ) 2 = ∑ ( xi − x ( k ) ) 2 N − 1 i =1 k оценку разброса. Тогда нормализованные признаки задаются следующим образом. xik − x ( k ) ~ . xik = σ (k ) 2.3. Пропуск данных (потери). По многим прецедентам могут быть известны не все признаки. В таком случае, если данных много, то можно отобрать те у которых набор признаков одинаковый. Если же отбрасывать признаки нельзя, то их можно дополнить, например, с помощью эвристик. 1
10.3
l
Селекция на основе проверки статистических гипотез
Этот метод относится к скалярной селекции признаков. Рассмотрим значение признаков как реализацию случайных величин. Методами математической статистики можно выяснить их распределение. Если распределение совпадает для разных классов, то признак не различает эти классы; если распределения различны, то признак их различает. Такова суть метода селекции на основе проверки статистических гипотез. Таким образом, задача скалярно селекции на основе проверки статистических гипотез решается путем оценивания дискриминантной способности каждого отдельного признака. 10.3.1 Постановка задачи Пусть x признак. Пусть также известны его значения для разных классов Ω1 и Ω 2 . Тогда задача состоит в оценке, существенно ли различаются распределения признака для разных классов. Примем следующие соглашения. Обозначим через H 0 и H 1 две гипотезы:
60 H 0 – значения признаков отличаются существенно – нуль-гипотеза.
H 1 - значения признаков отличаются несущественно – альтернативная гипотеза. 10.3.2 Общая теория проверки гипотез Пусть ξ – случайная величина с известной плотностью и неизвестным параметром θ , ξ1 ,...,ξ N – экспериментальные значения ξ , q = f (ξ1 ,...,ξ N ) – статистика, где плотность есть Pq ( q , θ ) . Тогда гипотезы примут вид: H 0 : θ ≠ θ 0 и H 1 : θ = θ 0 . Задача состоит в построении интервала D такого, что в D высокая вероятность выполнения гипотезы H 0 . Пусть D = R \ D – дополнение к D . Тогда, если q попадает в D , то принимается H 0 , иначе отвергается. Назовем вероятностью ошибки решения следующую величину: P(q ∈ D | H 0 ) = ρ , причем ρ выбирается заранее и называется уровнем значимости: ρ = ∫ Pq (q | H 0 )dq . D
Случай известной дисперсии. Пусть Eξ = µ – неизвестное среднее, E ((ξ − µ ) 2 ) = δ 2 – известная дисперсия. У нормализованных признаков дисперсия равна единице, следовательно, дисперсия известна. Оценка µ задается следующим образом: 1 N ξ = ∑ξi , N i =1 причем Eξ = µ , µ = θ , µ~ = θ 0 . Тогда гипотезы примут вид: H 0 : µ = µ~ и H 1 : µ ≠ µ~ . В данном случае статистика имеет вид: ξ − µ~ , q= δ N δ где – среднеквадратичное отклонение для ξ . N По центральной предельной теореме имеем: N ( x − µ~ ) 2 N . Pξ ( x) = exp − δ2 2π δ Далее, q ~ N ( 0,1) . Следовательно, находим доверительный интервал D по ρ : т.к. Φ (x ρ ) = ρ , то D = [− x ρ ; x ρ ] . Для уровня значимости ρ интервал принятия гипотезы
[
]
D = − x ρ ; x ρ выбирается как интервал, в котором q лежит с вероятностью 1- ρ .
61 Случай неизвестной дисперсии. Если дисперсия неизвестна, то оценка ξ −µ 2 1 N ~ δ2= ( ξ i − ξ ) есть несмещенная оценка дисперсии и q = ~ есть статистика (не ∑ N − 1 i =1 δ N гауссова величина). Если ξ гауссова величина, то q имеет t-распределение Стьюдента с N − 1 степенями свободы. Тогда доверительный интервал D = [− x ρ ; x ρ ] вычисляется по таблицам. 10.3.3 Приложение к селекции признаков Наша основная забота теперь – проверить отличие µ1 и µ 2 между средними значениями признака в двух классах. Пусть x1 ,....., x N – значение признака в первом классе со средним µ1 . Соответственно, y1 ,....., y N - значение признака во втором классе со средним µ 2 . Предположим, что дисперсии одинаковы в обоих классах. Пусть µ1 и µ 2 – средние для значений признаков в первом и втором классе соответственно. Тогда соответствующие гипотезы имеют вид: H 0 : ∆µ = µ1 − µ 2 = 0 ,
H 1 : ∆µ ≠ 0 . Для решения о близости двух классов мы проверим эти гипотезы. Пусть ξ i = xi − y i . Гипотеза о равенстве параметров распределения говорит о попадании в этот интервал величины ξ = x − y , где x и y – случайные величины, причем E (ξ ) = µ1 − µ 2 и δ ξ2 = 2δ 2 Для случая неизвестной дисперсии статистика имеет вид: ( x − y ) − ( µ1 − µ 2 ) q= 2 sξ N и несмещенная оценка дисперсии записывается следующим образом: N 1 N 2 2 sξ2 = ∑ ( xi − x ) + ∑ ( yi − y ) 2 N − 2 i =1 i =1 sξ2 имеет χ 2 распределение с 2N − 2 степенями свободы. Если x, y – нормально распределенные с одинаковыми дисперсиями, тогда случайная величина q имеет t-распределение Стьюдента с 2N − 2 степенями свободы. Если числа прецедентов в обоих классах не совпадают, то формулы модифицируются. 10.3.4 Мера различия плотностей признаков Если средние значения различаются, и дисперсии очень большие, то признак может не обладать хорошими разделительными свойствами. Средние значения могут не совпадать и хорошо разделяться, но при больших дисперсиях признак становиться неудовлетворительным. Поэтому нужна информация о перекрытиях между классами. Рассмотрим способ анализа информации о перекрытии плотностей распределения признаков. Принимать решение, к какому классу отнести объект будем по значению t . Пусть α (t ) и β (t ) – ошибки при пороге классификации t .
62 Идеальным случаем является случай, когда P1 ( x) = P2 ( x) , т.е. у признака нет селективных способностей: α + β = 1 . Рассмотрим параметрическую кривую: (α (t ),1 − β (t ) ) .
Тогда в качестве меры различия распределений можно использовать площадь разности между кривой реального случая и идеального случая, которая выражается следующим интегралом
∫
1
0
(1 − β ) − α dα .
63
10.4
Векторная селекция признаков. Мера отделимости классов
Ранее обсуждались дискриминантные свойства отдельных рассмотрим дискриминантные способности векторов признаков. Пусть X – множество признаков, X r – подмножество из r признаков, C ( X r ) – мера отделимости классов на множестве признаков X r . Тогда задача выглядит следующим образом: C ( X r ) → max .
признаков.
Теперь
Xr ≤X
Существует различные подходы к описанию меры отделимости. Мы рассмотрим два таких подхода: дивергенцию и матрицу рассеивания. 10.4.1 Дивергенция Будем рассматривать Байесовское правило: P(Ω1 | x ) >< P(Ω 0 | x) , по которому выбирается Ω1 . Ошибка классификации задается следующим интегралом: Pl = P(Ω 0 ) − ∫ [P(Ω1 | x) − P(Ω 0 | x)]p ( x )dx . R1
Пусть R1 – область решения по классу Ω1 ; если x ∈ R1 , то класс Ω1 ; R1 U R0 = R l – все пространство признаков, P(Ω1 | x) − P(Ω 0 | x ) – очень важный показатель разделимости классов. От этой разности зависит ошибка классификации; P (Ω 1 | x ) – информация о разделяющих свойствах вектора признаков (другая форма P (Ω 0 | x ) этого показателя). Информацию о разделяющих свойствах вектора признаков можно записать следующим образом: P (Ω 1 ) p ( x | Ω 1 ) . ⋅ ln P (Ω 0 ) p ( x | Ω 0 ) Если P ( Ω1 ) = const , P (Ω 0 ) то + ∞ p( x | Ω ) ∫−∞ ln p( x | Ω10 ) p( x | Ω1 )dx = D01 , где D01 – характеристика отделимости. Аналогично: D10 =
+∞
∫ ln
−∞
p( x | Ω 0 ) p ( x | Ω 0 )dx . p( x | Ω1 )
Обозначим через d 01 = D01 + D10 дивергенцию разделения классов по вектору признаков x . Аналогично для случая многоклассовой задачи d ij – дивергенция классов Ω i и Ω j . Тогда
64 k
k
d = ∑∑ P(Ω i ) P(Ω j )d ij . i =0 j =0
Дивергенция есть мера расстояния между плотностями. Она имеет следующие свойства: d ij ≥0; d ij =0 при i=j; dij=dji. Если компоненты вектора признаков независимы, можно показать, что dij(x1,x2,…,xl)=Σdij(xr). Дивергенция учитывает различия и в средних, и в дисперсии. Однако, она очень чувствительна к разности средних, что затрудняет использование. 10.4.2 Мера на основе матриц рассеивания Главный недостаток многих критериев отделимости классов – сложность вычисления, если не проходит предположение о гауссовых плотностях. Мы рассмотрим простой критерий, не требующий нормальности распределения, построенный на информации, относящейся к тому, как вектора признаков разбросаны в пространстве. Пусть S i – матрица ковариации, S i = E ( x − µ i )( x − µ i ) T , где x – вектор признаков и µ i – среднее значение по x , принадлежащим данному классу, µ i = E ( x | Ω i ) .
[
]
M
S W = ∑ Pi S i – матрица внутриклассового рассеивания есть i =1
мера дисперсии признаков, где Pi – априорная вероятность данного класса, Pi = P (Ω i ) . M
S b = ∑ Pi ( µ i − µ 0 )( µ i − µ 0 ) T
–
матрица
внеклассового
i =1
M
рассеивания, где µ 0 = ∑ Pi µ i – общее среднее – разброс i =1
относительно общего среднего всех классов (центр тяжести). S m – смешанная матрица рассеивания (ковариация
[
]
относительно общего среднего), S m = E ( x − µ 0 )( x − µ 0 ) T = S w + S b . Определение. Следом (обозначается trace ) называется сумма диагональных элементов матрицы. Пример. Пусть задана матрица A = aij
l
l ×l
. Тогда trace( A) = ∑ a ii . i =1
Пусть trace ( S m ) J1 = – критерий, принимающий большие значения, когда образы хорошо trace( S w ) кластеризуются вокруг своих средних в границах каждого класса и кластеры разных классов хорошо разделены. Иногда вместо S m используют S b . Тогда получаем задачу J 1 → max . Вместо критерия J1 можно использовать другие критерии: S J 2 = m = S m S W−1 , SW
{
}
J 3 = S m S W−1 . Последний критерий очень удобен на практике для аналитических выкладок.
65 10.4.3 Стратегия наращивания вектора признаков Стратегия наращивания вектора признаков заключается в использовании признаков, дающих наибольший прирост меры отделимости. Рассмотрим алгоритм наращивания вектора признаков. Пусть из l признаков нужно отобрать m. Рассмотрим множество признаков {x1 }, {x 2 },...,{xl }. Необходимо найти признак, имеющий наибольшую селективную способность. Это аналогично нахождению max C ({xi }) . Пусть { xi }
X 1 = { x j } , где {x j } = arg max C ({xi }) . { xi }
Пусть X r – построенное множество признаков. Далее, X \ X r = max C ( X r U {xi }) . X ∈X \ X r
Условие остановки: C ( X r +1 ) − C ( X r ) < ε , либо r=m. 10.4.4 Стратегия сокращения вектора признаков Пусть X – множество признаков. Шаг алгоритма: набор признаков X r , чтобы выполнялось X r −1 = X r \ {xi }.
max C ( X r \ {xi }) Xi ≤X r
и
Условие остановки: Ct +1 − Ct < ε , либо r=m. 10.4.5 Выбор стратегии 1 Пусть l: 1 , то используем стратегию сокращения вектора признаков. Если 2 1 l < , то используем стратегию наращивания вектора признаков. 2 В качестве альтернативы можно использовать сравнение l − m с l . Если l − m < l , то используем стратегию сокращения вектора признаков. Если l − m > l , то используем стратегию наращивания вектора признаков. Обе стратегии являются жадными. Определение. Стратегия называется “жадной”, если она не допускает шагов возврата. 10.4.6 Алгоритм плавающего поиска Примером нежадной стратегии является метод плавающего поиска. Плавающий поиск базируется на стратегии вставки и исключения. Пусть все признаки упорядочены по убыванию меры C ({xi }) . Пусть также X k = {x1 ,..., x k } – первые k признаков, имеющие наибольшее C ({xi }) . Тогда остальные признаки строятся следующим образом: Yl − k = X \ X k , X k +1 = {X k , x k +1 } . Предположим, что построены множества X 2 , X 3 ,...., X k −1 . Рассмотрим алгоритм плавающего поиска. Шаг 1. Вставка. Добавление признаков: x k +1 = arg max C ({X k , y}) и X k +1 = {X k , xk +1} . Шаг 2. Проверка x r = arg max C ( X k +1 \ {x s }), x s ∈ X k +1 , где xr – признак дающий наименьший вклад (минимальные потери при выбросе).
66 Если r = k + 1, то увеличиваем k и переходим на шаг 1. Если r ≠ k + 1 и C ( X k +1 \ {xr }) < C ( xk ) , то переходим на шаг 1. Если k = 2 , то X k = X k +1 \ {xr } и переходим на шаг 1. Шаг 3. Исключение xr . X k′ = X k +1 \ {x r } . Поиск наименее значительного элемента в x s = arg max C ( X k′ \ { y}), y ∈ X k′ . Если C ( X K′ \ {x s }) < C ( X k −1 ) , то X k = X k′ и переходим на шаг 1. Если X k′ −1 = X k′ − {xs } , то уменьшаем k на 1. Если k = 2 , то X k = X k′ , C ( X k ) = C ( X k′ ) и переходим на шаг 1. Переходим на шаг 3.
10.5
новом
множестве
Оптимальная селекция признаков
Существуют две формы использования критериев (мер отделимости классов): “пассивная” и “активная”. Пассивная селекция – это работа с уже полученными признаками. Активная селекция аналогична процессу генерации признаков: она позволяет построить из исходного набора признаков новый набор меньшего размера, в котором состав признаков, вообще говоря, не является подмножеством исходного набора признаков. Все типы селекции, рассмотренные в предыдущих разделах – пассивные. Пусть x ∈ R l и y ∈ R m ⊂ R l . Рассмотрим конструирование критериев с использованием активной селекции: y = Ax или y = F (x ) . Пусть x и y – вектора столбцы, тогда x T , y T – строки, x ∈ R m – исходное пространство признаков, y ∈ R l – результирующее пространство признаков, A – матрица преобразования исходного пространства в результирующее, m – число классов. Тогда y = AT x , или yl×1 = AT xm×1 , следовательно, матрица AlT×m имеет размер l × m .
Рассмотрим критерий J 3 = {S m SW−1 }. Будем максимизировать критерий J 3 путем выбора матрицы A . Для вектора признаков x имеем матрицы S xW и S xb . Для вектора признаков y имеем матрицы S yW и S yb . S yW = ∑ Pi S yi . i
Проведем несколько преобразований. S yi = E ( y − µ i )( y − µ i ) T = E AT ( x − µ xi )( x − µ xi ) T A = AT E ( x − µ xi )( x − µ xi ) T A = AT S si A
[
] [
S yW = ∑ Pi AT S xi A = AT ∑ Pi S xi A = AT S sW A i i
]
[
]
67
(
)
Аналогично: S yb = AT S xb A . Тогда J 3 ( A) = trace (AT S xW A) (AT S xb A) – критерий разделимости вектора признаков. Теперь необходимо преобразовать A из соображений J 3 → max . Будем искать решение из условия максисума dJ 3 ( A) = 0. dA Утверждение о вычислении производной. Пусть S1 и S 2 - некоторые квадратные матрицы размера m × m . Тогда d trace{( AT S1 A) −1 ( AT S 2 A)} = −2 S1 A( AT S1 A) −1 ( AT S 2 A)( A A S1 A) −1 + 2S 2 A( AT S1 A) −1 . dA Для получения максимума по критерию, необходимо, чтобы − 2 S xW A( AT S xW A) −1 ( AT S xb A)( AT S xW A) −1 + 2 S xb A( AT S xW A) −1 = 0 или −1 −1 − S xW AS yW S yb S yW + S xb AS yW = 0 или −1 −1 A( S yW S yb ) = (S xW S xb ) A есть условие того, что dJ 3 ( A) = 0. dA Утверждение. Пусть S yW и S yb – симметрические, положительно определенные матрицы. Тогда существует преобразование, приводящее одну из них к единичной, а другую к диагональной. Доказательство. Приведем эти преобразования B T S yW B = I , −1
BT S yb B = D , где B, I , D – матрицы размера l × l . ч.т.д. Утверждение. J 3 инвариантно относительно преобразований вектора y в R l . Доказательство. Рассмотрим ~ y = BT y = BT Ax . Тогда J3(~ y ) = trace S ~y−W1 S ~y b = trace ( BT S yW B) −1 ( BT S yb B) =
{ = trace{(S
{
}
{ } B S B} = trace{B ( S S B)} = }= trace{S S }= J ( y) .
−1 = trace B −1S yW ( BT ) −1
Т.к. ( S
−1 xW
−1 uW
S yb ) BB
−1
S xb ) A = A( S
−1
−1
−1 yW
yb
−1 yW
−1 yW
yb
yb
3
S yb ) – условие того, что производная равна нулю, то
−1 −1 ( S xW S xb ) AB = A( S yW S yb ( BT ) −1 BT ) B = −1 = A( B( B −1 S yW ( B T ) −1 )( B T S yb B) = AB( B T S yW B) −1 ( B T S yb B) = ABD Используя предыдущее утверждение, подбираем матрицу B и получаем: −1 ( S xW S xb ) AB = ABD . Обозначим AB = C – матрица размера m × l . ч.т.д.
68 Утверждение. Если матрица F положительно определенная (положительно полуопределенная), то все собственные значения F положительны, если F симметричная, то все собственные вектора, соответствующие разным собственным значениям, ортогональны, для симметричной матрицы F существует преобразование Φ T FΦ = ∆ , где Φ состоит из собственных векторов этой матрицы или столбцы Φ = [v1 , v 2 ,...v m ] – собственные вектора, причем ∆ – диагональная матрица, на диагоналях которой стоят собственные значения. Т.к. случайные величины ортогональны, то Φ T = Φ −1 . Теперь рассмотрим алгоритм оптимальной селекции признаков: −1 Поиск S xW S xb . Поиск собственных значений и выбор l наилучших (наибольших). Формирование матрицы C из собственных векторов, соответствующих этим собственным значениям Вычисление y = C T x .
10.6
Оптимальная селекция признаков с помощь нейронной сети
Пусть задано m признаков, x – вектор признаков. Для применения теории нейронных сетей к задаче селекции признаков немного изменим обычное представление о нейронной сети. Теперь будем рассматривать нейронную сеть с линейными функциями активации. Таким образом, теперь вектор признаков, попавший на вход нейронной сети, просто суммируется и подается на выход, т.е. выход нейрона превращается в обычную сумму. Рассмотрим так называемую автоассоциативную сеть. Сеть имеет l входных и l выходных узлов и единственный скрытый слой с m узлами и линейными функциями активации. В процессе обучения выходы сети те же, что и входы. Такая сеть имеет единственный максимум и выходы скрытого слоя определяют проекцию l -мерного пространства на m-мерное подпространство. Интерес представляет выходной слой из l нейронов. Если восстанавливать исходный вектор с целью максимального правдоподобия, то получим задачу квадратичного программирования с одним экстремумом.
69
11 МЕТОДЫ ГЕНЕРАЦИИ ПРИЗНАКОВ 11.1
Генерация признаков на основе линейных преобразований
В данном разделе рассматриваются способы генерации признаков через линейные преобразования исходных измерений образов. Целью такой генерации признаков является сокращение информации до “значимой”, т.е. надо просто преобразовать исходное множество измерений в новое множество признаков. Обычно задача состоит в выделении низкочастотных компонент, содержащих основную информацию. 11.1.1 Базисные вектора Пусть x(0), x(1),..., x( N − 1) – множество исходных измерений, X T = [ x (0),..., x ( N − 1)] – соответствующий вектор столбец. Рассмотрим унитарную матрицу AN × N . Для действительной матрицы AN × N условие унитарности обозначает, что матрица AN × N
ортогональная, т.е.
AN × N −1 = ANT × N . Для
комплексной матрицы AN × N условие унитарности обозначает, что AN × N −1 = ANH× N , где матрица ANH× N - транспонированная (сопряженная). Пусть a0H H a H y = A X = 1 ⋅ X , M H aN −1 где a0H , a1H ,..., a NH −1 – строки из транспонированных столбцов ai и A = (a0 , a1 ,..., aN −1 ) . Тогда N −1
x = ( AA−1 ) x = ( AA H ) x = AAH x = Ay = ∑ y (i )ai . i =0
Вектора ai называются базисными векторами. Таким образом, в силу ортогональности ai между собой, y (i) – это проекция вектора x на базисные вектора. 11.1.2 Случай двумерных образов Пусть x (i, j ) , i, j = 0,1,..., N − 1 – двумерные измерения. Очевидно, что представление его в виде вектора размерности N 2 неэффективно. Альтернативой является преобразование x через базисные матрицы. Пусть U N × N и VN × N – унитарные матрицы. Определим матрицу преобразования X в Y : Y = U H XV . Учитывая, что UU H = I& и VV H = I& , имеем X = UYV H . Следовательно N −1 N −1
X = ∑∑ Y (i, j ) ⋅ ui ⋅ v j H (∗) i =0 J =0
Пусть U = (u0 , u1 ,..., uN −1 ) , где ui – вектор-столбец,
70 V = (v0 , v1 ,..., vN −1 ) , где v Hj – вектор-строка. Тогда ui ,0 v*j ,0 ui ,0 v*j ,1 L ui ,0 v*j , N −1 ui ,1v*j ,0 ui ,1v*j ,1 L ui ,1v*j , N −1 H . Aij = ui v j = M M O M ui , N −1v*j ,0 ui , N −1v*j ,1 L ui , N −1v*j , N −1 Таким образом (∗) есть выражение x в терминах N 2 базисных матриц. Если Y – N −1
диагональная, то X = ∑ Y (i, i) ⋅ u i ⋅ viH – это разложение по базисным матрицам или образам. i =0
Также возможна следующая запись: Y (i, j ) = X , Aij . Тогда N −1 N −1
A, B = ∑ ∑ A( m, n ) ⋅ B* ( m, n ) . m= 0 n =0
11.2
Преобразование Карунена-Лоева
Пусть x – вектор измерений образа. Целью преобразования является построение такого вектора признаков, что E [ y(i ) y ( j )] = 0 при i ≠ j . т.е. чтобы признаки были взаимно некоррелированны. Пусть A – матрица базисных векторов, y и x – вектора-столбцы. Будем считать, что y = AT x . Обозначим Ry = E yyT , тогда
[ ] [
]
R y = E yy T = E AT xxT A = AT Rx A , где Rx – симметричная матрица и ее собственные вектора ортогональны. Выберем в качестве ai собственные вектора матрицы Rx . Тогда R y – диагональная матрица, у которой на диагонали стоят собственные значения Rx : λi , i = 0,1,..., N − 1 . Таким образом R y = AT ⋅ R x ⋅ A = Λ . Если Rx положительно определенная матрица, то собственные значения λi > 0 , i = 0,1,..., N − 1 . Описанное преобразование называется преобразованием Карунена-Лоева. Оно имеет фундаментальное значение, т.к. оно приводит к построению некоррелированных признаков. 11.2.1 Свойства преобразования Карунена-Лоева Пусть N −1
x = Ay или x = ∑ y (i) a i – разложение по базисным векторам. i =0
Определим новый m -мерный вектор ( m < N ):
71 m −1
xˆ = ∑ y (i )ai i=0
где xˆ – проекция x на подпространство. Если мы аппроксимируем x с помощью xˆ , то ошибка есть (выбираем те векторов, m для которых ошибка минимальна): 2 N −1 2 E x − xˆ = E ∑ y (i )ai = E ∑∑ ( y (i )aiT ) ( y (i )ai ) = i =0 i j N −1
N −1
N −1
N −1
i=m
i=m
i =m
i=m
= ∑ E y 2 (i) = ∑ aiT E xxT ai = ∑ aiT λi ai = ∑ λi .
Тогда очевидно, что выбирать нужно m базисных векторов с максимальными собственными значениями. Отметим еще раз соотношение преобразования Карунена-Лоева с методом селекции признаков. В методе селекции признаков в качестве критерия выступали дискриминантные свойства полученного вектора признаков. В преобразовании Карунера-Лоева в качестве критерия выступает наилучшее приближение исходных измерений. 11.2.2 Применение преобразования Карунена-Лоева к задаче классификации В данном случае основная концепция заключается в том, что подпространство главных собственных значений может быть использовано для классификации. Алгоритм: для каждого класса Ω i строим корреляционную матрицу Ri , выбираем m главных собственных значений и собственных векторов, строим соответствующие матрицы Ai , у которых столбцы – значения собственных векторов. неизвестный (пробный) вектор x классифицируем по правилу ATj x > AiT x при i ≠ j , т.е. в ближайшее подпространство. Если все подпространства одинаковой размерности, то разделяющие поверхности – это гиперплоскости, иначе гиперповерхности второго порядка. Такой классификатор интегрирует все: генерация, селекция, классификация. 11.2.3 Декомпозиция сингулярных значений Пусть задана матрица A ранга r . Покажем, что существуют такие унитарные матрицы U N × N и VN × N , что Λ 2 X =U ⋅ 0 1
Λ 2 0 H ⋅V , Y = 0 0 1
0 H = U ⋅ X ⋅V , 0
где Λ r2×r – диагональная матрица с элементами 1
λ i и λi – r ненулевых собственных
значений матрицы X H X . Иначе существуют такие унитарные матрицы U N × N и VN × N , что преобразованная X путем U H XV есть диагональная матрица. Следовательно r −1
X = ∑ λi ⋅ ui ⋅ viH (∗) i =0
где ui и vi – первые r столбцов матриц U N × N и VN × N соответственно, т.е. ui и vi – собственные вектора матриц XX H и X H X соответственно.
72 Собственные значения λi называются сингулярными значениями матрицы X . Преобразование (∗) – преобразование сингулярных значений или спектральное представление X . Если X аппроксимировать следующим образом k −1
Xˆ = ∑ λi ⋅ u i ⋅ viH , k ≤ r − 1 , i =0
то Xˆ есть сумма k одноранговых матриц и имеет ранг равный k . Можно показать, что квадратичная ошибка ε2 =
N −1 N −1
∑∑ X (m, n) − Xˆ (m, n)
2
m =0 n =0
является минимальной для всех k -ранговых матриц. Ошибка аппроксимации есть r −1
ε 2 = ∑ λi , i=k
следовательно, и в данном случае нужно выбирать максимальное λi . Таким образом, Xˆ есть наилучшая аппроксимация в смысле нормы Фробениуса. Данная аппроксимация напоминает преобразование Карунена-Лоева.
11.3
Дискретное преобразование Фурье (ДПФ)
Преобразования типа Карунена-Лоева есть результат специальной обработки (оптимизации) применительно к конкретной выборке требует больших вычислительных затрат. Если разложить по некоторому заданному базису, то можно снизить затраты, правда снизив требования к разложению. 11.3.1 Одномерное дискретное преобразование Фурье Пусть x(0), x(1),..., x( N − 1) – N исходных измерений. Тогда ДПФ определяется следующим образом: 1 N −1 2π y (k ) = x( n ) exp − j kn , ∑ N N n= 0 где k = 0,1,..., N − 1 и exp{α j } = cos(α ) + j sin(α ) . Обратное преобразование есть: 1 N −1 2π x( k ) = y ( n ) exp j kn , ∑ N k =0 N где n = 0,1,..., N − 1 . Определим 2π WN = exp − j . N Тогда 2π exp − j kn = WNkn . N Пусть y =W H x , тогда x = Wy ,
73 1 1 1 W N 1 = ⋅ 1 WN2 N M M 1 W N −1 N
L L
W H . W L W O M ( N −1)( N −1) L WN Утверждается, что W – унитарная симметрическая матрица. Пусть W * – сопряженная матрица: W * = W H = W −1 . Тогда базисные вектора – это столбцы матрицы W . Таким 1
N −1 N 2( N −1) N
N −1
образом, имеет место разложение по заданному базису (по определению x = ∑ y (i) a i – i =0
разложение по базисным векторам). Прямое вычисление y = W H x или x = Wy имеет сложность O( N 2 ) , однако, специфика структуры матрицы W позволяет строить алгоритмы сложности O ( N ln N ) . ДПФ можно рассматривать как разложение последовательности X (n ) в множество N базисных последовательностей hk (n) : N −1
X ( n ) = ∑ y ( k ) hk ( n ) , k =0
1 2π kn , при n = 0,1,..., N -1, exp j где hk (n) = N N 0, иначе. y (k ) – коэффициенты разложения, а последовательности hk (n) ортогональные: 1, при k = l , (hk , hl ) = δ kl = 0, иначе. 11.3.2 Двумерные ДПФ Пусть X (i, j ) , i, j = 0,1,..., N − 1 – двумерные измерения. Тогда двумерное ДПФ есть: 1 N −1 N −1 Y ( k , l ) = ∑∑ X ( m, n )WNk ×mWNl ×n . N m =0 n =0 Обратное преобразование: 1 N −1 N −1 X ( m, n ) = ∑∑ Y ( k , l )WN− k×mWN− l×n . N k =0 l =0 Данную запись компактно можно переписать в следующем виде: Y = W H XW H , X = WYW . Данное преобразование – это преобразование с базисными матрицами или образами wi wTj , i, j = 0,1,..., N − 1 . Число требуемых операций “в лоб” равно O ( N 3 ) . Учитывая специфическую структуру W , существуют методы сложности O( N 2 ln N ) . 11.3.3 Дискретное косинусное преобразование (ДКП) Данное преобразование имеет вид:
74
где
N −1 π (2n + 1) k y ( k ) = α ( k ) ∑ x ( n) cos , k = 0,1,.., N − 1 , 2N n =0
N −1 π (2n + 1) k x( n ) = ∑ α ( k ) y ( k ) cos , n = 0,1,..., N − 1 , 2N k =0 1 , при k = 0, N где α (k ) = 2 , иначе. N Его можно переписать в векторной форме: y = CT x , 1 N , при k = 0, 0 ≤ n ≤ N − 1, где C (n, k ) = 2 cos π (2n + 1)k , при k = 1, 2,..., N -1, 0 ≤ n ≤ N -1. N 2N и C – действительная матрица, причем C −1 = C T . Двумерное ДПФ определяется так Y = C T XC и X = CYC T .
11.3.4 Дискретное синусное преобразования (ДСП) Данное преобразование вычисляется аналогично косинусному через матрицу: 2 π (k + 1)(n + 1) S ( k , n) = sin , k , n = 0,1,..., N − 1 . N −1 N +1 Вычислительная сложность затрат на ДКП и ДСП есть O ( N ln N ) . ДКП и ДСП обладают хорошими “упаковочными” свойствами для большинства изображений в том смысле, что концентрируют основную информацию в небольшом числе коэффициентов. Объясняется это тем, что оба они дают хорошее приближение для большого класса реальных образов, моделируемых случайных сигналов, известные как Марковский процесс 1-ого порядка.
11.4
Преобразования Адамара и Хаара
Преобразование Адамара и Хаара имеют такие же вычислительные достоинства, как и ДПФ, ДКП, ДСП. Их матрицы состоят из ±1 , поэтому они вычисляются через сложения и вычитания без умножений. 11.4.1 Преобразование Адамара Определение. Унитарная матрица Адамара порядка n – это N × N матрица , где N = 2 n , сгенерированная по следующему итерационному правилу H n = H1 ⊗ H n −1 , где 1 1 1 H1 = , 2 1 −1 и ⊗ обозначает кронекерово произведение двух матриц:
75 A(1,1) B A(2,1) B A⊗ B = M A( N ,1) B Распишем H 2 :
A(1, 2) B A(2, 2) B M A( N , 2) B
1 1 1 H 2 = H1 ⊗ H1 = 2 1 1 По аналогии можно H n , n = 1, 2,... :
L A(1, N ) B L A(2, N ) B . O M L A( N , N ) B
1 1 1 −1 1 −1 . 1 −1 −1 −1 −1 1 выписать все H n , n = 1, 2,... . Нетрудно установить ортогональность
H n−1 = H nΤ = H n . Для вектора x из N образцов пара преобразований есть: y = Hn x , x = H n y . Преобразование Адамара имеет очень хорошие “упаковочные” свойства. Алгоритм для вычисления выделений и сложений достаточно быстрый: O ( N − ln N ) .
11.4.2 Преобразование Хаара Начальной точкой для определения преобразования Хаара являются функции Хаара, которые являются непрерывными и определенными на замкнутом сегменте [0,1] . Порядок k функций Хаара единственным образом раскладывается через два целых числа p и q : k = 2 p + q − 1 , k = 0,1,..., L − 1 , L = 2 n , где 0 ≤ p ≤ n − 1 , 0 ≤ q ≤ 2 p для p ≠ 0 при q = 0 или p = 0 при q = 1 . Определение. Функции Хаара: 1 h0 ( z ) ≡ h00 ( z ) = , z ∈ [0,1] ; L q −1 q − 0, 5 2p 2 , при 2 p ≤ z < 2 p , 1 2p q − 0,5 q hk ( z ) ≡ hpq ( z ) = ⋅ −2 , при ≤z< p, p 2 2 L 0, для остальных z ∈ [0,1].
11.5
Генерация признаков на основе нелинейных преобразований. Выделение текстуры изображений.
Пусть дано изображение или его часть (область). Задача состоит в генерации признаков, которые впоследствии будут использоваться при классификации. Определение. Цифровое изображение (монохромное) есть результат процесса дискретизации непрерывной функции I ( x, y ) в виде двумерного массива I (m, n) , где m = 0,1,..., N X − 1 , n = 0,1,..., NY − 1 . Значение функции I ( x, y ) – интенсивность, число градаций N g – глубина изображения.
76 Определение. Генерацией признаков называется эффективное кодирование необходимой для классификации информации, содержащейся в оригинальных (исходных) данных. 11.5.1 Региональные признаки. Признаки для описания текстуры Дадим не точное определение текстуры. Определение. Текстурой называется распределение оттенков серого цвета среди пикселов в регионе. Рассмотрим основные типы характеристик: тонкие – грубые, гладкие – резкие (нерегулярные), однородные – неоднородные. Отметим, что в основе подхода лежит гипотеза о том, что внутри региона значения интенсивностей описываются одинаково, т.е. одним и тем же распределением вероятностей. Пусть интенсивность внутри региона есть случайная величина. Тогда, при условии, что внутри региона характеристики одинаковы, данная случайная величина внутри региона одинаково распределенная, чем обеспечивается свойство однородности в регионе. Нашей целью является генерация признаков, которые как-то квантуют свойства фрагментов изображения (регионов). Данные признаки появляются при анализе пространственных соотношений по распределению серых цветов. 11.5.2 Признаки, основанные на статистиках первого порядка Пусть I – интенсивность случайной величины, представляющая собой значение (уровень интенсивности) серого цвета в регионе. Пусть также P ( I = I 0 ) – вероятность, того что интенсивность в регионе равна I 0 . Определение. Гистограммой первого порядка называется величина P (I ) , равная отношению числа пикселов с уровнем интенсивности I 0 к общему числу пикселов в регионе и обозначается P (I&) . Рассмотрим центральный момент: µi =
N g −1
∑ ( I& − m ) P( I&) , 1
I& = 0
где m1 – среднее значение интенсивности – первый момент, который в общем случае определяется из формулы: mk =
N g −1
∑I I& = 0
k
P( I&)
при k = 1 . Среди центральных моментов наиболее часто используются µ 2 – дисперсия I& , µ 3 – ассиметрия,
µ 4 – эксцесс. В качестве признаков, основанных на статистиках первого порядка, также может использоваться абсолютный момент: µ~i =
N g −1
∑ I& − m I& = 0
и энтропия:
1
⋅ P( I&)
77
[
]
N g −1
H = − E log 2 P( I&) = − ∑ P( I&) log 2 ( P( I&)) , I& = 0
которая определяет меру равномерности распределения. Чем энтропия выше, тем распределение равномернее. 11.5.3 Признаки, основанные на статистиках второго порядка. Матрицы сочетаний. Пусть d – относительное расстояние между пикселами, ϕ – ориентация. Тогда можем ввести метрику следующим образом: ρ ( p1 , p 2 ) = max{ p1 x − p2 x , p1 y − p 2 y }, причем пикселы рассматриваются в парах. Рассмотрим соседство для четырех пикселей. Пусть ϕ = 0 o ,45o ,90 o ,135o , т.е у нас имеется горизонтальное, вертикальное, диагональное и антидиагональное соседство. Pϕ ( I&(m, n), I&(m1 , n1 )) совместную Обозначим через плоскость. Рассмотрим ϕ = 0 o . P ( I&(m, n) = I , I&(m ± d , n) = I ) – вероятность того, что точки,
{
}
ϕ
1
2
расположенная на горизонтали ρ = d имеют интенсивности I 1 и I 2 , равные отношению числа пар пикселов с расстоянием d и значением I 1 и I 2 к общему числу пикселов в регионе. Pϕ ( I&(m, n) = I1 , I&(m ± d , n m d ) = I 2 ) Аналогично считается для ϕ = 45 o ; P ( I&(m, n) = I , I&(m, n m d ) = I ) для ϕ = 90 o ; P ( I&(m, n) = I , I&(m ± d , n ± d ) = I ) для ϕ = 135 o . ϕ
1
2
ϕ
1
2
Каждый такой массив называют матрицей сочетаний или матрицей пространственной зависимости. Рассмотрим конкретный пример матрицы I& . Пусть N g = 4 , т.е. уровни интенсивности изменяются от 0 до 3. Пусть также матрица I& задана следующим образом: 0 0 2 2 1 1 0 0 . I& = 3 2 3 3 3 2 2 2 Т.к. просмотр происходит в обе стороны, то общее количество пар равно 24. Рассмотрим ϕ = 0 o и d = 1 . 0 ≤ I&1 , I&2 ≤ 3 . Очевидно, что матрица A симметрической. 4 1 1 0 P(0,0) P(0,1) 1 1 2 0 0 A = & & = P(0,1) P( I 1 , I 2 ) 24 1 0 6 3 0 0 3 2 Для ϕ = 45 o и d = 1 матрица A выглядит следующим образом:
является
78 0 1 2 1 1 1 0 1 1 A= 18 2 1 0 3 1 1 3 0 Существуют следующие основные виды признаков, основанные на статистиках второго порядка: Угловой момент второго порядка: ASM =
N g −1N g −1
∑ ∑ ( P(i, j ))
2
– мера гладкости изображения.
i =0 j =0
При малой вариации ASM ≈ 1, а при больших вариациях (например при увеличении) контраста ASM → 0 . N g −1 N g −1N g −1 Контраст (по заданной паре): CON = ∑ n 2 ∑ ∑ P(i, j ) – мера локальной дисперсии n =0 i =0 j =0 серого. N g −1N g −1 P ( i, j ) Момент обратной разности: IDF = ∑ ∑ . Момент обратной разности имеет 2 i = 0 j = 0 1 + (i − j ) большое значение для слабоконтрастных изображений. Энтропия: H =
N g −1N g −1
∑ ∑ P(i, j) log i =0 j =0
2
P(i, j ) – мера равномерности. Энтропия связана с
фиксированной ориентацией и фиксированным расстоянием.
11.6
Признаки формы и размера
Рассмотрим методы генерации признаков, описывающих структуру. Существует два основных пути описания формы: • Полное описание формы в регенеративной манере (например, признаки Фурье). По такому описанию полностью можно восстановить образ. • Не восстановительное описание формы (дескриптивные признаки). По такому описанию можно отличить заданную форму от других, но не полностью восстановить образ. 11.6.1 Признаки Фурье Отметим, что полное описание позволяет восстанавливать границу образа. Частичное же описание дает признаки для распознавания. Нас интересует вопрос о зависимости изменения признаков от преобразований. Пусть ( x k , y k ) , где k = 0,1,..., N − 1 , – координаты последовательных точек границы; u k = x k + j * y k – комплексные числа. Для N точек u k определим ДФП (DFT): N −1 2π f l = ∑ u k exp − j ⋅ ⋅ l ⋅ k , l = 0,1,..., N − 1 , N k =0 где f l – Фурье-описание границы.
Рассмотрим, как изменяется f l при сдвиге, повороте, масштабировании и сдвиге начальной точки. Сдвиг описывается следующим образом: x′k = xk + ∆x , y ′k = yk + ∆y и u k′ = u k + ∆u ′ . Тогда 1, при l = 0 f l′ = f l + ∆uδ (l ) , где δ = . 0, при l ≠ 0 При l = 0 f 0′ ≠ f 0 , т.к.
79 f 0′ = f 0 + ∆uδ (0 ) = f 0 + ∆u ≠ f 0 . При l ≠ 0 f l′ = f l , т.к. f l′ = f l + ∆uδ (l ) = f l + ∆u ⋅ 0 = f l Поворот описывается следующим соотношением: u ′k = u k ⋅ exp( jθ ) . Следовательно, f l′ = f l ⋅ exp( jθ ) , т.е. поворот не меняет модулей, а именно f l′ = f l . Масштабирование описывается следующим соотношением: u ′k = a ⋅ u k . Следовательно, f l′ = a ⋅ f l . Т.к. f j′ f i′ =a и =a, fi fj то масштабирование не меняет соотношения f i′ f i = . f j′ f j Сдвиг начальной точки определяется следующим образом: u k′ = u k − k . Следовательно 0
2π f l′ = f l ⋅ exp − j ⋅ ⋅ k0 ⋅ l , N т.е. сдвиг начальной точки сохраняет модули: f l′ = f l .
11.6.2 Цепной код Определение. Цепным кодом называется кодирование (запоминание) последовательности поворота вектора по пикселям на границе описываемой области – маршрута обхода. Из построенного цепного кода конструируются следующие признаки: относительная доля каждого направления, относительная доля разных сочетаний кривизны. Недостатком представления изображения цепным кодом является появления шума. Способом борьбы с данным недостатком является использование более мелкой (точной) сетки. 11.6.3 Геометрические свойства фигуры Пусть P – периметр фигуры, A – площадь фигуры. Рассмотрим следующие свойства: некруглость фигуры и энергию изгиба. Некруглость фигуры определяется по следующей формуле: P2 r= . 4πA Рассмотрим два крайних значения для данного свойства. Наиболее лучшее (наибольшая “круглость”) значение должно быть для круга, оно равно P2 (2πR) 2 4π 2 R 2 = r= = = 1. 4πA 4π ⋅ πR 2 4π 2 R 2 Наиболее худший вариант (наименьшая “круглость”) наблюдается у квадрата. Соответствующее значение равно
80 P2 (4a) 2 16a 2 4 r= = = = . 4πA 4π ⋅ a 2 4πa 2 π Энергия изгиба. Пусть задано n точек фигуры. Тогда Энергия изгиба описывается следующей формулой: 1 n −1 2 E (n ) = ∑ k i , P i =0 y −y где ki = θ i +1 − θ i и θ i = arctan i +1 i . k i xi +1 − xi характеризует изменение угла в вершине. 11.6.4 Скелетизация Определение. Скелетизацией называется построение скелета, описывающего форму фигуры. Определение. Скелетом называется множество всех центров вписанных в фигуру максимальных окружностей. MAT (Medial Area Transform) определяется как скелет плюс функция ширины фигуры.
81
12 Обучение по прецедентам (по Вапнику, Червоненкису) 12.1
Задача построения классификатора
Пусть Ω – пространство образов, Χ – признаковое пространство, g (ω ) , ω ∈Ω – индикаторная функция, M – множество признаков. Тогда g : Ω → M . Пусть также Χ = x(ωi ), g (ωi ) , i = 1,.., N – множество прецедентов, gˆ ( x ) – решающее правило. Тогда gˆ : Χ → M . Выбор решающего правила исходит из минимизации d ( g , gˆ ) → min , где d – метрика, мера близости функций g (ω ) и gˆ ( x (ω )) . Построение gˆ называют задачей обучения. gˆ – это ученик, процедура формирования – это учитель, прецеденты – это обучающая последовательность.
12.2
Качество обучения классификатора
Относительная доля несовпадений классификации с учителем для решающего правила m есть: K = , где m =|{ωi : g (ωi ) ≠ gˆ ( x (ωi )), i = 1, 2,..., N }| . Надежность обучения N классификатора – это вероятность получения решающего правила с заданным качеством. Пусть f ( x, α ) – класс дискриминантных функций, где α ∈A – параметр. Число степеней свободы при выборе конкретной функции в классе определяется количеством параметров в векторе α , т.е. размерностью A. Например, для классов линейных и квадратичных функций имеем: n
Линейная дискриминантная функция: f ( x, α ) = ∑ α i xi + α 0 . В таком случае имеем n + 1 i =1
степень свободы. n
n
n
Квадратичная дискриминантная функция: f ( x, α ) = ∑∑ αij xi x j + ∑ βi xi + β 0 . В таком i =1 j =1
i =1
случае имеем n + n + 1 степеней свободы. С увеличением степеней свободы увеличивается способность классификатора по разделению. 2
12.3
Вероятностная модель
Пусть прецеденты – это результат реализации случайных величин. Рассмотрим величину риска (т.е. ошибки) связанной с классификацией. Определим понятия риск среднего и риска эмпирического. Пусть на Ω заданы σ -алгебра и мера P . Пусть также x – вектор признаков, ~ f – класс функций, из которых выбирается решающее правило,
82 f ( x, α ) – решающее правило (результат классификации), которое принимает значение 0 или 1 при фиксированном векторе параметра, χ – характеристическая функция множества, ~ A – множество параметров, описывающие различные функции в f . Тогда gˆ = f ( x, α ) , где f ∈ f% и f : X × A → M , y = g (ω ) .
В данных обозначениях средний риск выглядит следующим образом: K (α ) = ∫ χ { y ≠ f ( x,α )}dP . X
Для случая двух классов, при M = {0,1} , имеем: K (α ) = ∫ ( y − f ( x, α ))2 dP Ω
или K (α ) =
∫
( y − f ( x, α ))2 dP( x, y ) ,
( X ,M )
где dP – это вероятностная мера на пространстве X .
12.4
Задача поиска наилучшего классификатора
Рассмотрим минимизацию функционала: K (α ) → min α∈ A
Задача же поиска наилучшего классификатора состоит в нахождении α * такого, что K (α * ) = min K (α ) . α ∈A
Если же минимума не существует, то надо найти α * такое, что K (α * ) − inf K (α ) < δ . α∈A
Другими словами, необходимо решить задачу минимизации среднего риска. Поскольку dP неизвестно, будем решать задачу минимизации эмпирического риска. Пусть l – число прецедентов. Тогда эмпирический риск задается выражением: 1 l K эмп (α ) = ∑ y − f ( x, α ) . l i =1 Таким образом, задача минимизации эмпирического риска выглядит так: K эмп (α ) → min , α∈A
где случайные величины мы минимизируем по параметру α – любой возможный параметр. В идеале надо получить взаимосвязанные оценки эмпирического и среднего риска. Отметим, что чем меньше l , тем легче построить f ( x, α ) такую, что K эмп (α ) обращается в ноль, либо очень мало. Но при этом истинное значение K (α ) может сильно отличаться от K эмп (α ) . Необходимо выбрать f ( x, α ) такую, чтобы имела место равномерная сходимость по α выражения: P sup K эмр (α ) − K (α ) > ε l → 0 . α →∞ Фактически это есть сходимость частот к математическому ожиданию. В дальнейшем будем считать, что в зависимости от конкретного набора прецедентов можем получить любые α . Но необходимо, чтобы полученные эмпирическое решающее хорошо работало (отражало общие свойства) для всех образов. Поэтому в формуле присутствует равномерная сходимость.
83
Сходимость эмпирического риска к среднему. Случай конечного числа решающих правил.
12.5
Пусть K (α ) – математическое ожидание ошибки классификатора f ( x, α ) , A – событие – ошибка классификатора при решающем правиле f ( x, α ) , P (A) – вероятность, υ ( A) – частота в l испытаниях. Воспользуемся неравенством Бернштейна, тогда
P{| υ ( A) − P( A) |> ε } ≤ e−2e l есть оценка – соотношение между частотой и вероятностью при заданном количестве испытаний. Пусть ξ j – случайная величина. Тогда E (ξ j ) = 0 – математическое ожидание ξ j , 2
Eξ j2 = δ 2 – дисперсия, причем | ξ j |≤ L . Обозначим соответствующая оценка имеет вид: 2 t L ⋅t P | S n |> tδ n ≤ 2 ⋅ exp − . , где a = nδ 2 ⋅ 1 + a 3
{
S 0 = ξ1 + ξ 2 + ... + ξ n .
Тогда
}
ln N − ln η ln N − ln η , и e= 2 2l 2e где l – необходимое количество прецедентов для обеспечения близости. Теорема. Пусть из множества, состоящего из N решающих правил, выбирается правило, частота ошибок которого на прецедентах составляет υ . Тогда с вероятностью 1 − η можно утверждать, что вероятность ошибочной классификации с помощью данного правила f ( x, α ) составит величину, меньшую υ + e , если длина обучающей l=
последовательности не меньше l =
ln N − ln η ln N − ln η , где e = , η и e заданы и 2 2l 2e
последовательность независима. Данная теорема справедлива для случая конечного числа решающих правил. Вапник и Червоненкис смогли обобщить эти оценки на случай бесконечного числа решающих правил.
12.6
Случай бесконечного числа решающих правил
Введем понятие “разнообразия класса функций для бесконечного множества”. Пусть x1 , x2 ,..., xl – прецеденты. Определение. Дихотомией называется разбиение множества на два подмножества. В нашем случае имеем 2 l дихотомий. Итак, пусть f ( x, α ) , α ∈ A – это класс решающих правил, причем f ( x, α ) = {0,1} . Пусть ∆( x1 , x2 ,..., xl ) есть количество дихотомий на классе решающих правил. Тогда зададим энтропию следующим образом: H (l ) = E{log 2 ∆( x1 , x2 ,..., xl )} , где математическое ожидание берется по всем выборкам ( x1 , x2 ,..., xl ) . Тогда H S (l ) = E{log 2 ∆ S ( x1 , x2 ,..., xl )} есть энтропия класса S решающих правил на выборках длины l .
84 12.6.1 Критерий равномерной сходимости υ (α ) к вероятностям P (α )
Теорема. Для равномерной сходимости υ (α ) = K эмп (α ) к P (α ) = K (α ) по классу α ∈ A H (l ) необходимо и достаточно, чтобы l → 0 . →∞ l Суть данного критерия – не пытаться выделить очень точный классификатор, так как это отдаляет от общности. Сразу же возникает проблема необходимость перехода к бесконечным системам решающих правил. Существенно, что значение имеет лишь конечное подмножество систем решающих правил, необходимое для разделения конечного числа прецедентов. 12.6.2 Достаточное условие равномерной сходимости Проверка условия критерия равномерной сходимости по вероятности затрудняется неопределенностью распределения выборки. Поэтому достаточные условия формулируются таким образом, чтобы не зависеть от распределения и при этом гарантировать равномерную сходимость. В таком случае вместо энтропии рассматривается величина: m S (l ) = max ∆ S ( x1 , x2 ,..., xl ) , x1 ,..., xl
где m (l ) – это функция роста класса решающих функций f ( x, α ) . Т.к. логарифм максимума равен максимуму логарифмов, что, в свою очередь, не меньше математического ожидания от логарифма, то log 2 m S (l ) ≥ H S (l ) . Если lim log 2 m S (l ) l → 0 , S
l →∞
[
]
H S (l ) → ∞. l →∞ l Данное условие легко проверятся для различных классов решающих правил. Другими словами m S (l ) можно трактовать как максимальное число способов разделения l точек на два класса с помощью решающих правил f ( x, α ) , α ∈ A . Теорема. Функция роста либо тождественно равна 2 l , либо, мажорируется функцией
то по свойствам пределов lim
n −1
∑C i =0
i l
, где n – минимальное значение l , при котором m S (l ) ≠ 2 l , т.е. либо m S (l ) ≡ 2l , либо n −1
m S (l ) ≤ ∑ Cli . i =0
l n −1 l n −1 l n −1 . Значит m S (l ) ≤ 1,5 ⋅ , где l = 1, 2,..., n , и (n − 1)! (n − 1)! (n − 1)! i =0 S – степенная функция, мажорирующая m (l ) . Существует максимум n − 1 точка, которая еще разбивается всеми возможными способами с помощью правила f ( x, α ) , но никакие n точек этим свойством не обладают. Определение. n − 1 называется емкостью класса решающих функций или мера разнообразия решающих правил в классе f ( x, α ) или VC–размерностью класса – универсальная характеристика класса решающих функций. Отметим, что если m S (l ) = 2 l для всех l , то емкость бесконечна. Теорема. Если емкость класса решающих функций конечна, то всегда имеет место равномерная сходимость частот к вероятностям такое, что log 2 m S (l ) (n − 1) log l + log1.5 lim ≤ lim =0 l →∞ l l l →∞ и достаточное условие выполнено. В свою очередь
n −1
∑C
i l
≤ 1,5 ⋅
85 12.6.3 Скорость сходимости Запишем оценку для бесконечного числа решающих правил. Ее вид аналогичен случаю конечного числа решающих правил:
{
}
P sup P(α ) − υ (α ) > ε < 3m (2l ) ⋅ e α
S
−
ε 2 ( l −1) 4
.
Если емкость бесконечна, то оценка тривиальная (не больше единицы). Пусть r – конечная емкость класса решающих функций. Тогда
{
}
(2l )r − ε P sup P(α ) − υ (α ) > ε < 4,5 ⋅ ⋅e r α
2
(2l )r − ε Введем обозначение: η = 4,5 ⋅ ⋅e r
{
( l −1) 4
2
( l −1) 4
. ,
}
Тогда P sup P(α ) − υ (α ) > ε < η . α
η 2l r ln + 1 − ln 5 r Отсюда следует, что ε = . l −1 Значит, с вероятностью, превышающей 1 − η качество эмпирического оптимального решающего правила отличается от истинно оптимально решающего правила не более чем на величину ∆ = 2ε . В следующей таблице представлен некоторый итог наших рассуждений.
Близость эмпирического решающего правила к оптимальному решающему правилу Качество разделения (минимизация ошибки)
Малая емкость класса решающих функций (бедный)
Большая емкость класса решающих функций (богатый)
Хорошая
Плохая
Низкое
Высокое
Таким образом, необходимо минимизировать степени свободы. 12.6.4 Случай класса линейных решающих функций Пусть f ( x, α ) – линейная решающая функция, m – размерность пространства. Как уже отмечалось выше, имеем 2l дихотомий, где l – длина выборки. Хотим выяснить, какое количество дихотомий реализуется с помощью гиперплоскостей? Максимальное число точек в пространстве размерности m , которое с помощью гиперплоскостей можно разбить всеми возможными способами на два класса есть m + 1 . l m +1 S Если m (l ) ≤ 1,5 ⋅ , (m + 1)! то линейный риск будет равномерно сходиться к среднему риску. Емкость класса конечна и равна m + 1 .