«Введение в компьютерное зрение» Владимир Вежневец, Антон Конушин Александр Вежневец

advertisement
«Введение в компьютерное
зрение»
Владимир Вежневец, Антон Конушин
Александр Вежневец
МГУ ВМК, Graphics & Media Lab,
Осень 2006
План лекции

Деревья классификации

Байесовский подход к классификации

«Наивный» Байесовский классификатор (Idiot Bayes)

Нормальный дискриминантный анализ

Нейронные сети

Метод опорных векторов

Комитетные методы


Bagging
Boosting
Вопросы с предыдущей
лекции

Почему не рассказываем про обучение «на лету»?

Почему же скользящий контроль лучше повторного
удерживания?
Обучение на лету


Модель:

Множество состояний S

Множество действий A

Скалярный «выигрыш» r
В каждый момент времени t :




Агент получает свое состояние st  S
и набор возможных действий A( st )
Агент выбирает действие a  A( st ) и получает «выигрыш»
rt
Требуется максимизировать выигрыш

Ясно, что выигрыш можно оптимизировать «жадно» и «дальнесрочно» - определяется задачей
Особенности

Нет готовых ответов, есть «запоздалый выигрыш»



Применение




Требует от системы возможности постоянно получать отклик
о качестве работы (выигрыш);
Зачастую, невозможное требование для коммерческих
систем компьютерного зрения;
Игры;
Робот в лабиринте;
Частичная видимость среды;
Для задач допускающих формулировку в виде задач
обучения с учителем применение обучения «на лету»
дает заведомо худший результат!
Почему же скользящий контроль лучше
повторного удерживания?

Основной довод скользящего контроля:


Каждый элемент гарантированно попадет в контрольную
выборку хотя бы один раз
Довод 5-2 контроля:


Тренировочные выборки абсолютно декоррелированы (не
пересекаются)
Каждый прецедент учувствует в тренировке и контроля
ровно по 5 раз
Почему же скользящий контроль лучше
повторного удерживания?

Вероятность пропустить хотя бы один прецедент при
повторном удерживании: P  (1   ) n  k






- доля прецедентов в контрольной выборке
k - количество прецедентов всего
n - количество итераций
n
log P
k
log( 1   )
10
При   0.5; k  1000; n  10 0.5 1000  0.9766
Вероятность, что прецеденты будут выбраны в
равных долях еще меньше!!!
Деревья классификации
Classification trees
Деревья классификации
Модель алгоритма


Двоичное дерево
Узлы:



Помечены некоторым
предикатом  : X  bool
true
 1 x 
true
Связи:

 0 x 
 true 
Помечены 

 false 
y  1
false
y  1
false
y  1
Листья:

Помечены ответами из Y
*Вопрос: кто помнит, что такое предикат?
Деревья классификации
Модель алгоритма

Выходом классификатора ax 
является значение y листа,
полученного при обходе:
 0 x 
true



Начинаем от корня
Переходим в тот узел, в
который ведет связь
помеченная значением
предиката в текущем узле
Заканчиваем, попав в лист
 1 x 
true
y  1
false
y  1
false
y  1
Пример
ВАЖНО: каждый лист определяет собой область пространства Х
Деревья классификации
Пример работы
x5
x  6?
false
true
y  1
x  3?
true
y  1
false
y  1
a( x)  1
Деревья классификации
Модель алгоритма: пространство поиска

Количество ветвлений - сильно влияет на сложность алгоритма
и соответственно на размерность Вапника-Червоненкиса и
склонность к переобучению

Предикаты – обычно, используются пороги по проекциям на оси
координат (на элементы вектора признаков)
j

true
,
x

0
m
 x  ( x ,...x )  
j
false
,
x




Деревья классификации
Метод обучения

Введем меру «неоднородности» для листа дерева


Пусть, при обходе дерева до вершины m из тренировочной
выборке «доходят» Nm прецедентов;
Из них Nmy прецедентов принадлежат классу y

N my
Пусть, P y | x, m   p 
Nm

Тогда «неоднородность» листа m -
y
m
I m   pmy log 2 pmy
y
Деревья классификации
Метод обучения

Пусть, дана обучающая выборка T  ( xi , yi )i 1

Строим от корня:
N



Если текущая вершина однородная, то она лист; алгоритм
останавливается
Если же нет, делаем разбиение, минимизирующие
«неоднородность»
Для каждой из получившихся вершин повторяем процедуру
Особенности

Плюсы

Просто и наглядно

Легко анализируемо

Быстро работает

Легко применяется для
задач со множеством
классов и к регрессии

Минусы

Плохо аппроксимирует
сложные поверхности

