Машинное обучение. Классификация, регрессия.

advertisement
Машинное обучение
Введение
Владимир Вежневец, Антон Конушин
Александр Вежневец
Компьютерное зрение
МГУ ВМК, Осень 2006
План Лекции






Машинное обучение и его применение в машинном
зрении;
Формальное определение и основные понятия;
Феномен переобучения;
Состоятельность метода обучения;
Элементы теории Вапника-Червоненкиса;
Методы экспериментальной оценки и сравнения
классификаторов;
Зачем нужно обучение?



Машинное обучение – настройка работы программы
на данных-примерах или на предшествующем опыте.
Обучение не требуется для того, чтобы
отсортировать массив.
Обучение требуется когда:



Опыт отсутствует или трудно формулируется (распознавание
речи)
Решение меняется со временем или решение должно легко
адаптироваться к частным случаем (биометрия,
маршрутизация в сетях)
Точная, строго вычислимая модель слишком сложна для
построения (шахматы)
Обучение подразумевает

Построение общей модели на основе конкретных
примеров;

Нужно построить модель, которая является хорошим
и практичным приближением данных.
Применение

Медицина: диагностика;
Финансы: скоринг, обнаружение подделок;
Сети: поисковые системы;
Маркетинг: прогнозы продаж, связь с потребителем;
Производство: дефектоскопия, оптимизация;
Телекоммуникации: оптимизация качества сервиса;

Машинное зрение.





Машинное обучение

С учителем



Без учителя



Есть объекты и «правильные ответы» на них – построить «связь»
Например, есть гистограммы цветов ночных и дневных
изображений, требуется построить правило по которым их можно
отличать
Есть данные, нужно сделать о них какие-то выводы
Например, есть гистограмма цветов изображения, требуется
выделить несколько основных цветов изображения
«На лету»

Обучение происходит во время работы
Роль обучения в машинном
зрение

Низкоуровневое зрение




Выделение краев
Цветовая сегментация
(кластеризация)
…
Зрение высокого уровня



Поиск объектов на
изображениях
Сегментация на
предопределенные области
…
*Вопрос: Как сработает поиск краев?
Пример: Auto PopUp

Система автоматической сегментации и
реконструкции сцены по одному изображению
Auto PopUp
Пересегментированное
Исходное изображение
изображение
*Материал предыдущих лекций
Auto PopUp
*Вопрос: какие могут быть дескрипторы областей?
Высокая размерность!
 0.1  0.3 
   
 72   66 
{xi } j   ... 
 ...   ... 
 13   2 


Множество векторов
дескрипторов областей
Пересегментированное
изображение
*Материал предыдущих лекций
Auto PopUp
Маркеры областей 3х мерным
поверхностям:
•Небо
•Земля
•Вертикальные поверхности
 0.1  0.3 
   
 72   66 
3,...,
1
{xi{}yj i }j  0,1,...

 ...   ... 
 13   2 


Множество
векторов
Множество
маркеров
областей
дескрипторов областей
*Процесс разметки «выучивается» системой
из составленной экспертом базы изображений
с известной разметкой
Auto PopUp
{ yi } j  0,1,3,...,1
Множество маркеров областей
Перенос разметки на изображение
и её анализ
*Анализ разметки проводится алгоритмами
о которых пойдёт речь в третьей части курса
Auto PopUp
Трехмерная модель!
Auto PopUp

Почему здесь потребовалось именно обучение и
можно ли было обойтись без него?

Данные:




Высокая размерность – десятки признаков;
Огромное количество – на каждом изображении порядка
сотни регионов;
Сложная, неочевидная для человека связь между описанием
региона и его маркером;
Подбор правила вручную (экспертом) занял бы очень
много времени и не мог бы гарантировать желаемый
результат!
Auto PopUp

Обучение дало:



Автоматизированный рабочий процесс;
Четкие количественные оценки качества;
Гарантированный результат;
Машинное обучение с
учителем
Определения и понятия

Пусть существуют два множества:



