SlideShare a Scribd company logo
Slides adapted from Fei-Fei Li, Rob Fergus,Antonio Torralba, Jean Ponce and Svetlana Lazebnik
Классификация изображений и
введение в машинное обучение
Антон Конушин
Ранее рассмотренный метод
Схема простого алгоритма выделения и распознавания объектов
Что было сложно и плохо?
• Можем работать только с контрастными объектами, которые
довольно легко выделить
• Признаков может быть много (несколько моментов, площадь,
положение, гистограммы яркости, каналов цвета и т.д.)
• Подбирать правила приходится вручную, много гипотез, когда
признаков много и распределение сложно, это невозможно.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 2000 4000 6000 8000
Эксцентриситет
Площадь
Шум
Ложки
Сахар
Как должно быть в идеале
Данные
Алгоритм обучения Обученная машина
Ответ
Вопрос
Что такое машинное обучение?
• Обучение ≠ «заучивание наизусть»
• Заучить наизусть – для машины не проблема
• Мы хотим научить машину делать выводы!
• Машина должна корректно работать на новых данных,
которые мы ей раньше не давали
• По конечному набору обучающих данных машина должна
научиться делать выводы на новых данных
Машинное обучение
• Нейронные сети - Перспептрон (Розенблатт, 1958),
когнитрон (Фукушима, 1975)
• Нейронные сети - обратное распространение
ошибки (1980е)
• Метод опорных векторов (1990е)
• Бустинг (конец 1990х)
• Рандомизированный решающий лес (начало 2000х)
• Нейронные сети - «глубинное обучение» (2006 и
далее)
Сегодня рассмотрим «на пальцах» один метод –
«метод опорных векторов»
Задача классификации образов
• Дано множество объектов, каждый из которых принадлежит
одному из нескольких классов. Нужно определить, какому классу
принадлежит данный экземпляр
• Каждый объект c номером j можно описать вектором признаков xj
• Каждому объекту можно приписать метку класса yj
• Всё множество известных наблюдений (конечное) можно
записать в следующем виде:
Каждое наблюдение (x,y) ещё называют прецедентом
Задача классификации образов
• Задача построить функцию y=f(x), которая для каждого
вектора-признаков x даёт ответ y, какому классу принадлежит
объект x
• Функция f() назвается решающее правило или классификатор
• Любое решающее правило делит пространство признаков на
решающие регионы разделенные решающими границами
Пространство
признаков
Решающая
граница
Классификация
• Будем выбирать функции ft из параметрического
семейства F (т.е. будем выбирать подходящий набор
параметров t)
• Введем некоторую функцию потерь L(ft(x,t), y),
• В случае классификации часто используют
,где - предсказанный класс
• Можем использовать и другие функции потерь
• Задача обучения состоит в том, чтобы найти набор
параметров t классификатора f, при котором потери для
новых данных будут минимальны
• «Метод классификации» = параметрическое семейство F +
алгоритм оценки параметров по обучающей выборке
( ( ), ) [ ( )]L f y I y f x x
( )f x
Общий риск
• Общий риск – математическое ожидание потерь:
• Наша задача – найти такие параметры t, при
которых общий риск минимален
• Но общий риск рассчитать невозможно, поскольку
распределение P для множества наших объектов
(x,y) неизвестно
= , , = , ,
,
Эмпирический риск
• Дано - обучающая выборка
• Эмпирический риск (ошибка обучения):
• Метод минимизации эмпирического риска:
Cмысл: подбираем параметры t решающего
правила f таким образом, чтобы эмпирический риск
Remp был минимален
 m
X  1 mx ,...,x
 
1
1
, ( ( ), )
m
m
emp i i
i
R f X L f x y
m 
 
 argmin , m
emp
f F
f R f X


Линейная классификация
• Рассмотрим случай
линейно разделимых
данных
• Только для 2х классов
• Т.е. таких, что вектора в
пространстве признаков
можно отделить друг от
друга гиперплоскостью
Обучающая
выборка
Данные, с неизвестными
ответами
Линейный классификатор
• Найдем линейную функцию (гиперплоскость) и разделим
положительные {y=+1} и отрицательные {y=-1} примеры
0:
0:


