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

Post on 18-Jul-2015

110 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

12 ноября 2014 г.

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

e-mail: v.gulin@corp.mail.ruтел.: +7 (915) 416-95-75

1 / 36

Структура курсаМодуль 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

План лекции

Мотивация

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

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

3 / 36

Мотивация

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

4 / 36

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

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

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

5 / 36

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

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

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

6 / 36

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

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

Principal Component Analysis

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

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

8 / 36

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

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

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

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

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

11 / 36

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

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

12 / 36

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

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

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

d :

d∑i=1

λi

n∑i=1

λi

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

13 / 36

Связь PCA & SVD

X = UΣVT

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

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

XV = UΣ

14 / 36

Применение PCA

(a) Data Visualization (b) Image procesing

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

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

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

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

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

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

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

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

16 / 36

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

17 / 36

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

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

PCA vs ICA

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

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

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

20 / 36

PCA vs ICA

[x1x2

]=

[a11 a12a21 a22

] [s1s2

]

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

21 / 36

Применение ICA

(a) EEG (b) Audio procesing

(c) Finance (d) Medical data22 / 36

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

J(w) =N∑i=1

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

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

23 / 36

PCA vs Autoencoder

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

(a) PCA (b) Deep Autoencoder

24 / 36

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

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

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

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

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

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

25 / 36

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

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

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

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

Bidirectional elimination etc.)

27 / 36

Жадные алгоритмы отбора признаков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

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

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

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

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

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

29 / 36

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

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

30 / 36

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

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

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

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

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

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

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

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

34 / 36

Задача

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

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

http://goo.gl/5kW1Pa

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

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

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

35 / 36

Вопросы

top related