Лекция №8 "Методы снижения размерности...

37
Лекция 8 Методы снижения размерности Владимир Гулин 12 ноября 2014 г.

Upload: technosphere1

Post on 18-Jul-2015

117 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Лекция №8 "Методы снижения размерности пространства"

Лекция 8Методы снижения размерности

Владимир Гулин

12 ноября 2014 г.

Page 2: Лекция №8 "Методы снижения размерности пространства"

Владимир Гулин

e-mail: [email protected]тел.: +7 (915) 416-95-75

1 / 36

Page 3: Лекция №8 "Методы снижения размерности пространства"

Структура курсаМодуль 1

1. Задачи Data Mining (Николай Анохин)

2. Задача кластеризации и EM-алгоритм (Николай Анохин)

3. Различные алгоритмы кластеризации (Николай Анохин)H

4. Задача классификации (Николай Анохин)

5. Naive Bayes (Николай Анохин)

6. Линейные модели (Николай Анохин)

7. Метод опорных векторов (Николай Анохин)HP

Модуль 2

1. Снижение размерности пространства (Владимир Гулин)

2. Алгоритмические композиции 1 (Владимир Гулин)

3. Алгоритмические композиции 2 (Владимир Гулин)H i

4. Нейросети, обучение с учителем (Павел Нестеров)H

5. Нейросети, обучение без учителя (Павел Нестеров)

6. Нейросети, глубокие сети (Павел Нестеров)

2 / 36

Page 4: Лекция №8 "Методы снижения размерности пространства"

План лекции

Мотивация

Методы выделения признаков (feature extraction)

Методы отбора признаков (feature selection)

3 / 36

Page 5: Лекция №8 "Методы снижения размерности пространства"

Мотивация

I ВизуализацияI Скорость обученияI Качество обученияI Экономия при эксплуатацииI Понимание данных и гибкость построения новых моделей

4 / 36

Page 6: Лекция №8 "Методы снижения размерности пространства"

Проклятие размерности (curse of dimensionality)I Сложность вычислений возрастает экспоненциальноI Требуется хранить огромное количество данныхI Большое число признаков являются шумнымиI В линейных классификаторах увеличение числа признаков

приводит к мультиколлинеарности и переобучению.I Для метрических классификаторов (в пространсвах с lp нормой)

согласно закону больших чисел расстояния становятсянеинформативны.

5 / 36

Page 7: Лекция №8 "Методы снижения размерности пространства"

Подходы к снижению размерности

Feature ExtractionData space → Feature spaceПространство данных может бытьпредставлено сокращеннымколичеством “эффективных”признаков

Feature SelectionData space → Data subspaceОтбирается некотороеподмножество наиболее“полезных” признаков

6 / 36

Page 8: Лекция №8 "Методы снижения размерности пространства"

Задача выделения/синтеза признаков

Feature Extraction

Дано. N обучающих D-мерных объектов xi ∈ X , образующихтренировочный набор данных (training data set) X.

Найти. Найти преобразование A : X → P, dim(P) = d < D,сохранив при этом большую часть “полезной информации” об X .

Что мы рассмотрим:I PCAI ICAI Autoencoders with bottleneck

7 / 36

Page 9: Лекция №8 "Методы снижения размерности пространства"

Principal Component Analysis

PCA (Principal Component Analysis) - анализ главных компонент. Втеории информации известен также как преобразованиеКарунена-Лоева.

Суть метода:Ищем гиперплоскость заданнойразмерности, такую что ошибкапроектирования выборки наданную гиперплоскость была быминимальной.

8 / 36

Page 10: Лекция №8 "Методы снижения размерности пространства"

Principal Component AnalysisБудем искать преобразование в семействе линейных функций:

x = Ap + b, где

I x ∈ RD - представление объекта в исходном пространстве,I p ∈ Rd - новые координаты объектаI b ∈ RD , A ∈ RD×d

xj =D∑i=1

(xTj ai )ai - исходные точки

xj =d∑

i=1

pj,iai +D∑

i=d+1

biai - проекции

Тогда критерий выбора гиперплоскости имеет вид:

J =1

N

N∑j=1

‖xj − xj‖2 → minq,z,b

9 / 36

Page 11: Лекция №8 "Методы снижения размерности пространства"

Principal Component Analysis

J =1

N

N∑j=1

‖xj − xj‖2 → minq,z,b

Несложно показать, что решение будет иметь вид:

pj,i = xTj ai

bi = xTai

где

x =1

N

N∑j=1

xj

R = cov(X) =1

N

N∑j=1

(xj − x)T (xj − x)

ai , i = 1, . . . , d - базис из собственных векторов ковариационнойматрицы R, отвечающих d наибольших собственным значениямλ1 ≥ λ2 ≥ . . . ≥ λd

