Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reduzindo ruídos com PCA

Reduzindo ruídos com PCA

Veremos como reduzir as dimensões de um dataset com baixa perda de informação usando PCA bem como seus pontos fortes e fracos.

Após a palestra vamos ter um bate-papo sobre machine learning. A ideia é compartilhar aplicações, tirar dúvidas e disseminar um pouco de conhecimento.

Meetup: https://www.meetup.com/pt-BR/hackerspaceblumenau/events/263787166/

Gravação: https://www.youtube.com/watch?v=tEkVjk3oXwo&feature=youtu.be

HackerSpace Blumenau

August 14, 2019
Tweet

More Decks by HackerSpace Blumenau

Other Decks in Programming

Transcript

  1. Variância Dado um conjunto de pontos, a variância é uma

    medida de dispersão que leva em conta o quão distante cada ponto está do valor central. Média aritmética Variância
  2. Correlação O coeficiente de correlação mede o grau de associação

    da relação linear entre duas variáveis. Coeficiente de correlação de Pearson: assume valor entre -1 e +1, quando o resultado é positivo significa que as duas variáveis crescem em conjunto, quando negativo em direções opostas. O mais próximo o valor é de zero menor é a correlação.
  3. Feature selection Método que seleciona um subconjunto das features originais

    em que apenas aquelas consideradas mais importantes são mantidas. idade peso altura velocidade máxima 10 40 1,30 11 20 74 1,70 17 50 85 1,80 13 idade peso 10 40 20 74 50 85 Original após execução
  4. Feature selection - Variance thresholds Para cada feature é verificado

    se a variância é menor que um limiar pré-definido, caso positivo a feature é descartada.
  5. Feature selection - Correlation thresholds Calcula a correlação entre pares

    de features, caso um determinado par tenha correlação maior que o limiar pré-definido elimina-se a feature que possui maior média absoluta de correlação em relação às demais features.
  6. Feature selection - Algoritmos genéticos Define cada indivíduo como um

    subconjunto de features de forma que cada gene representa uma feature, através de uma função de aptidão a cada geração combina-se os indivíduos mais aptos e aplica-se mutações a fim de evitar convergência prematura. É considerado um algoritmo supervisionado porque através da função de aptidão é possível verificar a assertividade utilizando o conjunto de features de cada indivíduo.
  7. Feature extraction Cria novas features baseadas nas originais buscando capturar

    a maior parte da informação, essas novas features não são interpretáveis já que não é possível saber em que sua criação foi baseada, por exemplo quais features foram fundidas e quais foram eliminadas ou receberam pouca importância. idade peso altura velocidade máxima 10 40 1,30 11 20 74 1,70 17 50 85 1,80 13 Original após execução feature 1 feature 2 feature 3 14 9 4 12 17 6 8 4 13
  8. Algoritmo tipo aprendizado PCA feature extraction não supervisionado LDA feature

    extraction supervisionado Variance thresholds feature selection não supervisionado Correlation thresholds feature selection não supervisionado Algoritmos genéticos feature selection supervisionado Algoritmos de redução de dimensionalidade
  9. Hiperplano É um subespaço com uma dimensão a menos que

    o espaço usado como base. É comum encontrar a palavra hiperplano para se referir a subespaços com ainda menos dimensões. espaço hiperplano 4D 3D 3D 2D 2D 1D 1D ponto
  10. O que é PCA ? Principal component analysis é um

    método de redução de dimensionalidade não supervisionado utilizado para encontrar projeções em hiperplanos preservando variância. Uma forma de reduzir a dimensão do dataset através de combinações lineares de features possivelmente correlacionadas ocasionando a projeção de um novo hiperplano de variáveis não correlacionadas, a tais variáveis é dado o nome de componente, estes componentes são eixos do espaço original escolhidos em ordem decrescente de variância, dessa forma features com maior variância tem maior influência no momento de escolha do eixo podendo até mesmo dominar a escolha. O primeiro componente acumula a maior variância dos dados, o segundo componente a segunda maior parte e assim sucessivamente.
  11. O que é PCA ? Uma das características que tornam

    esse método versátil é a capacidade de definir o quanto de variância acumulada deseja-se alcançar e assim apenas usar o número de componentes necessários para atingir tal taxa.
  12. Utilidade Quando desenvolvemos um algoritmo de aprendizado é comum nos

    depararmos com bases de dados com dezenas ou até mesmo centenas de features, nesses casos é preciso identificar quais features são ou não boas preditoras para melhorar a percepção e assertividade do algoritmo de aprendizagem. Ao reduzir a dimensão do dataset preservando a variância e tendo os componentes armazenando essa variância de forma decrescente, PCA se mostra uma ótima técnica de redução de dimensionalidade não supervisionada que ajuda a diminuir o trabalho de análise da qualidade das features.
  13. Pontos positivos • Torna a execução de algoritmos mais rápida.

    • Evita overfitting quando usado em métodos de aprendizado supervisionado uma vez que o algoritmo não se concentra em dados com baixa variância que podem gerar parâmetros viciados na etapa de treinamento.
  14. • Sensível a outliers pois estes tendem a aumentar a

    variância e consequentemente geram uma priorização muitas vezes incorreta. • Quando usado para reduzir a dimensionalidade em projetos de aprendizado supervisionado podem ocorrer casos em que a feature mais importante para diferenciar entre as possíveis classes possua a menor variância entre todas, nesse caso o algoritmo criaria os componentes focando na variância e daria primeiro atenção as demais features o que geraria componentes que apesar de explicar a variância do dataset muito bem acabam por não serem boas descritoras para classificação. Limitações
  15. • PCA é um método geralmente utilizado com algoritmos de

    aprendizado não supervisionado já que não leva em conta a classe de cada ponto do conjunto, apesar de não ser o método mais adequado é possível utilizá-lo em aprendizado supervisionado de modo que a coluna de classes Y é separada das demais colunas de features X, neste caso executa-se PCA na matriz X para então unir os componentes principais que se tem como resultado à coluna Y novamente. • Deve ser utilizado com cuidado em métodos de aprendizado supervisionado justamente por poder considerar uma feature pouco importante quando esse não é o caso. • É boa prática normalizar os dados para evitar diferentes unidades de medida que podem gerar prioridade nas features erradas no momento de procura pelo eixo de maior variância. Observações
  16. Fontes https://linkconcursos.com.br/significado-e-explicacao-de-variancia-na-estatistica/ https://brasilescola.uol.com.br/matematica/medidas-dispersao-variancia-desvio-padrao.htm https://en.wikipedia.org/wiki/Hyperplane https://hackernoon.com/supervised-machine-learning-dimensional-reduction-and-principal-compon ent-analysis-614dec1f6b4c https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/principal_component_analysis .html https://elitedatascience.com/dimensionality-reduction-algorithms http://marte.sid.inpe.br/col/dpi.inpe.br/sbsr@80/2006/11.15.12.38/doc/6143-6150.pdf

    https://machinelearningmastery.com/calculate-principal-component-analysis-scratch-python/ https://www.quora.com/Why-is-PCA-called-an-unsupervised-learning-algorithm https://support.minitab.com/pt-br/minitab/18/help-and-how-to/statistics/basic-statistics/how-to/correl ation/methods-and-formulas/methods-and-formulas/ http://leg.ufpr.br/~paulojus/CE003/ce003/node8.html https://www.robertoreif.com/blog/2018/1/9/pca https://stackabuse.com/implementing-pca-in-python-with-scikit-learn/