SlideShare a Scribd company logo
Лекция 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
Мотивация
Визуализация
Скорость обучения
Качество обучения
Экономия при эксплуатации
Понимание данных и гибкость построения новых моделей
4 / 36
Проклятие размерности (curse of dimensionality)
Сложность вычислений возрастает экспоненциально
Требуется хранить огромное количество данных
Большое число признаков являются шумными
В линейных классификаторах увеличение числа признаков
приводит к мультиколлинеарности и переобучению.
Для метрических классификаторов (в пространсвах с lp нормой)
согласно закону больших чисел расстояния становятся
неинформативны.
5 / 36
Подходы к снижению размерности
Feature Extraction
Data space → Feature space
Пространство данных может быть
представлено сокращенным
количеством “эффективных”
признаков
Feature Selection
Data space → Data subspace
Отбирается некоторое
подмножество наиболее
“полезных” признаков
6 / 36
Задача выделения/синтеза признаков
Feature Extraction
Дано. N обучающих D-мерных объектов xi ∈ X, образующих
тренировочный набор данных (training data set) X.
Найти. Найти преобразование A : X → P, dim(P) = d < D,
сохранив при этом большую часть “полезной информации” об X.
Что мы рассмотрим:
PCA
ICA
Autoencoders with bottleneck
7 / 36
Principal Component Analysis
PCA (Principal Component Analysis) - анализ главных компонент. В
теории информации известен также как преобразование
Карунена-Лоева.
Суть метода:
Ищем гиперплоскость заданной
размерности, такую что ошибка
проектирования выборки на
данную гиперплоскость была бы
минимальной.
8 / 36
Principal Component Analysis
Будем искать преобразование в семействе линейных функций:
x = Ap + b, где
x ∈ RD
- представление объекта в исходном пространстве,
p ∈ Rd
- новые координаты объекта
b ∈ RD
, A ∈ RD×d
xj =
D
i=1
(xT
j ai )ai - исходные точки
˜xj =
d
i=1
pj,i ai +
D
i=d+1
bi ai - проекции
Тогда критерий выбора гиперплоскости имеет вид:
J =
1
N
N
j=1
xj − ˜xj
2
→ min
q,z,b
9 / 36
Principal Component Analysis
J =
1
N
N
j=1
xj − ˜xj
2
→ min
q,z,b
Несложно показать, что решение будет иметь вид:
pj,i = xT
j ai
bi = ¯xT
ai
где
¯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) Итоговое пространство
Сдвигаем начало координат в центр выборки
Поворачиваем оси, чтобы признаки не коррелировали
Избаляемся от координат с малой дисперсией
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) - ортогональная матрица правых собственных векторов
(собственные вектора матрицы XT
X )
Σ(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)
— Проблема с вычислением
собсвенных векторов
ковариационной матрицы в
случае большого количества
данных
— Координаты объектов в
новом пространстве
определены неоднозначно
Вопрос:
При каких условиях можно использовать представление данных
в виде главных компонент для обучения?
16 / 36
Задача слепового разделения сигналов
17 / 36
Independent Component Analysis
X = AS
xj = aj,1s1 + aj,2s2 + . . . + aj,N sN , j = 1, . . . , N
xj , sk - случайные величины
X - наблюдаемые данные
A - матрица смешивания
S - неизвестный сигнал
Задача:
Оценить A и восстановить исходные сигналы S = A−1
X.
Два предположения:
si статистически независимы p(s1, s2) = p(s1)p(s2)
“Негауссовость” распределений
18 / 36
Independent Component Analysis
Схема
1. Центрируем данные xi ← (xi − ¯x) : ¯x ← 1
N
N
i=1
xi
2. “Отбеливаем” данные
X = UΣVT
, X ← UΣ−1/2
UT
X
Cov(X) = I
AAT
= I
3. Находим ортогональную матрицу A
Infomax
FastICA
JADE
19 / 36
PCA vs ICA
Геометрическая интерпретация
(a) PCA
(ортогональны)
(b) ICA
(не ортогональны)
20 / 36
PCA vs ICA
x1
x2
=
a11 a12
a21 a22
s1
s2
Сравнение PCA vs ICA на искуственном временном ряде,
смоделированном по 1000 равномерно расспределенным точкам.
21 / 36
Применение ICA
(a) EEG (b) Audio procesing
(c) Finance (d) Medical data
22 / 36
Методы основанные на автоэнкодерах
J(w) =
N
i=1
f (xi , w) − xi
2
→ min
Замечание
Если в сети всего один скрытый слой, тогда результат эквивалентен
PCA.
23 / 36
PCA vs Autoencoder
Задача визуализации тематических текстовых документов
D = 2000 - “мешок слов”
N = 4 · 105
документов
(a) PCA (b) Deep Autoencoder
24 / 36
“Бабушкин” нейрон
Andrew Ng
9-ти слойный разряженный
автоэнкодер
Асинхронный градиентный
спуск
10 млн. кадров случайно
взятых из роликов youtube
Удалось найти нейрон,
отвечающий за наличие лица
в кадре
25 / 36
Задача отбора признаков
Feature Selection
Дано. N обучающих D-мерных объектов xi ∈ X, образующих
тренировочный набор данных (training data set) X, а также каждому
xi соответсвует метка ci ∈ R.
Найти. Найти подмножество признаков F исходного признакового
пространства F = {f1, f2, . . . , fD}, содержащее наиболее
“информативные” признаки.
Что мы рассмотрим:
Переборные алгоритмы
Методы основанные на корреляции/взаимной информации
Embedded methods
26 / 36
Отбор признаков “в лоб”
Экспертный подход
Full Search (NP hard)
Жадные алгоритмы (Forward selection, Backward elimination,
Bidirectional elimination etc.)
27 / 36
Жадные алгоритмы отбора признаков
Forward selection
1 function forwardselection(F, J, n):
2 # F - original feature set
3 # J - external criterion
4 # n - parameter
5 initialize F_0 = {} # empty set
6 initialize Q = J(F_0) # compute score
7 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 feature
10 if J(F_j) < Q:
11 jbest = j
12 Q = J(F_j) # save best
13 if j - jbest >= n:
14 return F_jbest
Backward elimination
Все аналогично. Только ислючаем
28 / 36
Жадные алгоритмы отбора признаков
DFS. Основные идеи:
Избегаем повторов при переборе
Если подмножество признаков бесперспективно, то не будем
пытаться его дальше наращивать.
Оценка бесперспективности:
∃j : J(F) ≥ ηJ(F∗
j ), |F| ≥ j + n
29 / 36
Жадные алгоритмы отбора признаков
Итоги
Не все признаки “полезны”
Отбор признаков проводится по внешним критериям (СV)
Для сокращения перебора хороши любые эвристики
Предполагаем, что перебор по подмножествам устойчив
НАДО ПЕРЕОБУЧАТЬ АЛГОРИТМ
30 / 36
Методы основанные на корреляции/взаимной
информации
Коэффициент корреляции
r(X, Y ) =
x
(x − ¯x)
y
(y − ¯y)
x
(x − ¯x)2
y
(y − ¯y)2
Correlation feature selection (cfs)
Взаимная информация
I(X, Y ) =
x y
p(x, y) log
p(x, y)
p(x)p(y)
Minimum redundancy maximum relevance (mRMR)
31 / 36
mRMR
Идея
Будем отбирать признаки, которые имеют наибольшую
взаимную информацию с ответами
Будем штрафовать признаки за избыточность, в контексте уже
отобранных фичей
Relevance(F, c) =
1
|F|
fi ∈F
I(fi , c)
Redundancy(F) =
1
|F|2
fi ,fj ∈F
I(fi , fj )
Тогда критерий mRMR имеет вид:
mRMR = max
F
(Relevance(F, c) − Redundancy(F))
32 / 36
Embedded methods
Что мы уже знаем?
Sparse regression, LASSO
Decision Trees with pruning
Autoencoders with bottleneck
С чем нам еще предстоит познакомиться?
Regularized Random Forest (RRT)
Regularized gradient boosting
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_pca
3. Сгенирировать многомерные данные (D > 10). Реализовать
критерий выбора размерности редуцированного пространства.
35 / 36
Вопросы