В общем случае, требует
сложных алгоритмов
«обрезания» для контроля
сложности
Иллюстрация
Верный источник как
Недо- так пере-обучения!
Байесовская стратегия
классификации
Bayesian classification
Статистическая формулировка


Пусть X – вероятностное пространство
Пусть мера пространства P

Множество прецедентов X l выбрано случайно и
независимо согласно распределению P (случайная
выборка); для них известны ответы

Требуется построить отображение
a : X Y
Статистическая формулировка
Бинарная классификация

Эмпирический риск:


l
1
REmp (a, X l )  P a( x)  y | X l   [a( x)  y ]
l i 1

Общий риск:
R(a, X )  Pa( x)  y | X    P( x)a( x)  y dx
X


рассчитать невозможно
требуется минимизировать
Байесовский
классификатор

Предположения:



Известна функция правдоподобия: Px | y 
Известны априорные вероятности: P( y ), P( x)
Принцип максимума апостериорной вероятности:
Правдоподобие –
условная вероятность
наблюдения
Вероятность
класса

P( x | y )  P( y ) 
a( x)  arg max P y | x  

yY
P( x)


Формула Байеса
Вероятность
наблюдения
Пример:
Какова вероятность увидеть на
улице динозавра?
Идя по улице вы видите такую сцену:
(это и есть наблюдение х)
Вычислим вероятность того,
что наблюдая такую сцены
мы действительно видим
динозавра
Правдоподобие –
вероятность того, что будь
это действительно
динозавр наблюдение
было бы таким
Априорная вероятность
встретить динозавра
P( x | y )  P( y )
P y | x  
P( x)
Априорная вероятность
увидеть такую сцену
Пример:
Какова вероятность увидеть на
улице динозавра?
Априорная вероятность
встретить динозавра
x(x| y0).1 PP( yy)  0.000001
Px | y   0.7 PP
P y | x  
P( x)
Правдоподобие –
7
вероятность того, что будь 0.7  0.0000001
Априорная


P
y
|
x


0
.
000007

% вероятность
это действительно
0.1
10000
увидеть такую сцену
динозавр наблюдение
Пусть :
было бы таким
Свойства классификатора

Модель алгоритма и метод обучение строго не
определены (не нужны даже обучающая выборка) –
классификатор строится непосредственно по
функциям априорных вероятностей и правдоподобия
данным «свыше»

Дает наименьший общий риск (состоятелен) при
выполнении предположений
Практическое применение

На практике, функция правдоподобия и априорные
вероятности обычно не известны;

Для применения Байесвокого подхода на практике
требуется каким либо образом их оценить


Зачастую, предполагается что объекты принадлежат какомуто статистическому распределению, параметры которого
оцениваются на обучающей выборке;
Априорные оценки так же вычисляются на обучающей
выборке
«Наивный» Байесовский
классификатор

Пусть, множество X является конечным


Множество цветов в системе RGB
Набор логических атрибутов (наличие в письме того или
иного слова)

Для каждого значения из X по обучающей выборке
оценим функцию правдоподобия Px | y 

Так же, оценим априорную вероятности P( y )
P( x | 1) P(1)

 1, P( x | 1) P(1)  1
a ( x)  
P( x | 1) P(1)
 1,
1

P( x | 1) P(1)
«Наивный» Байесовский
классификатор
Сегментация кожи

Для всех возможных
цветов по обучающей
выборке строится
таблица правдоподобия
и рассчитывается
априорная вероятность
Нормальный
дискриминантный анализ
Normal discriminant analyzes
Нормальный
дискриминантный анализ

Предположения:

Функции правдоподобия имеют нормальное распределение:
P( x | y )  N (  y ,  y ) 
1
2 
n

2
y
1
2
 1

T
1
exp   x   y   y x   y 
 2

Дана обучающая выборка прецедентов (случайных и
независимых) X l
Нормальное распределение


Поверхность, на которой
точки имеют равную
вероятность представляет
собой эллипсоид
Мат. ожидание – центр
эллипса, ковариационная
матрица – матрица
поворота и растяжения
(задает оси эллипса)

Расчет разделяющей
поверхности


Обозначим: Py  P( y); p y ( x)  Px | y 
Запишем уравнение разделяющей поверхности (на
этой поверхности вероятности равны):
P1 p1 ( x)  P1 p1 ( x);
ln p1 ( x)  ln p1 ( x)  ln( P1 / P1 )  0
С=const(x)

Распишем:
n
1
T
ln p y ( x)   ln 2  ln  y  x   y   1
y x   y 
2
2
Расчет разделяющей
поверхности
 1   1
 1
 1