10 / 36

Page 12: Лекция №8 "Методы снижения размерности пространства"

Иллюстрация PCA

(a) Исходное пространство (b) Итоговое пространство

I Сдвигаем начало координат в центр выборкиI Поворачиваем оси, чтобы признаки не коррелировалиI Избаляемся от координат с малой дисперсией

11 / 36

Page 13: Лекция №8 "Методы снижения размерности пространства"

Principal Component AnalysisАльтернативная интерпретацияМаксимизация дисперсии спроецированных данных

Примеры рукописных цифр из базы MNIST

12 / 36

Page 14: Лекция №8 "Методы снижения размерности пространства"

Выбор размерности редуцированного пространства

Поскольку собственные значения ковариационной матрицы Rотсортированы в порядке убывания λ1 ≥ λ2 ≥ . . . ≥ λd

Критерий выбора размерностибудет иметь вид:

d :

d∑i=1

λi

n∑i=1

λi

≥ η, где η = {0.95, 0.99}

13 / 36

Page 15: Лекция №8 "Методы снижения размерности пространства"

Связь PCA & SVD

X = UΣVT

гдеU(m ×m) - ортогональная матрица левых собственных векторов(собственные вектора матрицы XXT )V(n × n) - ортогональная матрица правых собственных векторов(собственные вектора матрицы XTX )Σ(m × n) - диагональная матрица с сингулярными числами наглавной диагонали

Матрица главных компонет может быть вычислена:

XV = UΣ

14 / 36

Page 16: Лекция №8 "Методы снижения размерности пространства"

Применение PCA

(a) Data Visualization (b) Image procesing

(c) Prospect (d) Data compression 15 / 36

Page 17: Лекция №8 "Методы снижения размерности пространства"

Достоиснтва и недостатки PCA

+ Алгоритм прост+ С помощью “kernel trick”

адаптируется на нелинейныйслучай (Kernel PCA)

— Проблема с вычислениемсобсвенных векторовковариационной матрицы вслучае большого количестваданных

— Координаты объектов вновом пространствеопределены неоднозначно

Вопрос:I При каких условиях можно использовать представление данных

в виде главных компонент для обучения?

16 / 36

Page 18: Лекция №8 "Методы снижения размерности пространства"

Задача слепового разделения сигналов

17 / 36

Page 19: Лекция №8 "Методы снижения размерности пространства"

Independent Component Analysis

X = AS

xj = aj,1s1 + aj,2s2 + . . .+ aj,NsN , j = 1, . . . ,N

I xj , sk - случайные величиныI X - наблюдаемые данныеI A - матрица смешиванияI S - неизвестный сигнал

Задача:Оценить A и восстановить исходные сигналы S = A−1X.

Два предположения:I si статистически независимы p(s1, s2) = p(s1)p(s2)

I “Негауссовость” распределений

18 / 36

Page 20: Лекция №8 "Методы снижения размерности пространства"

Independent Component Analysis

Схема

1. Центрируем данные xi ← (xi − x) : x← 1N

N∑i=1

xi

2. “Отбеливаем” данные

X = UΣVT , X← UΣ−1/2UTX

I Cov(X) = II AAT = I

3. Находим ортогональную матрицу AI InfomaxI FastICAI JADE

19 / 36

Page 21: Лекция №8 "Методы снижения размерности пространства"

PCA vs ICA

Геометрическая интерпретация

(a) PCA(ортогональны)

(b) ICA(не ортогональны)

20 / 36

Page 22: Лекция №8 "Методы снижения размерности пространства"

PCA vs ICA

[x1x2

]=

[a11 a12a21 a22

] [s1s2

]

I Сравнение PCA vs ICA на искуственном временном ряде,смоделированном по 1000 равномерно расспределенным точкам.

21 / 36

Page 23: Лекция №8 "Методы снижения размерности пространства"

Применение ICA

(a) EEG (b) Audio procesing

(c) Finance (d) Medical data22 / 36

Page 24: Лекция №8 "Методы снижения размерности пространства"

Методы основанные на автоэнкодерах

J(w) =N∑i=1

‖f (xi ,w)− xi‖2 → min

ЗамечаниеЕсли в сети всего один скрытый слой, тогда результат эквивалентенPCA.

23 / 36

Page 25: Лекция №8 "Методы снижения размерности пространства"

PCA vs Autoencoder

Задача визуализации тематических текстовых документовI D = 2000 - “мешок слов”I N = 4 · 105 документов

(a) PCA (b) Deep Autoencoder

24 / 36

Page 26: Лекция №8 "Методы снижения размерности пространства"

“Бабушкин” нейрон

I Andrew NgI 9-ти слойный разряженный

автоэнкодерI Асинхронный градиентный

спускI 10 млн. кадров случайно