More Related Content

PDF
Лекция №12 "Ограниченная машина Больцмана"
PDF
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
PDF
Лекция №5 "Обработка текстов, Naive Bayes"
PDF
Лекция №10 "Алгоритмические композиции. Завершение"
PDF
Лекция №9 "Алгоритмические композиции. Начало"
PDF
Лекция №1 "Задачи Data Mining"
PDF
Лекция №3 "Различные алгоритмы кластеризации"
PDF
Лекция №7 "Машина опорных векторов"
Лекция №12 "Ограниченная машина Больцмана"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №1 "Задачи Data Mining"
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №7 "Машина опорных векторов"

What's hot (20)

PDF
L11: Метод ансамблей
PDF
Лекция №6 "Линейные модели для классификации и регрессии"
PDF
Лекция №4 "Задача классификации"
PDF
L7:Задача кластеризации. Метрики качества
PDF
L2: Задача классификации и регрессии. Метрики ошибок
PDF
L5: Л5 Байесовские алгоритмы
PDF
L10: Алгоритмы кластеризации
PDF
L6: Метод опорных векторов
PDF
L3: Линейная и логистическая регрессия
PDF
Лекция №13 "Глубокие нейронные сети"
PDF
Лекция №11 "Основы нейронных сетей"
PDF
Решение краевых задач методом конечных элементов
PDF
Сверточные нейронные сети
PDF
Основы MATLAB. Численные методы
PDF
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
PDF
Лекция 10. Графы. Остовные деревья минимальной стоимости
PDF
Лекция 11. Методы разработки алгоритмов
PDF
Лекция 11: Методы разработки алгоритмов
PDF
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
PDF
Лекция 2. Алгоритмы сортировки
L11: Метод ансамблей
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №4 "Задача классификации"
L7:Задача кластеризации. Метрики качества
L2: Задача классификации и регрессии. Метрики ошибок
L5: Л5 Байесовские алгоритмы
L10: Алгоритмы кластеризации
L6: Метод опорных векторов
L3: Линейная и логистическая регрессия
Лекция №13 "Глубокие нейронные сети"
Лекция №11 "Основы нейронных сетей"
Решение краевых задач методом конечных элементов
Сверточные нейронные сети
Основы MATLAB. Численные методы
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 10. Графы. Остовные деревья минимальной стоимости
Лекция 11. Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция 2. Алгоритмы сортировки
Ad