Множество объектов X
Множество ответов Y
Существует целевая функция y : X  Y
значения которой известны лишь на подмножестве
*
X l  x1 ,..., xl 

X l - обучающая выборка

xi , yi , i  1, l
- прецедент
Машинное обучение
Постановка задачи

Требуется построить отображение (гипотезу)
a : X  Y такое что:
 a – допускает эффективную программную реализацию;



Отображение воспроизводит на обучающей выборке
требуемые ответы (возможно, с некоторой вероятностью)
Отображение способно к обобщению – совпадает с целевым
не только на обучающей выборке.
Возможны дополнительные ограничения – гладкость,
монотонность и т.д. (определяется задачей)
Машинное обучение
Различные частные задачи


Классификация: Y – конечное множество

Бинарная -Y  0,1

Multiclass - Y  1,..., M 

Multilabel - Y  0,1
M
Регрессия: Y  , действительные числа
Замечание

В данной постановке задача является некорректно
поставленной и сама по себе ставит множество
вопросов:

В каком виде искать гипотезу а?

Ясно, что решений будет существовать бесконечное число,
как выбрать из них одно единственное?

Какой математический аппарат применять?

…
Модель алгоритма

Пусть А – параметрическое семейство отображений
A  a( x,  ) | a : X    Y 


Г – пространство допустимых значений параметра
(пространство поиска)
Будем выбирать отображение для решение задачи из
А

Процесс выбора назовём обучением
Метод обучения

Отображение  : X  a, строящее отображение по
обучающей выборке назовём методом обучения
l

Метод должен допускать эффективную программную
реализацию;

Обучение сводится к поиску точки в пространстве поиска Г
Пример:
Линейный классификатор

Модель алгоритма:
A  sign , x   c ,c
Скалярное произведение


Пространство поиска –
значения вектора  и
смещения с
Данные, с неизвестными ответами
Гипотеза a – какая-то
конкретная прямая
Обучающая выборка
Оценка качества результата
Функция потерь

Функция потерь L  Y  Y  R характеризует отличие
*

правильного ответа y  y ( x) от ответа данного
построенным отображением y  a(x)




L( y, y)  [ y  y]
L( y, y)  y  y
2


L( y , y )   y  y 
L( y, y)   y  y   
отклонение
- индикатор потери
- отклонение
- квадратичное отклонение
- индикатор существенного
Оценка качества результата
Эмпирический риск

l
Пусть, X  x1 ,..., xl  - обучающая выборка

Эмпирический риск (ошибка тренировки):
Remp



l
1
a, X l   L(a( xi ), yi )
k i 1
Метод минимизации эмпирического риска*:
 X l   arg min Remp a, X l 
aA

*мы свели задачу машинного обучения к задаче оптимизации
Замечание

Гипотез, имеющих нулевой эмпирический риск может
так же существовать неограниченное количество:
Наиболее частная гипотеза
Золотая середина?
Вопрос:
Какова здесь модель?
Наиболее общая гипотеза
Модельная задача
Данные


2 1

Целевая функция – y ( x)  1  x

i 1 

Тренировочная выборка – X   xi  2
 1
l 1 


i  0.5 

Контрольная выборка – X   xi  2
 1
l 1


 На ней проверим работу
*
l
c
*Вопрос: как будут выглядеть выборки?
Модельная задача
Модель алгоритма и метод обучения

Модель алгоритма –
 Полиномы степени n

Метод обучения –

ax,     0   1 x  ...   n x n
 X l   arg min Remp a, X l 
aA
Минимизация эмпирического риска
*Методы аппроксимации полиномами известны из курса численных
методов
Результат для n=40
Переобучение
(overfitting)

Феномен наличия высокой ошибки на контрольной
выборке при малой ошибке на обучающей


На практике очень частый эффект!
Фактически, главная проблема машинного обучения
Переобучение

Причина – гипотеза хорошо описывает свойства не
объектов в целом, но только лишь объектов из
обучающей выборки:




Слишком много степеней свободы параметров модели
алгоритма (слишком сложная модель)
Шум в данных
Плохая обучающая выборка
Как формализовать и оценить склонность алгоритма
к переобучению?
Состоятельность метода
На пальцах

Метод состоятелен, если он с большой вероятностью
делает маленькую ошибку на данных не
присутствовавших в обучающей выборке


Мы говорим «с большой вероятностью» потому что точно мы
не сможем сказать никогда
Требуется вероятностная формулировка обучения
Вероятностная
формулировка


Пусть X – вероятностное пространство
Пусть мера пространства P

Множество прецедентов X l выбрано случайно и
независимо согласно распределению P (случайная
выборка); для них известны ответы

Требуется построить отображение
a : X Y
Вероятностная формулировка
Бинарная классификация

Эмпирический риск:


l
1
REmp (a, X l )  P a( x)  y | X l   [a( xi )  yi ]
l i 1

Общий риск:
R(a, X )  Pa( x)  y | X    P( x)a( x)  y dx



X
рассчитать невозможно
требуется минимизировать
Модель алгоритма и метод обучения
определяются так же
Состоятельность метода

Метод обучения
 называется состоятельным, если
Точность

Надежность

PX l , X R(  ( X ), X )    
l
Общий риск

Для достаточно малых значений точности и больших
значений надёжности
Вопросы

Как оценить состоятельность метода?

Как выбрать оптимальный, с точки зрения общего
риска, алгоритм?
Теория
Вапника-Червоненкиса

Теория, предложенная русским математиком
Владимиром Вапником, для оценки способности к
обучению различных моделей алгоритмов

Основные результаты теории:


Оценка сложности (емкости) модели алгоритма
Оценка состоятельности через эмпирический риск и
сложность модели
Размерность
Вапника-Червоненкиса

Пусть:
 А – модель алгоритма (бинарной классификации)


Пример – A – все прямые, a – конкретная прямая
X – исходное пространство объектов

Тогда, размерностью Вапника-Червоненкиса модели
алгоритма А, назовем число равное максимальному
числу точек из X, которые алгоритмы из А могут
разбить на два класса всеми возможными способами

Обозначение: VC
dim
( A)
Пример для прямой на
плоскости
VCdim ( Alin )  3
?
Оценка состоятельности
a  A, a   ( X )
l

Пусть,

Общий риск складывается из двух частей –
эмпирический риск и штраф за сложность:
Точность

Надежность

P R(a, X )  REmp (a, X )   (VCdim ( A), , l )  
l
Общий риск
Эмпирический риск
Штраф за сложность
Штраф за сложность
 (VCdim ( A), , l ) 
 ln 
VCdim ( A) 
2l
 ln
 1 
l
l
 VCdim ( A) 

Тем меньше, чем больше обучающая выборка

Тем больше, чем больше требуемая надежность

Тем больше, чем больше сложность модели
Принцип структурной
минимизации риска


Основная идея - «Выбрать модель наиболее простую
из достаточно точных»
Пусть есть семейство моделей А с выделенной
последовательностью подсемейств возрастающей
сложности
A1  A2  ...  Ah  A

Выберем семейство с минимальной сложностью, но
обеспечивающее нужную точность
Иллюстрация
Слишком простая?
Слишком сложная?
Оптимальная?
Практический вывод из VC
теории

Требуется баланс между сложностью модели,
обеспечивающей низкий эмпирический риск и
простотой, обеспечивающей способность к
обобщению
Проблема теоретических
оценок общего риска

Нетривиально рассчитываются для конкретных
алгоритмов

Сильно завышены

Как следствие, для практической задачи
малоинформативны
Методы экспериментальной
оценки качества алгоритмов

Для конкретной задачи, желательно получить точные
количественные оценки качества работы

Используются экспериментальные методы:




Удерживание
Скользящий контроль
5-2 контроль
…
Удерживание

Вспомним, что такое общий риск:
R(a, X )  PX l a( x)  y    P( x)a( x)  y dx
X



