Aula 17 - Lista de Exercícios (Redução de dimensionalidade) Flashcards
Quais são as principais motivações para reduzir a dimensionalidade de um conjunto de dados?
Se d > 3 não é possível visualizar o dataset em um único gráfico. Também se busca um maior desempenho computacional, pois se houver muitas features o desempenho pode ser lento. Por fim a redução da dimensionalidade pode simplificar a representação dos dados, além de remover ruídos, uma vez que a eliminação de características irrelevantes melhora a qualidade dos dados.
O que é a “maldição da dimensionalidade”? (Está relacionado ao impacto de se aumentar o número de características de entrada do modelo sem aumentar também o número N de pontos do dataset.)
A maldição da dimensionalidade refere-se aos desafios que surgem quando se há dados em alta dimensionalidade. À medida que o número de dimensões (features) aumentam, os dados se tornam cada vez mais esparsos e a distância entre os pontos de dados ficam mais uniformes, dificultando a análise e obtenção de conclusões significativas. Isso geralmente leva a uma maior complexidade computacional, sobreajuste e dificuldades na visualização e interpretação dos dados.
Uma vez reduzida a dimensionalidade de um conjunto de dados, é possível reverter a operação? Em caso afirmativo, como? Senão, por quê?
Uma vez reduzida a dimensionalidade de um conjunto de dados, de maneira geral não é possível fazer a reversão da operação de modo perfeito. As técnicas de redução de dimensionalidade capturam as informações mais relevantes e descartam as features desnecessárias. Essa perda de informação torna difícil restaurar o conjunto de dados ao seu estado original.
O PCA pode ser utilizado para reduzir a dimensionalidade de um conjunto de dados altamente não linear?
Sim, porém não é recomendado tendo em vista que o PCA negligencia estruturas não lineares nos dados. O PCA é projetado para redução de dimensionalidade linear, uma alternativa é o uso do t-SNE.
Suponha que você execute um PCA em um conjunto de dados de mil dimensões (d = 1000), definindo a taxa de variância explicada em 95%. Quantas dimensões o conjunto de dados resultante terá?
É difícil dizer sem maiores detalhes do dataset.
Como você pode avaliar o desempenho de um algoritmo de redução de dimensionalidade em seu conjunto de dados?
Intuitivamente, um algoritmo de redução de dimensionalidade desempenha bem se é eliminado várias dimensões do dataset sem perder muita informação. Dependendo do algoritmo de redução da dimensionalidade é possível aplicar a transformação reversa, assim é possível medir o erro da reconstrução e avaliar o desempenho do algoritmo.
Dê exemplos de situações para as quais é mais adequado utilizar o algoritmo t-SNE ao invés do PCA.
O t-SNE é o mais apropriado que o PCA em situações onde o dataset não tem estruturas lineares ou quando o foco é preservar a estrutura local, padrões de clusters ou relações de vizinhança. Exemplos incluem visualizar dados em alta dimensionalidade para análise exploratória, compreender padrões de expressão gênica, analizar embeddings de processamento de linguagem natural ou visualizar imagens com base em sua similaridade visual.
Discorra sobre os prós e contras do PCA.
Prós
- Em comparação com o t-SNE é considerado menos complexo computacionalmente, podendo ser aplicado à datasets grandes.
- PCA é determinístico, ou seja, dando um mesmo dado de entrada é produzido a mesma saída.
Contras
- Pode não ser ideal para capturar relações não lineares.
- Pode não preservar bem a estrutura local ou padrões de clusters.
Discorra sobre os prós e contras do t-SNE.
Prós
- Captura relações não lineares e preserva bem estruturas locais.
- Pode capturar relações sutis e revelar estruturas ocultas.
Contras
- É computacionalmente mais caro que o PCA, especialmente para datasets grandes.
- Não é determinístico, assim os resultados variam em diferentes execuções devido à sua natureza estocástica.
Faz algum sentido juntar dois algoritmos diferentes de redução de dimensionalidade?
Sim. Pode-se usar o PCA antecipadamente por conta da sua eficiência computacional em relação com o t-SNE por exemplo, retirando assim as dimensões inúteis.
Em seguida pode-se usar o t-SNE obtendo-se resultados similares da execução única do t-SNE sem utilizar o PCA, porém o tempo de execução do PCA seguido do t-SNE é menor do que a execução única do t-SNE.
Quais são as principais desvantagens da redução da dimensionalidade de um conjunto de dados?
É perdido alguns dados durante o processo de redução de dimensionalidade.
Pode necessitar de bastante poder de processamento.
O que acontece se um elemento x_i possui um valor que destoa bastante de outros elementos x_j? Qual o efeito no cluster produzido pelo k-means nesse dataset quando usa-se a distância euclidiana? O que pode ser feito para contornar isso?
Isso pode afetar de modo que a contribuição dos valores que não destoam significativamente tenham um menor impacto na geração dos clusters, ou seja, os resultados dos clusters podem não ser apropriados. Para tanto pode-se fazer feature scaling ou normalização.