Viewers also liked (12)

PDF
Auto-Encoders and PCA, a brief psychological background
PPTX
Deep Learning - What's the buzz all about
PPT
Лекция 8
PDF
Владивосток, форум "Рост". 20 ноября 2015
PDF
Л8 Django. Дополнительные темы
ODP
Руководство по обучению сверточной нейронной сети для поиска ключевых точек о...
PDF
Введение в искусственные нейронные сети
PDF
Поиск похожих изображений при помощи нейросетей. Виктор Лемпицкий, Артем Баб...
PDF
Сеть как средство защиты и реагирования на угрозы
PDF
Как превратить свою сеть в систему информационной безопасности
PDF
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
ODP
Simple Introduction to AutoEncoder
Auto-Encoders and PCA, a brief psychological background
Deep Learning - What's the buzz all about
Лекция 8
Владивосток, форум "Рост". 20 ноября 2015
Л8 Django. Дополнительные темы
Руководство по обучению сверточной нейронной сети для поиска ключевых точек о...
Введение в искусственные нейронные сети
Поиск похожих изображений при помощи нейросетей. Виктор Лемпицкий, Артем Баб...
Сеть как средство защиты и реагирования на угрозы
Как превратить свою сеть в систему информационной безопасности
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...
Simple Introduction to AutoEncoder
Ad

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