Его минимизация для нас является основной целью
Однако, напрямую его посчитать невозможно (требует
вычислений на неограниченном множестве)
Оценим общий риск ошибкой на некотором конечном
подмножестве X не пересекающимся с обучающей
выборкой:

R ( a, X ) ~ P a ( x )  y | X c


1 c
  a( x j )  y j
c j 1

Удерживание

Пусть, имеется набор данных X k  x1 ,..., xk  с
известными ответами

Разобьем

Будем использовать для обучения
контроля X c

То есть:
X X  X :X X 0
l
c
k
l

c
X l , а для
P( a ( x )  y )  P a ( x)  y | X
c

Недостатки удерживания

Быстро и просто
рассчитывается

Некоторые
«сложные»
прецеденты могут
полностью попасть
в только одну из
выборок и тогда
оценка ошибки
будет смещенной
Обучение
Ошибка произойдет не по
вине классификатора, а
из-за разбиения!
*возможна и обратная
ситуация
Контроль
Повторное удерживание

Если разбиение на контроль и обучение может быть
не устойчивым, то почему бы не провести его много
раз и не усреднить?



Такой методикой мы частично избавимся от проблемы
«сложных прецедентов»;
НО, вероятность того, что какие-то прецеденты ни разу не
попадут в контрольную выборку всё равно велика;
Процесс становиться сильно рандомизированным;
Скользящий контроль

Разделим выборку на множество непересекающихся
частей и будем поочередно использовать одно из них
для контроля а остальные для тренировки

Разбиваем:
X 
i f
1
: X i  X j  0, i  j
f
i
k
X

X

i 1

Приближаем риск:
1
P(  ( X )  y ) 
f
k
*
f
i
*
i
P
(

(
X
)

y
|
X

 )
i 1
j i
Иллюстрация
X k  x1 ,..., xk 
X1
X2
Контроль
Обучение
X3
X4
X5
Результат считается как средняя
ошибка по всем итерациям
Свойства

В пределе равен общему риску

Каждый прецедент будет один раз присутствовать в
контрольной выборке

Обучающие выборки будут сильно перекрываться
(чем больше сегментов, тем больше перекрытие)

Если один группа «сложных прецедентов» попала полностью
в один сегмент, то оценка будет смещенной
5-2 контроль
(5-2 cross validation)

Некоторый компромисс:



Проведем замер ошибки методом скользящего контроля с
двумя сегментами
Повторим этот эксперимент пять раз и усредним результат
Свойства:


Каждый из прецедентов будет учувствовать в контрольных
выборках на каждом из 5 этапов;
Из-за малого числа сегментов и множества испытаний
вероятность того, что какая-то группа прецедентов всегда
будет в одном сегменте становится очень мала
Почему так?

Мы привели лишь эвристическое обоснование
данных методик, НО для этого всего есть строгое
обоснование основанное на мат-статистике
Виды ошибок

Измерения ошибки как «вероятности выдать
неверный ответ» может быть не всегда достаточно


15% ошибки при постановке диагноза может означать как и
то что, 15 % больных будут признаны здоровыми (и
возможно умрут от отсутствия лечения), так и то, что 15%
здоровых больными (и деньги на лечение будут потрачены
зря)
При неравнозначности ошибок для разных классов
вводят понятие ошибки первого и второго рода и
замеряют их по отдельности
Ошибки I и II рода

Пусть, существует «основной класс»



Ошибка первого рода равна вероятности принять основной
класс за вторичный


Обычно, это класс, при обнаружении которого, предпринимается
какое-либо действие;
Например, при постановке диагноза основным классом будет
«болен», а вторичным классом «здоров».
Вероятность «промаха», когда искомый объект будет пропущен
Ошибка второго рода равна вероятности принять вторичный
класс за основной

Вероятность «ложной тревоги», когда за искомый объект будет
принят «фон»
Ошибки I и II рода
Ошибка II рода
Построенная гипотеза
Истинная гипотеза
Будем считать красные
точки «основным классом»
Ошибка I рода
Ошибки I и II рода

Что считать основным классом зависит полностью от
прикладной специфики