( x  ˆ )T  y1 (  1   1 )  Cn,
1
T
ln p y ( x)   ln 2  ln  y  x   y   1
y x   y 
2
2
1
P1 
 P1
ˆ  (  1   1 )
2
Расчет разделяющей
поверхности
n
1
T
ln p y ( x)   ln 2  ln  y  x   y   1
y x   y 
2
2
 1   1
Поверхность становится
квадратичной!
Модель алгоритма

Классификатор строится в виде некоторой
поверхности, отвечающей принципу максимума
апостериорной вероятности

P( x | y )  P( y ) 
a( x)  arg max P y | x  

yY
P( x)


arg max N ( y ,  y )x 
y{1, 1}

Поверхность зависит только от параметров
распределений – пространство поиска 1 , 1 , 1 , 1
Метод обучения

Для построения классификатора требуется по
обучающей выборке оценить параметры
распределений

С учётом их случайности и независимости, можно
применять стандартный механизм оценки
параметров из математической статистики

Например, метод максимального правдоподобия
Свойства классификатора

В случае точной оценки параметров распределений и
априорных вероятностей является Байесовским
(дает минимум общего риска);

Строит простую для вычисления поверхность
(линейную или квадратичную);

Делает сильное предположение о нормальности
распределений

В случае невыполнения предположений даёт
непредсказуемый результат
Советы по практическому
применению

Проверить классы на нормальность!


В случае наличия выбросов использовать робастные
оценки


Хи-квадрат статистика
MLESAC
Аккуратно оценить априорные вероятности
Развитие метода

Обобщение на множество классов

Введение риска
Нейронные сети
Neural Networks
Нейоронные сети

Предпосылка:


Известно, что биологические системы (люди, животные)
прекрасно справляются со сложными задачами
распознавания образов;
Основная идея:

Применить знания о работе мозга (людей, животных) для
решения задач распознавания образов;
Биологические нейронные
сети

1872-1895 гг.


Понятие нейрона и
нейронной сети;
Первые предположения о
принципе работы;
Биологический нейрон
Биологический нейрон
Биологический нейрон
Передача импульса
Дендриты
Например, могут
быть присоединены к
рецепторам
Аксон
Может быть
присоединен к
мышцам
Нейронная сеть

Совокупность соединенных
между собой нейронов;

Сеть осуществляет
преобразование входного
сигнала с рецепторов в
выходной, являющейся
реакцией организма на
внешнюю среду
Модель кибернетического
нейрона
Блок
преобразования
Входной сигнал
Синаптические
веса
x1
x2
w1
w2
...
...
xd
wd
Выходной
сигнал

Блок суммирования
McCulloch, W. and Pitts, W. (1943)
f
y
 d
i
y  f   wi x 
 i 1

Персептрон Розенблата
Модель алгоритма
Слой нейронов
Входной сигнал
Кибернетический нейрон
x0  1
x1
Порог
y1
y2
y3
Выходной сигнал
...
y4
xd
Функция преобразования - линейная
Rosenblatt (1962)
*Вопрос: зачем x0 ?
Персептрон Розенблата
Модель алгоритма

Свойства

Линейная классификация
d
y  w0   wi x i
i 1

Легко обобщается на
множество классов
?
Персептрон Розенблата
Метод обучения






Пусть дана обучающая выборка T  ( xi , yi )
Пусть, матрица W есть матрица весов, где элемент есть вес Wij
связи нейрона j и входа i
Проинициализируем, W (t  0) случайными малыми значениями
N
i 1
Для t  1,2,...
~
 Пусть, на входной образ xi  T сеть дает ответ y  yi
~
 Вычисляем ошибку   y  y
i
 Правим веса W (t  1)  W (t )    x  
i
 Повторяем, пока ошибка не будет меньше некоторого малого
числа
Персептрон Розенблата
Метод обучения

Особенности обучения




Прецеденты выучиваются по очереди
Оптимизируется эмпирический риск
Процесс сходится к некоторому локальному минимуму
Зависит от начальной точки
Многослойный персептрон
yi
H
yi  v z   vih z h  vi 0
T
i
vih
z

z h  sigmoid w Th x
h
z0  1

whj
x0  1
xj
h 1
xd
 
1  exp 

1
d
j
w
x
 wh 0
j 1 hj
Rumelhart et al. (1986)

Настройка методом обратного
распространения ошибки
Основная идея

Ошибку на последнем слое можно рассчитать явно

Ошибку на промежуточном слое, распространим с
последнего с текущими весами

Фактически, сеть запускается «наоборот» и вместо сигнала
распространяется ошибка

Для её минимизации применяется градиентный спуск

