Redução de dimensionalidade

Jacques Wainer

1) Redução de dimensionalidade

dados (pontos nos espaço) tem dimensão m e passam a ser pontos num espaço de menos dimensões (k) m > k que capturam tudo/quase tudo do dado original

assume que dados “reais” sobre coisas “reais” estão organizados em sub-espaços (lineares ou não lineares).

Dados: uma matrix V de m colunas (atributos ou dimensões) e n linhas (número de dados)

2) Redução linear:

V_{nm} \approx W_{nk} H_{km}

k é o numero novo (menor) de dimensões

mais formalmente

descubra W e H de forma que mimimize erro( V - W H) para

Também chamado de low rank (k) approximation

A solucão normalmente não é única (a nao ser que haja algumas restriçoes no W (ou no H)

Se W e H é uma solucão então \alpha W e 1/\alpha H também é.

Algoritmos

em um caso há uma solução analitica (PCA)

alternating gradient descent (ou variações)

Em alguns casos, há uma solução analítica para o passo 2) e 5)

problema não é convexo e portanto os algoritmos vao encontrar minimos locais.

uma boa inicializacão é importante

2) PCA

https://en.wikipedia.org/wiki/Principal_component_analysis

visto na disciplina de algebra linear e também na de aprendizado supervisionado (como redução de dimensionalidade).

minimize \quad \sum_{ij} (V - WH)^2_{ij}

minimize \quad ||V - WH||_{fro}

Algoritmo do PCA

ha 2 algoritmos principais

Em ambos casos:

X = U \Lambda V

W H = U \Lambda_k V

normalmente: W = U \Lambda e H = V

variações de PCA

3) Fatoraçao nao negativa (NMF)

https://en.wikipedia.org/wiki/Non-negative_matrix_factorization

restrição: W \ge 0

normalmente H e V \ge 0 também.

a ideia é que os padrões de H sao aditivos -cada dado é uma combinação positiva dos padrões de H.

Por exemplos tópicos em texto

Por exemplo separação de fontes:

NMF é um dos problemas onde há formas analíticas para os passos 2 e 5 (multiplicative update rule https://en.wikipedia.org/wiki/Non-negative_matrix_factorization)

Variações no NMF

W deve ser esparso (dicionary learning)

Regularização L1

minimize \quad \sum_{ij} (V - WH)^2_{ij} + \alpha \sum_{ij} | W_ij|

minimize \quad ||V - WH||_{fro} + \alpha ||W||_{1}

python: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.NMF.html

R: http://renozao.github.io/NMF/master/index.html

dicionary learning: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.DictionaryLearning.html

W deve ser probabilistico

Latent Dirichlet allocation (LDA)

python: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html

R: https://cran.r-project.org/web/packages/topicmodels/index.html

linha de W é todo 0s e um 1

Se cada linha de W é um 1 e os outros valores sao 0

Varios 1 e 0

clusterizaçao multipla

cada dado pode pertencer a múltiplos clusteres

Missing values / matrix completion

matriz V tem valores faltantes NA ou NaN

Weighted NMF

minimize \quad erro_{falt} (\tilde{V} - WH) onde erro_{falt} é o erro quadratico apenas nas entradas nao faltantes de V

\tilde{V} é uma imputação simples (NA -> 0 por exemplo)

ou

minimize \quad ||P \circ (\tilde{V} - WH)||_{fro}

P é uma matriz de pesos (neste caso 0/1) 0 para dados faltantes

\circ multiplicação de matrizes elementos por elementos.

nao estamos interessados em W ou H em separado, apenas na reconstrução W H que tem rank baixo e valores apropriados para os dados faltantes.

matriz completion

No caso de matrix completion normalmente há uma troca entre restricoes e objetivos de minimização.

Missing values