Un'opzione interessante sarebbe esplorare la riduzione della dimensionalità basata su neuroni. Il tipo più comunemente usato di rete per la riduzione dimensionalità, l'autoencoder, possono essere addestrati a costo di , dove rappresenta le iterazioni di formazione (è un iper-parametro indipendente dei dati di allenamento) . Pertanto, la complessità dell'allenamento si semplifica in .i O ( n )O (i⋅n)ioO ( n )
Puoi iniziare dando un'occhiata al seminario del 2006 di Hinton e Salakhutdinov [1]. Da allora, le cose si sono evolute molto. Ora la maggior parte dell'attenzione è raggiunta dagli Autoencoder Variazionali [2], ma l'idea di base (una rete che ricostruisce l'input nel suo livello di output con uno strato di collo di bottiglia in mezzo) rimane la stessa. Si noti che, al contrario di PCA e RP, gli auto-codificatori eseguono una riduzione della dimensionalità non lineare. Inoltre, al contrario di t-SNE, gli autoencoders possono trasformare campioni invisibili senza la necessità di riqualificare l'intero modello.
Sul lato pratico, raccomando di dare un'occhiata a questo post , che fornisce dettagli su come implementare diversi tipi di autoencoder con la meravigliosa libreria Keras.
[1] Hinton, GE e Salakhutdinov, RR (2006). Ridurre la dimensionalità dei dati con le reti neurali. scienza, 313 (5786), 504-507.
[2] Kingma, DP e Welling, M. (2013). Bayes variazionali a codifica automatica. arXiv prestampa arXiv: 1312.6114.