LDA vs. perceptron

9

Estou tentando entender como a LDA se encaixa em outras técnicas de aprendizado supervisionado. Eu já li alguns dos posts do LDA aqui sobre o LDA. Eu já estou familiarizado com o perceptron, mas apenas aprendendo LDA agora.

Como o LDA se encaixa na família de algoritmos de aprendizado supervisionado? Quais podem ser suas desvantagens em relação a outros métodos e para que ele pode ser melhor utilizado? Por que usar o LDA, quando se pode usar, digamos, o perceptron, por exemplo?

Creatron
fonte
1
Acho que você pode estar confuso sobre o que é aprendizado supervisionado. K-means é um algoritmo de agrupamento de aprendizado não supervisionado. O Perceptron é um algoritmo de classificação de aprendizado supervisionado que tenta encontrar um hiperplano que separa as observações negativas das positivas. O LDA é um método que pode ser usado para classificação supervisionada, mas é mais comumente usado para seleção de recursos supervisionados. Veja a resposta do @ AdamO para suposições do classificador LDA.
Bitwise
@Bitwise Oops! Não sei por que coloquei K-means lá. Sim, é um algoritmo não supervisionado. Vou removê-lo em uma edição.
Creatron
@ Bitwise Em relação ao que você disse sobre LDA e Perceptron, sim, é isso que está me confundindo. O LDA tenta encontrar um hiperplano no qual projetar seus dados, de modo a maximizar a variação do intercluster, enquanto minimiza a variação intra-cluster. Então, na fronteira, você tem um classificador. O Perceptron faz algo semelhante, na medida em que também tenta encontrar um hiperplano ideal para separar os dados rotulados. Então, por que usar um sobre o outro?
Creatron 22/07/2013

Respostas:

15

Como o AdamO sugere no comentário acima, você não pode fazer melhor do que ler o Capítulo 4 do The Elements of Statistical Learning (que chamarei de HTF), que compara o LDA com outros métodos de classificação linear, dando muitos exemplos e também discute o uso da ADL como uma técnica de redução de dimensão na veia da APC que, como mostra a ttnphns, é bastante popular.

Do ponto de vista da classificação, acho que a principal diferença é essa. Imagine que você tem duas classes e deseja separá-las. Cada classe tem uma função de densidade de probabilidade. A melhor situação possível seria se você conhecesse essas funções de densidade, porque seria possível prever a qual classe um ponto pertenceria avaliando as densidades específicas da classe nesse ponto.

Alguns tipos de classificador operam encontrando uma aproximação às funções de densidade das classes. LDA é um desses; supõe que as densidades são multivariadas normais com a mesma matriz de covariância. Essa é uma suposição forte, mas se estiver aproximadamente correta, você obtém um bom classificador. Muitos outros classificadores também adotam esse tipo de abordagem, mas tentam ser mais flexíveis do que assumir a normalidade. Por exemplo, consulte a página 108 de HTF.

Por outro lado, na página 210, o HTF avisa:

Se a classificação é o objetivo final, aprender bem as densidades de classe separadas pode ser desnecessário e, de fato, enganoso.

Outra abordagem é simplesmente procurar um limite entre as duas classes, que é o que o perceptron faz. Uma versão mais sofisticada disso é a máquina de vetores de suporte. Esses métodos também podem ser combinados com a adição de recursos aos dados usando uma técnica chamada kernelization. Isso não funciona com o LDA porque não preserva a normalidade, mas não há problema para um classificador que está apenas procurando por um hiperplano de separação.

A diferença entre o LDA e um classificador que procura um hiperplano de separação é como a diferença entre um teste t e alguma alternativa não paramétrica nas estatísticas comuns. O último é mais robusto (para outliers, por exemplo), mas o primeiro é ideal se suas suposições forem atendidas.

Mais uma observação: vale a pena mencionar que algumas pessoas podem ter razões culturais para usar métodos como LDA ou regressão logística, que podem cuspir obrigatoriamente tabelas ANOVA, testes de hipóteses e tranquilizar coisas assim. LDA foi inventado por Fisher; o perceptron era originalmente um modelo para um neurônio humano ou animal e não tinha conexão com as estatísticas. Também funciona de outra maneira; algumas pessoas podem preferir métodos como máquinas de vetores de suporte, porque possuem o tipo de crédito moderno de ponta que os métodos do século XX simplesmente não conseguem igualar. Isso não significa que eles são melhores. (Um bom exemplo disso é discutido no Machine Learning for Hackers , se bem me lembro.)

