Нелинейное снижение размерности

Основное предположение - данные расположены на нелинейной поверхности меньшей размерности, чем исходное пространство.

Методы снижения размерности можно разделить на следующие группы:

* Методы, сохраняющие глобальные свойства (kernel PCA, autoencoders, MDS, Isomap, diffusion maps, MVU)
* Методы, сохраняющие локальные свойства (Local linear embedding, Laplacian eigenmaps)
* Композиция локально-линейных моделей (в курсе не рассматривались)

## Глобальные методы

### Multi-dimensional scaling

Метод, сохраняющий попарные расстояния между новыми представлениями объектов как можно более близкими к исходным. Возможно добавление весов, обратно пропорциональных старым расстояниям, так как нам важно как можно точнее сохранить расстояния между ближайшими соседями. MDS является одним из этапов во многих других методах снижения размерности.

### Isomap

Основная проблема предыдущего метода в том, что не всегда из малого

x
i

−

x
j

 должно следовать малое

y
i

−

y
j

 (см. пример с буквой S). В Isomap данная проблема решается тем, что расстояние в исходном пространстве берется не евклидово, а геодезическое ("дороги" проложены только между ближайшими соседями). Все попарные расстояния можно вычислить с помощью какого-нибудь алгоритма нахождения кратчайшего расстояния в графе.
Основной минус - выбросы могут "испортить" геодезическое расстояние, поэтому нужно от них предварительно избавиться. Например, можно выкинуть объекты, через которых проходит очень большой поток, т.е. своего рода срезы. Выбор количества ближайших соседей тоже важен.

### Maximum variance unfolding

Основная идея - "вытянуть" поверхность в плоскость, сохраняя расстояния фиксированными только между ближайшими соседями. Здесь также важно количество ближайших соседей, так как если ограничений типа равенства слишком много, то решения оптимизационной задачи может и не быть. Также выбросы могут помешать методу, вводя излишние ограничения.

### Kernel PCA

То же самое, что и PCA, только с ядрами. Преимущество перед остальными методами в том, что метод работает для новых точек, которых не было в обучении. Нужно только выбрать правильное ядро.

### Diffusion maps

Основная идея - составить матрицу близости между объектами, нормализовать её так, чтобы элементы можно было интерпретировать как вероятности перехода. Тогда, вычислив матрицу перехода за T шагов (см. СЛУПы), мы можем задать diffusion distance как евклидово расстояние с весами между строками этой матрицы. Основной плюс - расстояние между двумя объектами вычисляется через всевозможные пути, то есть влияние выбросов не так велико.

### Autoencoders

Строим автокодировщик, у которого нужное число нейронов в центральном слое. К плюсам можно отнести легкое вычисление нового представления для новых объектов.

Недостатки:

* Вычислительные сложности при обучении нейронной сети
* Невыпуклая оптимизация
* Нужно подбирать параметры

## Локальные методы

### Local linear embedding

Каждый объект из выборки представляем как линейную комбинацию его K ближайших соседей, то есть решаем оптимизационную задачу для нахождения весов. Новые представления объектов строятся так, чтобы разложение объекта через ближайших соседей имело те же самые веса.

### Laplacian eigenmaps

Составляется матрица близости, в строках которой ненулевые элементы только у K ближайших соседей. Затем решается задача оптимизации, в которой минимизируется сумма всех попарных расстояний с соответствующими весами.

Замечание: при нахождении новых представлений объектов необходимо ввести некоторые ограничения, а именно потребовать равенство нулю среднего и единичной матрицы ковариации (стр.11).

## Сравнение глобальных и локальных методов

Вычислительная сложность

* Локальные методы быстрее (за исключением обычного PCA, однако он линейный)

Влияние выбросов на качество

* В глобальных методах выброс может многое испортить, в то время как в локальных методах он повлияет локально.

Однако в глобальных методах восстанавливается вся "картина", в то время как в локальных "собирается" по кусочкам.