Интересным вариантом было бы изучение нейронного уменьшения размерности. Наиболее часто используемый тип сети для уменьшения размерности, автоэнкодер, может обучаться за счет , где представляет итерации обучения (это гиперпараметр, независимый от данных обучения) , Следовательно, сложность обучения упрощается до .О (я⋅н)яO ( n )
Вы можете начать с изучения работы Хинтона и Салахутдинова в 2006 году [1]. С тех пор многое изменилось. В настоящее время большая часть внимания достигается Variational Autoencoders [2], но основная идея (сеть, которая реконструирует вход на своем выходном уровне с промежуточным слоем) остается той же. Обратите внимание, что, в отличие от PCA и RP, автоэнкодеры выполняют нелинейное уменьшение размерности. Кроме того, в отличие от t-SNE, автоэнкодеры могут преобразовывать невидимые выборки без необходимости переобучения всей модели.
С практической точки зрения я рекомендую взглянуть на этот пост , в котором подробно рассказывается о том, как реализовать различные типы автоэнкодеров с помощью замечательной библиотеки Keras.
[1] Хинтон Г.Е., Салахутдинов Р.Р. (2006). Уменьшение размерности данных с помощью нейронных сетей. наука, 313 (5786), 504-507.
[2] Кингма Д.П. и Веллинг М. (2013). Авто-кодирование вариационных байесов. Препринт arXiv arXiv: 1312.6114.