Solha
fonte
"algumas pessoas podem preferir métodos como máquinas de vetores de suporte, porque eles têm o tipo de crédito moderno de ponta que os métodos do século XX simplesmente não conseguem igualar". RI MUITO! Tão verdade. Mas você tem um talento especial para explicar as coisas com muita clareza e precisão. Obrigado! Eu precisava de um 'mapa' de como as coisas se encaixavam e você o forneceu.
Creatron 23/07/2013
2

Para intuição, considere este caso:

insira a descrição da imagem aqui

A linha representa o "limite ideal" entre as duas classes oex.

O LDA tenta encontrar um hiperplano que minimize a variação entre clusters e maximize a variação intracluster, e então leva o limite para ser ortogonal a esse hiperplano. Aqui, isso provavelmente não funcionará porque os clusters têm grande variação na mesma direção.

Um perceptron, por outro lado, pode ter uma melhor chance de encontrar um bom hiperplano separador.

No entanto, no caso de classes com distribuição gaussiana, o LDA provavelmente se sairá melhor, já que o perceptron encontra apenas um hiperplano de separação que é consistente com os dados, sem dar garantias sobre qual hiperplano ele escolhe (pode haver um número infinito de hiperplanos consistentes). No entanto, versões mais sofisticadas do perceptron podem escolher um hiperplano com algumas propriedades ideais, como maximizar a margem entre as classes (isso é essencialmente o que as Máquinas de Vetor de Suporte fazem).

Observe também que o LDA e o perceptron podem ser estendidos para limites de decisão não lineares através do truque do kernel .

Bit a bit
fonte
1

Uma das maiores diferenças entre o LDA e os outros métodos é que é apenas uma técnica de aprendizado de máquina para dados que normalmente são distribuídos. Isso pode ser ótimo no caso de falta de dados ou truncamento, em que você pode usar o algoritmo EM para maximizar as probabilidades em circunstâncias muito estranhas e / ou interessantes. Advertência ao emptor porque as especificações incorretas do modelo, como dados multimodais, podem levar a previsões de desempenho insatisfatório, onde o cluster K-means teria feito melhor. Os dados multimodais também podem ser contabilizados com o EM para detectar variáveis ​​latentes ou agrupamentos no LDA.

Por exemplo, suponha que você esteja procurando medir a probabilidade de desenvolver um diagnóstico positivo de AIDS em 5 anos com base na contagem de CD4. Suponha ainda que você não conheça o valor de um biomarcador específico que afeta muito a contagem de CD4 e está associado a mais imunossupressão. Contagens de CD4 abaixo de 400 estão abaixo do limite inferior de detecção nos ensaios mais acessíveis. O algoritmo EM permite calcular iterativamente a atribuição de LDA e biomarcador e as médias e covariâncias para CD4 para o DF não truncado.

AdamO
fonte
Obrigado Adam, embora eu me encontre mais confusa agora. :-) Como o LDA é melhor / pior do que o Perceptron ou outra técnica de aprendizado supervisionado? Em relação ao EM algo, você está usando-o em um escopo de dizer que pode resolver o LDA, usando um EM algo, correto?
Creatron
1
@ Adamo, gostaria de acrescentar com clareza que o LDA como técnica de redução de dados não depende da normalidade, assim como o PCA não. A normalidade na LDA é uma suposição para 1) teste estatístico (teste M de Box etc.), 2) classificação.
ttnphns
@ttnphns assumindo normalidade significa que LDA é uma técnica de ML. ML é uma coisa boa. As advertências específicas no exemplo que mencionei utilizam o ML para resolver problemas difíceis. Essas soluções só seriam possíveis com simulação sofisticada e / ou BUGS.
22413 AdamO
O @TheGrapeBeyond LDA maximiza a distância de Mahal entre dois grupos. SLP (perceptron de camada única, ou nnet) desenha o hiperplano no espaço de recursos que cria a precisão máxima de classificação ... eu acho. Um bom ponto de partida é ler o livro Tibs / Hastie. Talvez eu precise revisar isso sozinho.
22413 AdamO