Подробнее http://cgm.graphicon.ru/content/view/57/66/
Многослойный персептрон
yi
H
yi  v Ti z   vih z h  vi 0
h 1

vih
z h  sigmoid w Th x
z

h
z 1
0
 
1  exp 

1
d
j
w
x
 wh 0
j 1 hj

E
E y i z h
 i h
whj y z whj
whj
Производная ошибки по весу
x0  1
xj
xd
Rumelhart et al. (1986)
Проблема локальных
минимумов
Локально оптимальны классификатор
(локальный минимум)
Идеальный классификатор
(глобальный минимум)
Особенности

Плюсы

Минусы

Универсальность

Грубая минимизация
эмпирического риска

Возможность решать
задачи со множеством
классов, регрессии и т.д.

Проблема локальных
минимумов

Очень большая
склонность к
переобучению

Высокая степень
параллельности

Почти неограниченный
простор для модификаций
Где почитать подробней:

Вежневец А. «Популярные нейросетевые архитектуры» сетевой
журнал «Графика и Мультимедиа»


Вежневец А. «Нестандартные нейросетевые архитектуры»
сетевой журнал «Графика и Мультимедиа»


http://cgm.graphicon.ru/content/view/57/66/
http://cgm.graphicon.ru/content/view/62/66/
Ресурс Сергея Терехова посвященный нейронным сетям

http://alife.narod.ru/lectures/index.html
Нейронные сети
Практическое применение

В свое время, пользовались большой популярностью за счет
универсальности и простоты применения (фактически, первое
семейство универсальных методов)


Фактически, нейронной сети можно было скормить все что угодно и
она что-то выдавала
Однако, нейронные сети во многом являются «дилетантским»
подходом к машинному обучению и с точки зрения теории (и
экспериментальных замеров) представляют собой очень
ненадежный и неточный механизм
Метод опорных векторов
Support Vector Machine
SVM
1. Максимизация отступа
А почему бы не брать ту, которая равно и
максимально удалена от обоих классов?
Прямых, разделяющих точки,
может быть множество
SVM
2. Опорные вектора
Измениться ли разделяющая
поверхность?
Прецеденты, которые нельзя убрать
без изменения поверхности
SVM
Случай линейной разделимости

Задача формулируется как поиск
гиперплоскости максимально от
выпуклой оболочки классов

Как выяснилось, такую
гиперплоскость всегда можно
записать в виде линейной
комбинации «опорных векторов»
- прецедентов, принадлежащих
выпуклой оболочке
SVM
Случай линейной разделимости

Задачу поиска такой
гиперплоскости можно
записать как задачу
оптимизации:
2
1
w  arg min   w 
2

yi w  xi  b  1
Глобальный минимум
находится методом
квадратичного программирования
Чисто геометрическая задача
SVM
Случай линейной разделимости

Плюсы

Глобальный минимум

Теоретически доказана
минимальность оценки
общего риска (Вапник)

Требует знания только
скалярных произведений

Минусы

Работает только для
линейно разделимых
классов
SVM
Случай шума

Просто переформулируем
оптимизационную задачу,
допустив ошибку, но штрафуя
за неё:
1

2
w  arg min 
w  C  i 
2
i


yi w  xi  b  1  i
Регулирует баланс
точности и толерантности
SVM
Случай нелинейной разделимости
x1
x1
x
0
x 
0 2
SVM
Случай нелинейной разделимости

Идея «ядровых»
преобразований:


Отобразить данные в
пространство, в котором
разделяющая поверхность
будет линейной (или близкой
к линейной)
Ядровые преобразования
можно быстро вычислять для
скалярных произведений,
даже при бесконечной
размерности целевого
пространства
K ( x, x ' )  ( x  x ' ) d
K ( x, x' )  exp(  x  x' ),   0
2
SVM

Плюсы
Минусы

Теоретически доказана
минимальность оценки
общего риска (Вапник)
Требует подбора
множества параметров
(ядро, параметры ядра,
штраф за ошибки)

При помощи ядровых
преобразований
обобщается на случай
сложных поверхностей
Теор. оценки верны только
для случая разделимости
(схема со штрафами эвристика)

Очень чувствителен к
нормализации данных!

Однозначность решения
(глобальный минимум)



SVM
Практическое применение

Метод являлся наилучшим методом классификации до,
примерно, 2000 года наголову обгоняя нейронные сети и т.п.

Фактически, метод опорных векторов – практический выход
теории Вапника-Червоненкиса

Однако, необходимость подбора большого числа не
интуитивных параметров сильно снижала его применение в
простых разработках (требовала наличия эксперта)
Коммитетные методы
Classifier ensembles
Download