PDF
Методы машинного обучения в физике элементарных частиц
PDF
20071111 efficientalgorithms kulikov_lecture06
PDF
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
PPTX
Обработка коллекций. Единая суть и множество проявлений
PPT
чернякова г.в.
PDF
Статистическое сравнение классификаторов
PDF
Факторизационные модели в рекомендательных системах
PPT
Лекция 12 Теоретико-числовые алгоритмы Часть 1
PDF
CSEDays. Александр Семенов
PPT
Поиск объектов
PDF
Свойства оценок
PDF
20110409 quantum algorithms_vyali_lecture09
PPT
Лекция 2
PDF
Data Mining - lecture 6 - 2014
PDF
20120415 videorecognition konushin_lecture06
PDF
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
PPT
практика 10
PPT
практика 10
PDF
Логические алгоритмы классификации
PDF
20110409 quantum algorithms_vyali_lecture09
Методы машинного обучения в физике элементарных частиц
20071111 efficientalgorithms kulikov_lecture06
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Обработка коллекций. Единая суть и множество проявлений
чернякова г.в.
Статистическое сравнение классификаторов
Факторизационные модели в рекомендательных системах
Лекция 12 Теоретико-числовые алгоритмы Часть 1
CSEDays. Александр Семенов
Поиск объектов
Свойства оценок
20110409 quantum algorithms_vyali_lecture09
Лекция 2
Data Mining - lecture 6 - 2014
20120415 videorecognition konushin_lecture06
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
практика 10
практика 10
Логические алгоритмы классификации
20110409 quantum algorithms_vyali_lecture09

More from Technosphere1 (10)