bныеотрицатель
bныеположитель
ii
ii
wxx
wxx
Какая
гиперплоскость
наилучшая?
Для всех
рассмотренных
плоскостей
эмпирический риск
одинаковый
Метод опорных векторов
• Найдем гиперплоскость, максимизирующую отступ между
положительными и отрицательными примерами
• Support Vector Machine (SVM)
1:1)(
1:1)(


byныеотрицатель
byныеположитель
iii
iii
wxx
wxx
ОтступОпорные вектора
Расстояние от точки до
гиперплоскости: ||||
||
w
wx bi 
Для опорных векторов, 1 bi wx
Поэтому отступ равен 2 / ||w||
http://www.machinelearning.ru/wiki/index.php?title=SVM
Поиск гиперплоскости
1. Максимизируем отступ 2/||w||
2. Правильно классифицируем все данные:
• Квадратичная оптимизационная задача:
• Минимизируем
При условии yi(w·xi+b) ≥ 1
• Решается с помощью методом множителей Лагранжа
wwT
2
1
1:1)(
1:1)(


byнегативные
byпозитивные
iii
iii
wxx
wxx
http://www.machinelearning.ru/wiki/index.php?title=SVM
Поиск гиперплоскости
• Решение:
• Для большей части векторов вес = 0!
• Все вектора, для которых вес >0 называются
опорными
• Определяется только опорными векторами
 i iii y xw 
Опорные
вектора
Обученные
веса
http://www.machinelearning.ru/wiki/index.php?title=SVM
Поиск гиперплоскости
• Решение:
b = yi – w·xi для любого опорного вектора
• Решающая функция:
• Решающая функция зависит от скалярных произведений (inner
product) от тестового вектора x и опорных векторов xi
• Решение оптимизационной задачи также требует вычисления
скалярных произведений xi · xj между всеми парами векторов
из обучающей выборки
 i iii y xw 
byb i iii   xxxw 
http://www.machinelearning.ru/wiki/index.php?title=SVM
Реальный случай
ξi
ξj
Минимизируем
При условии
С – параметр регуляризации


n
i
i
T
C
12
1
ww
 T
n ,...,1
Вводим дополнительные «slack»
переменные:
iii bwxy  1)(
В реальном случае идеально разделить данные невозможно
(эмпирический риск всегда больше 0)
• На линейно разделимых данных SVM работает отлично:
• Но на более сложных данных не очень:
• Можно отобразить данные на пространство большей размерности и
разделить их линейно там:
0 x
0 x
0 x
x2
Нелинейные SVM
Slide credit:Andrew Moore
Φ: x → φ(x)
Нелинейные SVM
• Идея: отображение исходного пространства
параметров на какое-то многомерное пространство
признаков (feature space) где обучающая выборка
линейно разделима:
Slide credit:Andrew Moore
Нелинейные SVM
• Вычисление скалярных произведений в многомерном
пространстве вычислительно сложно
• The kernel trick: вместо прямого вычисления преобразования
φ(x), мы определим ядровую функцию K:
K(xi , xjj) = φ(xi ) · φ(xj)
• Чтобы все было корретно, ядро должно удовлетворять условию
Мерсера (Mercer’s condition)
• Матрица K(xi,xj) должна быть неотрицательно определенной
• С помощью ядра мы сможем построить нелинейную решающую
функцию в исходном пространстве:
bKy
i
iii  ),( xx
Пример ядра
• Полиномиальное:
• Пусть d=2, x=(x1,x2):
• Т.е. из 2х мерного в 6и мерное пространство
d
cyyxK )),((),(  x
)()()()),((),( 2
2211
2
yxcyxyxcyyxK   x
),2,2,2,,()( 2121
2
2
2
1 cxcxcxxxxx 
SVM - резюме
• Мощный и гибкий подход на основе ядер
• Придумано много разных ядер
• Линейный метод часто достаточен
• На практике работает очень хорошо, даже для
маленьких обучающих выборок
• Много доступных библиотек:
http://www.kernel-machines.org/software
Предсказательная способность
• Научились обучать классификатор SVM на
обучающей выборке
• Нам нужно, чтобы классификатор хорошо работал на
данных, которые не использовались при обучении
• «Предсказательная способность» - качество
классификации вне обучающей выборки
• Как оценить предсказательную способность?
• Обучать на одной части известных данных,
проверять на другой
• «Удерживание»
• «Скользящий контроль» (Cross-validation)
Ответ
Удерживание
Будем разбивать имеющуюся обучающую выборку на
части
• На одной части будем обучать классификатор (минимизировать
эмпирический риск)
• На другой будем измерять ошибки обученного классификатора
(оценивать предстказательную способность)
  1
1
( , ) ~ ( ) | ( )
c
c
j j
j
R f X P f x y X f x y
c 
    
 k
k
xxX ,...,1
2
X1
X
Свойства «удерживания»
• Быстро и просто
рассчитывается
• Некоторые «сложные»
прецеденты могут
полностью попасть в только
одну из выборок и тогда
оценка ошибки будет
смещенной
Контроль
Обучение
Ошибка произойдет не
по вине
классификатора, а из-за
разбиения!
Скользящий контроль
• Разделим выборку на d непересекающихся частей
и будем поочередно использовать одно из них
для контроля а остальные для тренировки
• Разбиваем:
• Приближаем риск:
 
k
d
i
i
jidi
XX
jiXXX
1
1 ,0:



ji
i
d
i
ik
XyXfP
d
yXfP

  )|)((
1
*))(( *
1
Иллюстрация
 k
k
xxX ,...,1
Контроль
Обучение
2
X 3
X 5
X4
X1
X
Результат считается как
средняя
ошибка по всем
итерациям
Свойства
• В пределе равен общему риску
• Каждый прецедент будет один раз присутствовать
в контрольной выборке
• Обучающие выборки будут сильно перекрываться
(чем больше сегментов, тем больше перекрытие)
• Если одна группа «сложных прецедентов» попала
полностью в один сегмент, то оценка будет смещенной
• Предельный вариант – “leave one out”
• Обучаемся на всех элементах, кроме одного
• Проверяем на одном
• Повторяем для всех элементов
Ошибки I и II рода
• В наших задачах обычно классы объектов
неравнозначны
• Лицо человека – «основной» класс (положительные
примеры)
• Фон – «вторичный» класс (отрицательные примеры)
• Ошибка первого рода равна вероятности
принять основной класс за вторичный
• Вероятность «промаха», когда искомый объект будет
пропущен (пропустить лицо)
• Ошибка второго рода равна вероятности
принять вторичный класс за основной
• Вероятность «ложной тревоги», когда за искомый объект
будет принят «фон»
Ошибки I и II рода
Истинная гипотеза
Ошибка II рода
(ложные срабатывания)
Ошибка I рода
(пропущенные объекты)
Построенная гипотеза
Будем считать
красные точки
«основным классом»
Ошибки I и II рода
• При анализе изображений классы обычно
несбалансированы
• Объектов основного класса («лица») - мало
• Объектов второго класса («фон») - много
• Особенно важно оценивать ошибки I и II рода
раздельно при несбалансированности классов:
• Пусть
• Тогда при ошибке II рода 0 и ошибке I рода 0.5
• Общая ошибка всего лишь
9999999.0)1(;0000001.0)1(  yPyP
( ( ) 1| 1) 0.5P f x y    
00000005.0))((  yxaP
Точность и полнота
• Точность (Precision)
• Доля истинных объектов основного класса среди всех
классифицированных, как основной класс
• Полнота (Recall)
• Доля правильно распознанных объектов основного
класса среди всех объектов основного класса из
тестовой выборки
• Интегральный показатель F (F-measure)
• F = 2 ×
	×
Точность и полнота
• Полнота – 10 из 13, т.е. 77%
• Точность – 10 из 12, т.е. 83%
Регулировка баланса
Почти все алгоритмы
классификации допускают
регулировку соотношения ошибки
I и II рода за счет варьирования
некоторого параметра
Параметр b в линейном
классификаторе y = wx+b
ROC-кривая
M. Mathias. et. al.
Face detection
without bells and
whistles. ECCV2014
ROC-кривая - зависимость между видами
ошибок в зависимости от параметров
ROC кривая - Построение
• Для различных значений
параметра строится таблица
ошибок
• Сам параметр в таблице не
участвует!
• Классификатор строится и
оценивается на разных выборках!
Precision Recall
100% 0%
90% 15%
83% 20%
… …
0% 100%
• По таблице строиться набор
точек в плоскости параметр1
x параметр 2
– Например, precision/recall
– Каждая строка таблицы – точка
• По точкам строиться кривая
Анализ ROC кривой
• По ROC-кривой мы можем выбрать параметр
с оптимальным для наших целей
соотношением ошибок
• Можем посчитать интегральные параметры:
• Площадь под графиком – AUC
– Дает некоторый объективный показатель качества
классификатора
– Позволяет сравнивать разные кривые
• Другой параметр аP – average precision
– Средняя точность для всех значений полноты
Пример
M. Mathias. et. al.
Face detection
without bells and
whistles. ECCV2014
По ROC-кривой мы можем выбрать параметр с
оптимальным для наших целей соотношением ошибок
Категоризация изображений
Это город? Это автобус?
Да
Нет
Нет
Да
Задача категоризации изображений: определить, есть ли на
изображении объект (сцена) заданной категории
Категоризация изображений
Будем собирать кучу признаков по всему
изображению, делать из них вектор-признак, и его
классифицировать
Вектор-
признак
Тестовое
изображение
Обученный
классификатор
Outdoor
Предсказание
Обучение классификатора
МеткиКоллекция
изображений
Обучение
классификатора
Вектор-
признак
Обученный
классификатор
Признаки изображения
Метки
Обучающие
изображения
Обучение
классифика
тора
Обучение
Признаки
изображения
Обученный
классификатор
• Мы будем рассматривать в основном признаки изображения
• Методы классификации можно использовать любые
• Но сейчас у нас в руках только SVM
Признаки пикселей
Пространство
цветов L*a*b*
Пространство
цветов HSV
Пространство
цветов RGB
Градиенты в каждом
пикселе
Наличие и ориентация
края в каждом пикселе
Использование напрямую
• Можно ли использовать признаки
всех пикселей напрямую?
• Можно, если все изображения для
классификации будут одинакового
размера
• Нормализуем изображения, т.е.
приведем их к одному размеру
• Вытянем изображение в вектор,
признаки пикселей будут
элементами вектора
Для распознавания, изображение должно описываться вектор-
признаком фиксированной длины!
Space Shuttle
Cargo Bay
Гистограммы
• Мы можем измерять разные признаки (features)
изображения
• Цвет, края, градиенты, текстуру и т.д.
• Гистограммы – стандартный способ непараметрического
описания распределения признаков
Images from Dave Kauchak
Квантование признаков
• Как построить гистограмму для признаков, которые
изменяются непрерывно?
• Или разрешение слишком большое?
• «Квантование» - дискретизация признаков
• Пр: все направления градиента разбиваем на 8 вариантов
• Каждый вариант нумеруем от 1 до 8
Квантование признаков
• Есть фотографии тигров и медведей
• Хотим научиться отличать одни от других по цвету
• Оптимально ли использовать гистограмму цветов на
интервале от [0,255]?
• Не все цвета встречаются!
Адаптивное квантование
• Хотим разбить элементы (пр. пиксели) на часто
встречающиеся группы
• Затем можем каждый элемент сопоставить своей
группе (дать ему номер группы)
• Кластеризация!
• Например, методом k-средних
Для нашего примера
• Зададим количество кластеров (например, 100)
• Кластеризуем пиксели по цветам
• Будут кластеры в белой, зеленой, черной, оранжевой
областях
• Для каждого изображения построим гистограмму
распределения цветов пикселов по кластерам
Пространственное распределение
У всех этих трех изображений похожие гистограммы цветов
Пространственная пирамида
Вычислим гистограму в
каждом блоке и
объединим все
гистограммы в один
вектор-признак
Уровень 0 Уровень 1 Уровень 2
S. Lazebnik et. Al. Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories CVPR 2006
Общая схема построения вектор-признака
Вычислим
признаки по
изображению
Агрегируем
признаки
Квантуем
признаки
Определим
область для
вычисления
RGB Квантование на 10
уровней
71% 29%
Посчитанная
гистограмма
Features Coding
Spatial
pooling
Мешок слов
Классификация текстов
US Presidential Speeches Tag Cloud
http://chir.ag/phernalia/preztags/
• Представление документа без порядка: частоты слов из
словаря («мешок слов») Salton & McGill (1983)
Классификация текстов
US Presidential Speeches Tag Cloud
http://chir.ag/phernalia/preztags/
• Представление документа без порядка: частоты слов из
словаря («мешок слов») Salton & McGill (1983)
US Presidential Speeches Tag Cloud
http://chir.ag/phernalia/preztags/
• Представление документа без порядка: частоты слов из
словаря («мешок слов») Salton & McGill (1983)
Классификация текстов
«Визуальные слова»
Sivic, J. and Zisserman, A. Video Google: A Text Retrieval Approach to Object
Matching in Videos. ICCV 2003
• Что в нашем случае «слово» и «словарь»?
• «Визуальное слово» – часто повторяющийся
фрагмент изображения («visual word»)
• В изображении визуальное слово может
встречаться только один раз, может ни разу, может
много раз
Словарь и мешок слов
• «Словарь» – набор фрагментов, часто
повторяющихся в коллекции изображений
• Как составить словарь?
• Составить большой список всех фрагментов по всей
коллекции
• Разделить весь список на похожие группы
• Будем считать все фрагменты в одной группе –
«экземплярами» одного и того же слова
• «Мешок слов» - гистограмма частот появления
визуальных слов в изображении
Схема метода «мешок слов»
1. Извлечение фрагментов из коллекции
изображений
2. Построение “визуального словаря”
3. Построение «мешка слов» для каждого
изображения
• Например, по регулярной сетке
• Можем без перекрытия, можем с перекрытием
• Есть и другие способы выбора фрагментов!
1. Извлечение фрагментов
…
Вычисление признаков фрагментов
• Неупорядоченный список фрагментов из множества
изображений
• Нужно описать каждый фрагмент вектор-признаком
• Обычно на основе гистограмм ориентаций градиентов
(подробнее в следующей лекции)
2. Обучение словаря
…
2. Обучение словаря
Кластеризация
…
Slide credit: Josef Sivic
2. Обучение словаря
Кластеризация
…
Slide credit: Josef Sivic
Визуальный
словарь
Пример словаря
Fei-Fei et al. 2005
Визуальные словари
• Как выбрать размер словаря?
• Маленький: слова не могут описать все особенности
• Большой: переобучение
• Вычислительная сложность
• Деревья словарей
(Nister & Stewenius, 2006)
• Приближенные методы
• Хеширование
3. Построение «мешка слов»
…
частоты
слова
• Соберём тем же способом фрагменты для выбранного изображения
• «Квантуем» каждый фрагмент
• Определим, какому слову из словаря он соответствует
(фактически, сопоставим номер от 1 до N, где N – размер
словаря)
• Построим гистограмму частот фрагментов для изображения
Резюме мешка слов
• Идея «визуальных слов» и «мешка слов»
оказалась очень интересной и эффективной
• Мешок слов используется как сам по себе, так и
совместно с другими признакми изображения
• Есть хорошие реализации:
• Библиотека VLFeat http://www.vlfeat.org/
Резюме признаков
• Гистограммы – широко используемый метод
описания распределения признаков в
изображении (но не единственный)
• Гистограмму можем строить по регулярной сетке,
а можем адаптивно, с помощью кластеризации
• Можем вычислить разные признаки:
• Гистограммы цветов
• Гистограммы градиентов
• Гистограммы визуальных слов
• Каждый вид признаков можем считать по всему
изображению, а можем по области
• Часто используется пирамида разбиений из 3х уровней
(1 + 4 + 16 гистограмм)
Категоризация изображений
• Описывать изображение научились,
теперь нужно его категоризировать
(классифицировать)
• Nearest Neighbour (+kNN)
• SVM
• Random Forest
• Boosting
• Neural Networks
• Мы знаем SVM
• Можем придумать специальные ядра
для сравнения гистограмм
Функции сравнения гистограмм
• Histogram intersection
(нормализованные гистограммы)
• L1 distance
• χ2 distance
• Quadratic distance (cross-bin)


N
i
ihihhhD
1
2121 |)()(|),(
Jan Puzicha, Yossi Rubner, Carlo Tomasi, Joachim M. Buhmann: Empirical Evaluation of
Dissimilarity Measures for Color and Texture. ICCV 1999
 
 


N
i ihih
ihih
hhD
1 21
2
21
21
)()(
)()(
),(
 
ji
ij jhihAhhD
,
2
2121 ))()((),(
 

K
m
jiji mhmhhhD
1
)(),(min1),(
Проблемы сравнения гистограмм
• Все метрики сравнения гистограмм чувствительны к размеру
ячеек
• Можно использовать более широкие ячейки, но при этом
теряем «разрешающую способность»
?
Ядра для нелинейного SVM
• Поскольку вектор-признак – гистограмма, нам
потребуются специальные ядра
• Ядро пересечения гистограмм:
• Обобщенное Гауссово ядро:
• D может быть евклидовым расстоянием, χ2 , и т.д.


N
i
ihihhhI
1
2121 ))(),(min(),(






 2
2121 ),(
1
exp),( hhD
A
hhK
J. Zhang, M. Marszalek, S. Lazebnik, and C. Schmid, Local Features and Kernels for
Classifcation of Texture and Object Categories: A Comprehensive Study, IJCV 2007
Резюме лекции
• Мы познакомились с задачей классификации и
методом SVM
• Категоризация изображений – одна из основных
задач распознавания изображений
• В качестве признаков чаще всего используют
гистограммы распределений цвета, градиентов,
краёв, визуальных слов
• Любой метод классификации на основе машинного
обучения можно использовать
• Текущие результаты не идеальны, задача в процессе
исследования

More Related Content

What's hot

CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
Anton Konushin
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.
Anton Konushin
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionAnton Konushin
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03Computer Science Club
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
Anton Konushin
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видеоVictor Kulikov
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04Computer Science Club
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектовLiloSEA
 
L05 features
L05 featuresL05 features
L05 features
Victor Kulikov
 
L06 detection
L06 detectionL06 detection
L06 detection
Victor Kulikov
 
Введение в машинное обучение
Введение в машинное обучение Введение в машинное обучение
Введение в машинное обучение
Anton Anokhin
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Dmitry Kornev
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображенийLiloSEA
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиVictor Kulikov
 
Лекция 2
Лекция 2Лекция 2
Лекция 2
Victor Kulikov
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Pavel Egorov
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.
Anton Konushin
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
Dzianis Pirshtuk
 
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 07.  Binocular stereo.CV2011-2. Lecture 07.  Binocular stereo.
CV2011-2. Lecture 07. Binocular stereo.Anton Konushin
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.Anton Konushin
 

What's hot (20)

CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03
 
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
CV2015. Лекция 1. Понятия и история компьютерного зрения. Свет и цвет.
 
Лекция 07 Обработка видео
Лекция 07 Обработка видеоЛекция 07 Обработка видео
Лекция 07 Обработка видео
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектов
 
L05 features
L05 featuresL05 features
L05 features
 
L06 detection
L06 detectionL06 detection
L06 detection
 
Введение в машинное обучение
Введение в машинное обучение Введение в машинное обучение
Введение в машинное обучение
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Классификация изображений
Классификация изображенийКлассификация изображений
Классификация изображений
 
Лекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработкиЛекция 8 Основы 3D обработки
Лекция 8 Основы 3D обработки
 
Лекция 2
Лекция 2Лекция 2
Лекция 2
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)
 
CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.CV2015. Лекция 2. Основы обработки изображений.
CV2015. Лекция 2. Основы обработки изображений.
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
 
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 07.  Binocular stereo.CV2011-2. Lecture 07.  Binocular stereo.
CV2011-2. Lecture 07. Binocular stereo.
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.
 

Viewers also liked

Анализ и обработка изображений. Классификация изображений и распознавание об...
Анализ и обработка изображений. Классификация изображений и распознавание об...Анализ и обработка изображений. Классификация изображений и распознавание об...
Анализ и обработка изображений. Классификация изображений и распознавание об...
Yandex
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
Anton Konushin
 
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Yandex
 
Introduction of Machine Learning
Introduction of Machine LearningIntroduction of Machine Learning
Introduction of Machine LearningMohammad Hossain
 
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
Marcos Gonzalez
 
Online incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS ReportOnline incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS Report
Siddharth Modi
 
Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551
noor basher
 
Machine Learning - Introduction
Machine Learning - IntroductionMachine Learning - Introduction
Machine Learning - Introduction
Empatika
 
Machine Learning Real Life Applications By Examples
Machine Learning Real Life Applications By ExamplesMachine Learning Real Life Applications By Examples
Machine Learning Real Life Applications By Examples
Mario Cartia
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
Anastasia Jakubow
 

Viewers also liked (10)

Анализ и обработка изображений. Классификация изображений и распознавание об...
Анализ и обработка изображений. Классификация изображений и распознавание об...Анализ и обработка изображений. Классификация изображений и распознавание об...
Анализ и обработка изображений. Классификация изображений и распознавание об...
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
 
Introduction of Machine Learning
Introduction of Machine LearningIntroduction of Machine Learning
Introduction of Machine Learning
 
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
SlidesA Comparison of GPU Execution Time Prediction using Machine Learning an...
 
Online incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS ReportOnline incometax return filing system - BEST SRS Report
Online incometax return filing system - BEST SRS Report
 
Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551Random 111018004952-phpapp02-161130004551
Random 111018004952-phpapp02-161130004551
 
Machine Learning - Introduction
Machine Learning - IntroductionMachine Learning - Introduction
Machine Learning - Introduction
 
Machine Learning Real Life Applications By Examples
Machine Learning Real Life Applications By ExamplesMachine Learning Real Life Applications By Examples
Machine Learning Real Life Applications By Examples
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 

Similar to CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.

20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06Computer Science Club
 
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
Asya Dudnik
 
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
Asya Dudnik
 
основы Java для_any_logic
основы Java для_any_logicосновы Java для_any_logic
основы Java для_any_logicKVPw
 
презентация
презентацияпрезентация
презентация
MarijVANGLIS
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.Anton Konushin
 
Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.
Roman Brovko
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 СегментацияVictor Kulikov
 
Domain-тестирование
Domain-тестированиеDomain-тестирование
Domain-тестирование
SPB SQA Group
 
555
555555
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Platonov Sergey
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
Technosphere1
 
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
Kurbatskiy Alexey
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
Technosphere1
 
Learning from Swift sources, Иван Сметанин
Learning from Swift sources, Иван СметанинLearning from Swift sources, Иван Сметанин
Learning from Swift sources, Иван Сметанин
Mail.ru Group
 

Similar to CV2015. Лекция 4. Классификация изображений и введение в машинное обучение. (20)

20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06
 
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
 
Java.fundamentals
Java.fundamentalsJava.fundamentals
Java.fundamentals
 
основы Java для_any_logic
основы Java для_any_logicосновы Java для_any_logic
основы Java для_any_logic
 
Pril2
Pril2Pril2
Pril2
 
презентация
презентацияпрезентация
презентация
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.
 
Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.
 
Лекция 3 Сегментация
Лекция 3 СегментацияЛекция 3 Сегментация
Лекция 3 Сегментация
 
Domain-тестирование
Domain-тестированиеDomain-тестирование
Domain-тестирование
 
555
555555
555
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
 
NeuralNetworks_intro
NeuralNetworks_introNeuralNetworks_intro
NeuralNetworks_intro
 
урок 1
урок 1урок 1
урок 1
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
Learning from Swift sources, Иван Сметанин
Learning from Swift sources, Иван СметанинLearning from Swift sources, Иван Сметанин
Learning from Swift sources, Иван Сметанин
 

More from Anton Konushin

Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторовAnton Konushin
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparisonAnton Konushin
 
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.Anton Konushin
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.Anton Konushin
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.Anton Konushin
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.Anton Konushin
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.Anton Konushin
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentationAnton Konushin
 
CV2011-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.Anton Konushin
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.Anton Konushin
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.Anton Konushin
 
Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009
Anton Konushin
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastractureAnton Konushin
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paperAnton Konushin
 
Andrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAndrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAnton Konushin
 

More from Anton Konushin (15)

Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторов
 
Classifier evaluation and comparison
Classifier evaluation and comparisonClassifier evaluation and comparison
Classifier evaluation and comparison
 
CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.CV2011-2. Lecture 08. Multi-view stereo.
CV2011-2. Lecture 08. Multi-view stereo.
 
CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.CV2011-2. Lecture 11. Face analysis.
CV2011-2. Lecture 11. Face analysis.
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.
 
CV2011-2. Lecture 06. Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06. Structure from motion.
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.
 
CV2011-2. Lecture 04. Semantic image segmentation
CV2011-2. Lecture 04.  Semantic image segmentationCV2011-2. Lecture 04.  Semantic image segmentation
CV2011-2. Lecture 04. Semantic image segmentation
 
CV2011-2. Lecture 03. Photomontage, part 2.
CV2011-2. Lecture 03.  Photomontage, part 2.CV2011-2. Lecture 03.  Photomontage, part 2.
CV2011-2. Lecture 03. Photomontage, part 2.
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
 
CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.CV2011-2. Lecture 01. Segmentation.
CV2011-2. Lecture 01. Segmentation.
 
Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009Anton Konushin - TEDxRU 2009
Anton Konushin - TEDxRU 2009
 
Computer vision infrastracture
Computer vision infrastractureComputer vision infrastracture
Computer vision infrastracture
 
Writing a computer vision paper
Writing a computer vision paperWriting a computer vision paper
Writing a computer vision paper
 
Andrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1aAndrew Zisserman Talk - Part 1a
Andrew Zisserman Talk - Part 1a
 

CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.

  • 1. Slides adapted from Fei-Fei Li, Rob Fergus,Antonio Torralba, Jean Ponce and Svetlana Lazebnik Классификация изображений и введение в машинное обучение Антон Конушин
  • 2. Ранее рассмотренный метод Схема простого алгоритма выделения и распознавания объектов
  • 3. Что было сложно и плохо? • Можем работать только с контрастными объектами, которые довольно легко выделить • Признаков может быть много (несколько моментов, площадь, положение, гистограммы яркости, каналов цвета и т.д.) • Подбирать правила приходится вручную, много гипотез, когда признаков много и распределение сложно, это невозможно. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 2000 4000 6000 8000 Эксцентриситет Площадь Шум Ложки Сахар
  • 4. Как должно быть в идеале Данные Алгоритм обучения Обученная машина Ответ Вопрос
  • 5. Что такое машинное обучение? • Обучение ≠ «заучивание наизусть» • Заучить наизусть – для машины не проблема • Мы хотим научить машину делать выводы! • Машина должна корректно работать на новых данных, которые мы ей раньше не давали • По конечному набору обучающих данных машина должна научиться делать выводы на новых данных
  • 6. Машинное обучение • Нейронные сети - Перспептрон (Розенблатт, 1958), когнитрон (Фукушима, 1975) • Нейронные сети - обратное распространение ошибки (1980е) • Метод опорных векторов (1990е) • Бустинг (конец 1990х) • Рандомизированный решающий лес (начало 2000х) • Нейронные сети - «глубинное обучение» (2006 и далее) Сегодня рассмотрим «на пальцах» один метод – «метод опорных векторов»
  • 7. Задача классификации образов • Дано множество объектов, каждый из которых принадлежит одному из нескольких классов. Нужно определить, какому классу принадлежит данный экземпляр • Каждый объект c номером j можно описать вектором признаков xj • Каждому объекту можно приписать метку класса yj • Всё множество известных наблюдений (конечное) можно записать в следующем виде: Каждое наблюдение (x,y) ещё называют прецедентом
  • 8. Задача классификации образов • Задача построить функцию y=f(x), которая для каждого вектора-признаков x даёт ответ y, какому классу принадлежит объект x • Функция f() назвается решающее правило или классификатор • Любое решающее правило делит пространство признаков на решающие регионы разделенные решающими границами Пространство признаков Решающая граница
  • 9. Классификация • Будем выбирать функции ft из параметрического семейства F (т.е. будем выбирать подходящий набор параметров t) • Введем некоторую функцию потерь L(ft(x,t), y), • В случае классификации часто используют ,где - предсказанный класс • Можем использовать и другие функции потерь • Задача обучения состоит в том, чтобы найти набор параметров t классификатора f, при котором потери для новых данных будут минимальны • «Метод классификации» = параметрическое семейство F + алгоритм оценки параметров по обучающей выборке ( ( ), ) [ ( )]L f y I y f x x ( )f x
  • 10. Общий риск • Общий риск – математическое ожидание потерь: • Наша задача – найти такие параметры t, при которых общий риск минимален • Но общий риск рассчитать невозможно, поскольку распределение P для множества наших объектов (x,y) неизвестно = , , = , , ,
  • 11. Эмпирический риск • Дано - обучающая выборка • Эмпирический риск (ошибка обучения): • Метод минимизации эмпирического риска: Cмысл: подбираем параметры t решающего правила f таким образом, чтобы эмпирический риск Remp был минимален  m X  1 mx ,...,x   1 1 , ( ( ), ) m m emp i i i R f X L f x y m     argmin , m emp f F f R f X  
  • 12. Линейная классификация • Рассмотрим случай линейно разделимых данных • Только для 2х классов • Т.е. таких, что вектора в пространстве признаков можно отделить друг от друга гиперплоскостью Обучающая выборка Данные, с неизвестными ответами
  • 13. Линейный классификатор • Найдем линейную функцию (гиперплоскость) и разделим положительные {y=+1} и отрицательные {y=-1} примеры 0: 0:   bныеотрицатель bныеположитель ii ii wxx wxx Какая гиперплоскость наилучшая? Для всех рассмотренных плоскостей эмпирический риск одинаковый
  • 14. Метод опорных векторов • Найдем гиперплоскость, максимизирующую отступ между положительными и отрицательными примерами • Support Vector Machine (SVM) 1:1)( 1:1)(   byныеотрицатель byныеположитель iii iii wxx wxx ОтступОпорные вектора Расстояние от точки до гиперплоскости: |||| || w wx bi  Для опорных векторов, 1 bi wx Поэтому отступ равен 2 / ||w|| http://www.machinelearning.ru/wiki/index.php?title=SVM
  • 15. Поиск гиперплоскости 1. Максимизируем отступ 2/||w|| 2. Правильно классифицируем все данные: • Квадратичная оптимизационная задача: • Минимизируем При условии yi(w·xi+b) ≥ 1 • Решается с помощью методом множителей Лагранжа wwT 2 1 1:1)( 1:1)(   byнегативные byпозитивные iii iii wxx wxx http://www.machinelearning.ru/wiki/index.php?title=SVM
  • 16. Поиск гиперплоскости • Решение: • Для большей части векторов вес = 0! • Все вектора, для которых вес >0 называются опорными • Определяется только опорными векторами  i iii y xw  Опорные вектора Обученные веса http://www.machinelearning.ru/wiki/index.php?title=SVM
  • 17. Поиск гиперплоскости • Решение: b = yi – w·xi для любого опорного вектора • Решающая функция: • Решающая функция зависит от скалярных произведений (inner product) от тестового вектора x и опорных векторов xi • Решение оптимизационной задачи также требует вычисления скалярных произведений xi · xj между всеми парами векторов из обучающей выборки  i iii y xw  byb i iii   xxxw  http://www.machinelearning.ru/wiki/index.php?title=SVM
  • 18. Реальный случай ξi ξj Минимизируем При условии С – параметр регуляризации   n i i T C 12 1 ww  T n ,...,1 Вводим дополнительные «slack» переменные: iii bwxy  1)( В реальном случае идеально разделить данные невозможно (эмпирический риск всегда больше 0)
  • 19. • На линейно разделимых данных SVM работает отлично: • Но на более сложных данных не очень: • Можно отобразить данные на пространство большей размерности и разделить их линейно там: 0 x 0 x 0 x x2 Нелинейные SVM Slide credit:Andrew Moore
  • 20. Φ: x → φ(x) Нелинейные SVM • Идея: отображение исходного пространства параметров на какое-то многомерное пространство признаков (feature space) где обучающая выборка линейно разделима: Slide credit:Andrew Moore
  • 21. Нелинейные SVM • Вычисление скалярных произведений в многомерном пространстве вычислительно сложно • The kernel trick: вместо прямого вычисления преобразования φ(x), мы определим ядровую функцию K: K(xi , xjj) = φ(xi ) · φ(xj) • Чтобы все было корретно, ядро должно удовлетворять условию Мерсера (Mercer’s condition) • Матрица K(xi,xj) должна быть неотрицательно определенной • С помощью ядра мы сможем построить нелинейную решающую функцию в исходном пространстве: bKy i iii  ),( xx
  • 22. Пример ядра • Полиномиальное: • Пусть d=2, x=(x1,x2): • Т.е. из 2х мерного в 6и мерное пространство d cyyxK )),((),(  x )()()()),((),( 2 2211 2 yxcyxyxcyyxK   x ),2,2,2,,()( 2121 2 2 2 1 cxcxcxxxxx 
  • 23. SVM - резюме • Мощный и гибкий подход на основе ядер • Придумано много разных ядер • Линейный метод часто достаточен • На практике работает очень хорошо, даже для маленьких обучающих выборок • Много доступных библиотек: http://www.kernel-machines.org/software
  • 24. Предсказательная способность • Научились обучать классификатор SVM на обучающей выборке • Нам нужно, чтобы классификатор хорошо работал на данных, которые не использовались при обучении • «Предсказательная способность» - качество классификации вне обучающей выборки • Как оценить предсказательную способность? • Обучать на одной части известных данных, проверять на другой • «Удерживание» • «Скользящий контроль» (Cross-validation) Ответ
  • 25. Удерживание Будем разбивать имеющуюся обучающую выборку на части • На одной части будем обучать классификатор (минимизировать эмпирический риск) • На другой будем измерять ошибки обученного классификатора (оценивать предстказательную способность)   1 1 ( , ) ~ ( ) | ( ) c c j j j R f X P f x y X f x y c        k k xxX ,...,1 2 X1 X
  • 26. Свойства «удерживания» • Быстро и просто рассчитывается • Некоторые «сложные» прецеденты могут полностью попасть в только одну из выборок и тогда оценка ошибки будет смещенной Контроль Обучение Ошибка произойдет не по вине классификатора, а из-за разбиения!
  • 27. Скользящий контроль • Разделим выборку на d непересекающихся частей и будем поочередно использовать одно из них для контроля а остальные для тренировки • Разбиваем: • Приближаем риск:   k d i i jidi XX jiXXX 1 1 ,0:    ji i d i ik XyXfP d yXfP    )|)(( 1 *))(( * 1
  • 28. Иллюстрация  k k xxX ,...,1 Контроль Обучение 2 X 3 X 5 X4 X1 X Результат считается как средняя ошибка по всем итерациям
  • 29. Свойства • В пределе равен общему риску • Каждый прецедент будет один раз присутствовать в контрольной выборке • Обучающие выборки будут сильно перекрываться (чем больше сегментов, тем больше перекрытие) • Если одна группа «сложных прецедентов» попала полностью в один сегмент, то оценка будет смещенной • Предельный вариант – “leave one out” • Обучаемся на всех элементах, кроме одного • Проверяем на одном • Повторяем для всех элементов
  • 30. Ошибки I и II рода • В наших задачах обычно классы объектов неравнозначны • Лицо человека – «основной» класс (положительные примеры) • Фон – «вторичный» класс (отрицательные примеры) • Ошибка первого рода равна вероятности принять основной класс за вторичный • Вероятность «промаха», когда искомый объект будет пропущен (пропустить лицо) • Ошибка второго рода равна вероятности принять вторичный класс за основной • Вероятность «ложной тревоги», когда за искомый объект будет принят «фон»
  • 31. Ошибки I и II рода Истинная гипотеза Ошибка II рода (ложные срабатывания) Ошибка I рода (пропущенные объекты) Построенная гипотеза Будем считать красные точки «основным классом»
  • 32. Ошибки I и II рода • При анализе изображений классы обычно несбалансированы • Объектов основного класса («лица») - мало • Объектов второго класса («фон») - много • Особенно важно оценивать ошибки I и II рода раздельно при несбалансированности классов: • Пусть • Тогда при ошибке II рода 0 и ошибке I рода 0.5 • Общая ошибка всего лишь 9999999.0)1(;0000001.0)1(  yPyP ( ( ) 1| 1) 0.5P f x y     00000005.0))((  yxaP
  • 33. Точность и полнота • Точность (Precision) • Доля истинных объектов основного класса среди всех классифицированных, как основной класс • Полнота (Recall) • Доля правильно распознанных объектов основного класса среди всех объектов основного класса из тестовой выборки • Интегральный показатель F (F-measure) • F = 2 × ×
  • 34. Точность и полнота • Полнота – 10 из 13, т.е. 77% • Точность – 10 из 12, т.е. 83%
  • 35. Регулировка баланса Почти все алгоритмы классификации допускают регулировку соотношения ошибки I и II рода за счет варьирования некоторого параметра Параметр b в линейном классификаторе y = wx+b
  • 36. ROC-кривая M. Mathias. et. al. Face detection without bells and whistles. ECCV2014 ROC-кривая - зависимость между видами ошибок в зависимости от параметров
  • 37. ROC кривая - Построение • Для различных значений параметра строится таблица ошибок • Сам параметр в таблице не участвует! • Классификатор строится и оценивается на разных выборках! Precision Recall 100% 0% 90% 15% 83% 20% … … 0% 100% • По таблице строиться набор точек в плоскости параметр1 x параметр 2 – Например, precision/recall – Каждая строка таблицы – точка • По точкам строиться кривая
  • 38. Анализ ROC кривой • По ROC-кривой мы можем выбрать параметр с оптимальным для наших целей соотношением ошибок • Можем посчитать интегральные параметры: • Площадь под графиком – AUC – Дает некоторый объективный показатель качества классификатора – Позволяет сравнивать разные кривые • Другой параметр аP – average precision – Средняя точность для всех значений полноты
  • 39. Пример M. Mathias. et. al. Face detection without bells and whistles. ECCV2014 По ROC-кривой мы можем выбрать параметр с оптимальным для наших целей соотношением ошибок
  • 40. Категоризация изображений Это город? Это автобус? Да Нет Нет Да Задача категоризации изображений: определить, есть ли на изображении объект (сцена) заданной категории
  • 41. Категоризация изображений Будем собирать кучу признаков по всему изображению, делать из них вектор-признак, и его классифицировать Вектор- признак Тестовое изображение Обученный классификатор Outdoor Предсказание
  • 43. Признаки изображения Метки Обучающие изображения Обучение классифика тора Обучение Признаки изображения Обученный классификатор • Мы будем рассматривать в основном признаки изображения • Методы классификации можно использовать любые • Но сейчас у нас в руках только SVM
  • 44. Признаки пикселей Пространство цветов L*a*b* Пространство цветов HSV Пространство цветов RGB Градиенты в каждом пикселе Наличие и ориентация края в каждом пикселе
  • 45. Использование напрямую • Можно ли использовать признаки всех пикселей напрямую? • Можно, если все изображения для классификации будут одинакового размера • Нормализуем изображения, т.е. приведем их к одному размеру • Вытянем изображение в вектор, признаки пикселей будут элементами вектора Для распознавания, изображение должно описываться вектор- признаком фиксированной длины!
  • 46. Space Shuttle Cargo Bay Гистограммы • Мы можем измерять разные признаки (features) изображения • Цвет, края, градиенты, текстуру и т.д. • Гистограммы – стандартный способ непараметрического описания распределения признаков Images from Dave Kauchak
  • 47. Квантование признаков • Как построить гистограмму для признаков, которые изменяются непрерывно? • Или разрешение слишком большое? • «Квантование» - дискретизация признаков • Пр: все направления градиента разбиваем на 8 вариантов • Каждый вариант нумеруем от 1 до 8
  • 48. Квантование признаков • Есть фотографии тигров и медведей • Хотим научиться отличать одни от других по цвету • Оптимально ли использовать гистограмму цветов на интервале от [0,255]? • Не все цвета встречаются!
  • 49. Адаптивное квантование • Хотим разбить элементы (пр. пиксели) на часто встречающиеся группы • Затем можем каждый элемент сопоставить своей группе (дать ему номер группы) • Кластеризация! • Например, методом k-средних
  • 50. Для нашего примера • Зададим количество кластеров (например, 100) • Кластеризуем пиксели по цветам • Будут кластеры в белой, зеленой, черной, оранжевой областях • Для каждого изображения построим гистограмму распределения цветов пикселов по кластерам
  • 51. Пространственное распределение У всех этих трех изображений похожие гистограммы цветов
  • 52. Пространственная пирамида Вычислим гистограму в каждом блоке и объединим все гистограммы в один вектор-признак Уровень 0 Уровень 1 Уровень 2 S. Lazebnik et. Al. Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories CVPR 2006
  • 53. Общая схема построения вектор-признака Вычислим признаки по изображению Агрегируем признаки Квантуем признаки Определим область для вычисления RGB Квантование на 10 уровней 71% 29% Посчитанная гистограмма Features Coding Spatial pooling
  • 55. Классификация текстов US Presidential Speeches Tag Cloud http://chir.ag/phernalia/preztags/ • Представление документа без порядка: частоты слов из словаря («мешок слов») Salton & McGill (1983)
  • 56. Классификация текстов US Presidential Speeches Tag Cloud http://chir.ag/phernalia/preztags/ • Представление документа без порядка: частоты слов из словаря («мешок слов») Salton & McGill (1983)
  • 57. US Presidential Speeches Tag Cloud http://chir.ag/phernalia/preztags/ • Представление документа без порядка: частоты слов из словаря («мешок слов») Salton & McGill (1983) Классификация текстов
  • 58. «Визуальные слова» Sivic, J. and Zisserman, A. Video Google: A Text Retrieval Approach to Object Matching in Videos. ICCV 2003 • Что в нашем случае «слово» и «словарь»? • «Визуальное слово» – часто повторяющийся фрагмент изображения («visual word») • В изображении визуальное слово может встречаться только один раз, может ни разу, может много раз
  • 59. Словарь и мешок слов • «Словарь» – набор фрагментов, часто повторяющихся в коллекции изображений • Как составить словарь? • Составить большой список всех фрагментов по всей коллекции • Разделить весь список на похожие группы • Будем считать все фрагменты в одной группе – «экземплярами» одного и того же слова • «Мешок слов» - гистограмма частот появления визуальных слов в изображении
  • 60. Схема метода «мешок слов» 1. Извлечение фрагментов из коллекции изображений 2. Построение “визуального словаря” 3. Построение «мешка слов» для каждого изображения
  • 61. • Например, по регулярной сетке • Можем без перекрытия, можем с перекрытием • Есть и другие способы выбора фрагментов! 1. Извлечение фрагментов
  • 62. … Вычисление признаков фрагментов • Неупорядоченный список фрагментов из множества изображений • Нужно описать каждый фрагмент вектор-признаком • Обычно на основе гистограмм ориентаций градиентов (подробнее в следующей лекции)
  • 65. 2. Обучение словаря Кластеризация … Slide credit: Josef Sivic Визуальный словарь
  • 67. Визуальные словари • Как выбрать размер словаря? • Маленький: слова не могут описать все особенности • Большой: переобучение • Вычислительная сложность • Деревья словарей (Nister & Stewenius, 2006) • Приближенные методы • Хеширование
  • 68. 3. Построение «мешка слов» … частоты слова • Соберём тем же способом фрагменты для выбранного изображения • «Квантуем» каждый фрагмент • Определим, какому слову из словаря он соответствует (фактически, сопоставим номер от 1 до N, где N – размер словаря) • Построим гистограмму частот фрагментов для изображения
  • 69. Резюме мешка слов • Идея «визуальных слов» и «мешка слов» оказалась очень интересной и эффективной • Мешок слов используется как сам по себе, так и совместно с другими признакми изображения • Есть хорошие реализации: • Библиотека VLFeat http://www.vlfeat.org/
  • 70. Резюме признаков • Гистограммы – широко используемый метод описания распределения признаков в изображении (но не единственный) • Гистограмму можем строить по регулярной сетке, а можем адаптивно, с помощью кластеризации • Можем вычислить разные признаки: • Гистограммы цветов • Гистограммы градиентов • Гистограммы визуальных слов • Каждый вид признаков можем считать по всему изображению, а можем по области • Часто используется пирамида разбиений из 3х уровней (1 + 4 + 16 гистограмм)
  • 71. Категоризация изображений • Описывать изображение научились, теперь нужно его категоризировать (классифицировать) • Nearest Neighbour (+kNN) • SVM • Random Forest • Boosting • Neural Networks • Мы знаем SVM • Можем придумать специальные ядра для сравнения гистограмм
  • 72. Функции сравнения гистограмм • Histogram intersection (нормализованные гистограммы) • L1 distance • χ2 distance • Quadratic distance (cross-bin)   N i ihihhhD 1 2121 |)()(|),( Jan Puzicha, Yossi Rubner, Carlo Tomasi, Joachim M. Buhmann: Empirical Evaluation of Dissimilarity Measures for Color and Texture. ICCV 1999       N i ihih ihih hhD 1 21 2 21 21 )()( )()( ),(   ji ij jhihAhhD , 2 2121 ))()((),(    K m jiji mhmhhhD 1 )(),(min1),(
  • 73. Проблемы сравнения гистограмм • Все метрики сравнения гистограмм чувствительны к размеру ячеек • Можно использовать более широкие ячейки, но при этом теряем «разрешающую способность» ?
  • 74. Ядра для нелинейного SVM • Поскольку вектор-признак – гистограмма, нам потребуются специальные ядра • Ядро пересечения гистограмм: • Обобщенное Гауссово ядро: • D может быть евклидовым расстоянием, χ2 , и т.д.   N i ihihhhI 1 2121 ))(),(min(),(        2 2121 ),( 1 exp),( hhD A hhK J. Zhang, M. Marszalek, S. Lazebnik, and C. Schmid, Local Features and Kernels for Classifcation of Texture and Object Categories: A Comprehensive Study, IJCV 2007
  • 75. Резюме лекции • Мы познакомились с задачей классификации и методом SVM • Категоризация изображений – одна из основных задач распознавания изображений • В качестве признаков чаще всего используют гистограммы распределений цвета, градиентов, краёв, визуальных слов • Любой метод классификации на основе машинного обучения можно использовать • Текущие результаты не идеальны, задача в процессе исследования