взятых из роликов youtubeI Удалось найти нейрон,

отвечающий за наличие лицав кадре

25 / 36

Page 27: Лекция №8 "Методы снижения размерности пространства"

Задача отбора признаков

Feature Selection

Дано. N обучающих D-мерных объектов xi ∈ X , образующихтренировочный набор данных (training data set) X, а также каждомуxi соответсвует метка ci ∈ R.

Найти. Найти подмножество признаков F исходного признаковогопространства F = {f1, f2, . . . , fD}, содержащее наиболее“информативные” признаки.

Что мы рассмотрим:I Переборные алгоритмыI Методы основанные на корреляции/взаимной информацииI Embedded methods

26 / 36

Page 28: Лекция №8 "Методы снижения размерности пространства"

Отбор признаков “в лоб”

I Экспертный подходI Full Search (NP hard)I Жадные алгоритмы (Forward selection, Backward elimination,

Bidirectional elimination etc.)

27 / 36

Page 29: Лекция №8 "Методы снижения размерности пространства"

Жадные алгоритмы отбора признаковForward selection

1 function forwardselection(F, J, n):2 # F - original feature set3 # J - external criterion4 # n - parameter5 initialize F_0 = {} # empty set6 initialize Q = J(F_0) # compute score7 for j in 1..D:8 fbest = find_best_feature(J, F_j-1, F)9 F_j = add_new_feature(F_j-1, fbest) # add feature10 if J(F_j) < Q:11 jbest = j12 Q = J(F_j) # save best13 if j - jbest >= n:14 return F_jbest

Backward eliminationI Все аналогично. Только ислючаем

28 / 36

Page 30: Лекция №8 "Методы снижения размерности пространства"

Жадные алгоритмы отбора признаковDFS. Основные идеи:

I Избегаем повторов при перебореI Если подмножество признаков бесперспективно, то не будем

пытаться его дальше наращивать.

Оценка бесперспективности:

∃j : J(F ) ≥ ηJ(F ∗j ), |F | ≥ j + n

29 / 36

Page 31: Лекция №8 "Методы снижения размерности пространства"

Жадные алгоритмы отбора признаков

ИтогиI Не все признаки “полезны”I Отбор признаков проводится по внешним критериям (СV)I Для сокращения перебора хороши любые эвристикиI Предполагаем, что перебор по подмножествам устойчивI НАДО ПЕРЕОБУЧАТЬ АЛГОРИТМ

30 / 36

Page 32: Лекция №8 "Методы снижения размерности пространства"

Методы основанные на корреляции/взаимнойинформации

Коэффициент корреляции

r(X ,Y ) =

∑x

(x − x)∑y

(y − y)√∑x

(x − x)2√∑

y(y − y)2

I Correlation feature selection (cfs)

Взаимная информация

I (X ,Y ) =∑x

∑y

p(x , y) log

(p(x , y)

p(x)p(y)

)

I Minimum redundancy maximum relevance (mRMR)

31 / 36

Page 33: Лекция №8 "Методы снижения размерности пространства"

mRMR

ИдеяI Будем отбирать признаки, которые имеют наибольшую

взаимную информацию с ответамиI Будем штрафовать признаки за избыточность, в контексте уже

отобранных фичей

Relevance(F , c) =1

|F |∑fi∈F

I (fi , c)

Redundancy(F ) =1

|F |2∑

fi ,fj∈F

I (fi , fj)

Тогда критерий mRMR имеет вид:

mRMR = maxF

(Relevance(F , c)− Redundancy(F ))

32 / 36

Page 34: Лекция №8 "Методы снижения размерности пространства"

Embedded methods

Что мы уже знаем?I Sparse regression, LASSOI Decision Trees with pruningI Autoencoders with bottleneck

С чем нам еще предстоит познакомиться?I Regularized Random Forest (RRT)I Regularized gradient boostingI Regularized neural nets

33 / 36

Page 35: Лекция №8 "Методы снижения размерности пространства"

О чем еще не поговорили?

Отбор признаков без учителя

Оценка качества фичей

34 / 36

Page 36: Лекция №8 "Методы снижения размерности пространства"

Задача

Дано: Имеется набор трехмерных данныхТребуется: Построить проэкцию этих данных на плоскостьиспользую любую пару признаков. Вычислить pca и отобразитьданные в пространстве первых двух собственных векторов.

Пошаговая инструкция1. Скачать и запустить шаблон кода на python

http://goo.gl/5kW1Pa

$ python pca.py -h$ python pca.py -i 50

2. Заполнить функцию compute_pca3. Сгенирировать многомерные данные (D > 10). Реализовать

критерий выбора размерности редуцированного пространства.

35 / 36

Page 37: Лекция №8 "Методы снижения размерности пространства"

Вопросы