PDF
L13: Заключительная
PDF
Л9: Взаимодействие веб-приложений
PDF
Webdev7 (2)
PDF
Мастер-класс: Особенности создания продукта для мобильного веб
PDF
Web лекция 1
PDF
Мастер-класс: "Интеграция в промышленную разработку"
PDF
Webdev7: Обработка HTTP запросов. Django Views
PDF
L8: Л7 Em-алгоритм
PDF
L4: Решающие деревья
PDF
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L13: Заключительная
Л9: Взаимодействие веб-приложений
Webdev7 (2)
Мастер-класс: Особенности создания продукта для мобильного веб
Web лекция 1
Мастер-класс: "Интеграция в промышленную разработку"
Webdev7: Обработка HTTP запросов. Django Views
L8: Л7 Em-алгоритм
L4: Решающие деревья
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)

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

  • 1. Лекция 8 Методы снижения размерности Владимир Гулин 12 ноября 2014 г.
  • 3. Структура курса Модуль 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
  • 4. План лекции Мотивация Методы выделения признаков (feature extraction) Методы отбора признаков (feature selection) 3 / 36
  • 5. Мотивация Визуализация Скорость обучения Качество обучения Экономия при эксплуатации Понимание данных и гибкость построения новых моделей 4 / 36
  • 6. Проклятие размерности (curse of dimensionality) Сложность вычислений возрастает экспоненциально Требуется хранить огромное количество данных Большое число признаков являются шумными В линейных классификаторах увеличение числа признаков приводит к мультиколлинеарности и переобучению. Для метрических классификаторов (в пространсвах с lp нормой) согласно закону больших чисел расстояния становятся неинформативны. 5 / 36
  • 7. Подходы к снижению размерности Feature Extraction Data space → Feature space Пространство данных может быть представлено сокращенным количеством “эффективных” признаков Feature Selection Data space → Data subspace Отбирается некоторое подмножество наиболее “полезных” признаков 6 / 36
  • 8. Задача выделения/синтеза признаков Feature Extraction Дано. N обучающих D-мерных объектов xi ∈ X, образующих тренировочный набор данных (training data set) X. Найти. Найти преобразование A : X → P, dim(P) = d < D, сохранив при этом большую часть “полезной информации” об X. Что мы рассмотрим: PCA ICA Autoencoders with bottleneck 7 / 36
  • 9. Principal Component Analysis PCA (Principal Component Analysis) - анализ главных компонент. В теории информации известен также как преобразование Карунена-Лоева. Суть метода: Ищем гиперплоскость заданной размерности, такую что ошибка проектирования выборки на данную гиперплоскость была бы минимальной. 8 / 36
  • 10. Principal Component Analysis Будем искать преобразование в семействе линейных функций: x = Ap + b, где x ∈ RD - представление объекта в исходном пространстве, p ∈ Rd - новые координаты объекта b ∈ RD , A ∈ RD×d xj = D i=1 (xT j ai )ai - исходные точки ˜xj = d i=1 pj,i ai + D i=d+1 bi ai - проекции Тогда критерий выбора гиперплоскости имеет вид: J = 1 N N j=1 xj − ˜xj 2 → min q,z,b 9 / 36
  • 11. Principal Component Analysis J = 1 N N j=1 xj − ˜xj 2 → min q,z,b Несложно показать, что решение будет иметь вид: pj,i = xT j ai bi = ¯xT ai где ¯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
  • 12. Иллюстрация PCA (a) Исходное пространство (b) Итоговое пространство Сдвигаем начало координат в центр выборки Поворачиваем оси, чтобы признаки не коррелировали Избаляемся от координат с малой дисперсией 11 / 36
  • 13. Principal Component Analysis Альтернативная интерпретация Максимизация дисперсии спроецированных данных Примеры рукописных цифр из базы MNIST 12 / 36
  • 14. Выбор размерности редуцированного пространства Поскольку собственные значения ковариационной матрицы R отсортированы в порядке убывания λ1 ≥ λ2 ≥ . . . ≥ λd Критерий выбора размерности будет иметь вид: d : d i=1 λi n i=1 λi ≥ η, где η = {0.95, 0.99} 13 / 36
  • 15. Связь PCA & SVD X = UΣVT где U(m × m) - ортогональная матрица левых собственных векторов (собственные вектора матрицы XXT ) V(n × n) - ортогональная матрица правых собственных векторов (собственные вектора матрицы XT X ) Σ(m × n) - диагональная матрица с сингулярными числами на главной диагонали Матрица главных компонет может быть вычислена: XV = UΣ 14 / 36
  • 16. Применение PCA (a) Data Visualization (b) Image procesing (c) Prospect (d) Data compression 15 / 36
  • 17. Достоиснтва и недостатки PCA + Алгоритм прост + С помощью “kernel trick” адаптируется на нелинейный случай (Kernel PCA) — Проблема с вычислением собсвенных векторов ковариационной матрицы в случае большого количества данных — Координаты объектов в новом пространстве определены неоднозначно Вопрос: При каких условиях можно использовать представление данных в виде главных компонент для обучения? 16 / 36
  • 19. Independent Component Analysis X = AS xj = aj,1s1 + aj,2s2 + . . . + aj,N sN , j = 1, . . . , N xj , sk - случайные величины X - наблюдаемые данные A - матрица смешивания S - неизвестный сигнал Задача: Оценить A и восстановить исходные сигналы S = A−1 X. Два предположения: si статистически независимы p(s1, s2) = p(s1)p(s2) “Негауссовость” распределений 18 / 36
  • 20. Independent Component Analysis Схема 1. Центрируем данные xi ← (xi − ¯x) : ¯x ← 1 N N i=1 xi 2. “Отбеливаем” данные X = UΣVT , X ← UΣ−1/2 UT X Cov(X) = I AAT = I 3. Находим ортогональную матрицу A Infomax FastICA JADE 19 / 36
  • 21. PCA vs ICA Геометрическая интерпретация (a) PCA (ортогональны) (b) ICA (не ортогональны) 20 / 36
  • 22. PCA vs ICA x1 x2 = a11 a12 a21 a22 s1 s2 Сравнение PCA vs ICA на искуственном временном ряде, смоделированном по 1000 равномерно расспределенным точкам. 21 / 36
  • 23. Применение ICA (a) EEG (b) Audio procesing (c) Finance (d) Medical data 22 / 36
  • 24. Методы основанные на автоэнкодерах J(w) = N i=1 f (xi , w) − xi 2 → min Замечание Если в сети всего один скрытый слой, тогда результат эквивалентен PCA. 23 / 36
  • 25. PCA vs Autoencoder Задача визуализации тематических текстовых документов D = 2000 - “мешок слов” N = 4 · 105 документов (a) PCA (b) Deep Autoencoder 24 / 36
  • 26. “Бабушкин” нейрон Andrew Ng 9-ти слойный разряженный автоэнкодер Асинхронный градиентный спуск 10 млн. кадров случайно взятых из роликов youtube Удалось найти нейрон, отвечающий за наличие лица в кадре 25 / 36
  • 27. Задача отбора признаков Feature Selection Дано. N обучающих D-мерных объектов xi ∈ X, образующих тренировочный набор данных (training data set) X, а также каждому xi соответсвует метка ci ∈ R. Найти. Найти подмножество признаков F исходного признакового пространства F = {f1, f2, . . . , fD}, содержащее наиболее “информативные” признаки. Что мы рассмотрим: Переборные алгоритмы Методы основанные на корреляции/взаимной информации Embedded methods 26 / 36
  • 28. Отбор признаков “в лоб” Экспертный подход Full Search (NP hard) Жадные алгоритмы (Forward selection, Backward elimination, Bidirectional elimination etc.) 27 / 36
  • 29. Жадные алгоритмы отбора признаков Forward selection 1 function forwardselection(F, J, n): 2 # F - original feature set 3 # J - external criterion 4 # n - parameter 5 initialize F_0 = {} # empty set 6 initialize Q = J(F_0) # compute score 7 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 feature 10 if J(F_j) < Q: 11 jbest = j 12 Q = J(F_j) # save best 13 if j - jbest >= n: 14 return F_jbest Backward elimination Все аналогично. Только ислючаем 28 / 36
  • 30. Жадные алгоритмы отбора признаков DFS. Основные идеи: Избегаем повторов при переборе Если подмножество признаков бесперспективно, то не будем пытаться его дальше наращивать. Оценка бесперспективности: ∃j : J(F) ≥ ηJ(F∗ j ), |F| ≥ j + n 29 / 36
  • 31. Жадные алгоритмы отбора признаков Итоги Не все признаки “полезны” Отбор признаков проводится по внешним критериям (СV) Для сокращения перебора хороши любые эвристики Предполагаем, что перебор по подмножествам устойчив НАДО ПЕРЕОБУЧАТЬ АЛГОРИТМ 30 / 36
  • 32. Методы основанные на корреляции/взаимной информации Коэффициент корреляции r(X, Y ) = x (x − ¯x) y (y − ¯y) x (x − ¯x)2 y (y − ¯y)2 Correlation feature selection (cfs) Взаимная информация I(X, Y ) = x y p(x, y) log p(x, y) p(x)p(y) Minimum redundancy maximum relevance (mRMR) 31 / 36
  • 33. mRMR Идея Будем отбирать признаки, которые имеют наибольшую взаимную информацию с ответами Будем штрафовать признаки за избыточность, в контексте уже отобранных фичей Relevance(F, c) = 1 |F| fi ∈F I(fi , c) Redundancy(F) = 1 |F|2 fi ,fj ∈F I(fi , fj ) Тогда критерий mRMR имеет вид: mRMR = max F (Relevance(F, c) − Redundancy(F)) 32 / 36
  • 34. Embedded methods Что мы уже знаем? Sparse regression, LASSO Decision Trees with pruning Autoencoders with bottleneck С чем нам еще предстоит познакомиться? Regularized Random Forest (RRT) Regularized gradient boosting Regularized neural nets 33 / 36
  • 35. О чем еще не поговорили? Отбор признаков без учителя Оценка качества фичей 34 / 36
  • 36. Задача Дано: Имеется набор трехмерных данных Требуется: Построить проэкцию этих данных на плоскость использую любую пару признаков. Вычислить pca и отобразить данные в пространстве первых двух собственных векторов. Пошаговая инструкция 1. Скачать и запустить шаблон кода на python http://goo.gl/5kW1Pa $ python pca.py -h $ python pca.py -i 50 2. Заполнить функцию compute_pca 3. Сгенирировать многомерные данные (D > 10). Реализовать критерий выбора размерности редуцированного пространства. 35 / 36