Особенно важно оценивать ошибки I и II рода
раздельно при несбалансированности классов:

Пусть P( y  1)  0.01; P( y  1)  0.99

Тогда при нулевой ошибке II рода и ошибке I рода 0.5
P(a( x)  1 | y  1)  0.5

Общая ошибка всего лишь P(a( x)  y )  0.005
Чувствительность
vs
Избирательность

Чувствительность – вероятность дать правильный
ответ на пример основного класса
sensitivit y  P(a( x)  y | y  1)

Избирательность – вероятность дать правильный
ответ на пример вторичного класса
specificit y  P(a( x)  y | y  1)
*Вопрос – как связаны данные понятия и ошибки I и II рода?
Регулировка баланса

Почти все алгоритмы
классификации допускают
регулировку соотношения
ошибки I и II рода за счет
варьирования некоторого
параметра
ROC кривая

ROC – Receiver Operating Characteristic curve

Кривая, отражающая зависимость чувствительности и
ошибки второго рода
Лучший случай
Худший случай
ROC кривая
Построение

Для различных значений
параметра строится таблица
ошибок



По таблице строиться набор
точек в плоскости sensitivity/FP


Сам параметр в таблице не
участвует!
Классификатор строиться и
оценивается на разных
выборках!
Каждая строка таблицы - точка
По точкам строиться кривая
Sensitivity
False Positive
0.0
0.0
0.25
0.5
0.5
0.8
…
…
1.0
1.0
Анализ ROC кривой

Площадь под графиком – AUC



Дает некоторый объективный показатель качества
классификатора
Позволяет сравнивать разные кривые
Соблюдение требуемого значения ошибок I и II рода

Зачастую, для конкретной задачи существуют рамки на
ошибку определенного рода. С помощью ROC можно
анализировать возможность текущего решения
соответствовать требованию
Пример

Данные – точки на
плоскости

Модель алгоритма – порог
по оси X
 1, x1  
a( x , x )  
 1, x1  
1

2
Метод обучения –
минимизация
эмпирического риска
полным перебором
Удерживание
Ошибка: 0.1133
Ошибка: 0.1433
Тренировочная выборка
Контрольная выборка
Повторное удерживание

Тренировочная ошибка:



{0.1097 0.1236 0.1208 0.1250 0.1250}
Среднее = 0.1208
Ошибка на контроле


{0.1833 0.1222 0.1333 0.1222 0.1167}
Среднее = 0.1356
Скользящий контроль
Разбиваем на множества
Скользящий контроль
Итеративно измеряем ошибку
Скользящий контроль

Тренировочная ошибка:



{0.1236 0.1208 0.1250 0.1097 0.1306}
Среднее = 0.1219
Ошибка на контроле


{0.1500 0.1333 0.1222 0.1778 0.1000}
Среднее = 0.1367
Построение ROC
Построение таблицы

Меняем порог и
оцениваем ошибку
Sensitivity
False Positive
0.0
0.0
0.25
0.5
0.5
0.8
…
…
1.0
1.0
Построение ROC
Построение кривой

По таблице строим точки

Точки интерполируем кривой
Итоги лекции
Возможные вопросы на экзамене!


Постановка задачи машинного обучения с учителем
Основные определения:







Принцип минимизации эмпирического риска и проблема
переобучения
Состоятельность метода обучения
Размерность Вапника-Червоненкиса семейства моделей
Оценка состоятельности семейства моделей
Принцип структурной минимизации риска
Экспериментальные методы оценки классификаторов



Модель алгоритма, метод обучения, гипотеза, общий и
эмпирический риск
Удерживание, скользящий контроль
Ошибка I и II рода
ROC кривая
Следующая лекция

Обзор методов обучения

Вероятно, будет выдано второе задание
Сдайте e-mail!
Использованы материалы

Слайды доклада «Supervised Learning of Edges and Object
Boundaries» Piotr Dollár Zhuowen Tu Serge Belongie

Черновики лекций «Математические методы обучения по
прецедентам» Константин Воронцов
Download