Calcular e representar graficamente o limite de decisão da LDA


19

Eu vi um gráfico de análise discriminante linear (LDA) com limites de decisão de The Elements of Statistical Learning :insira a descrição da imagem aqui

Entendo que os dados são projetados em um subespaço de menor dimensão. No entanto, gostaria de saber como obtemos os limites de decisão na dimensão original, para que eu possa projetar os limites de decisão em um subespaço de dimensão inferior (como as linhas pretas na imagem acima).

Existe uma fórmula que eu possa usar para calcular os limites de decisão na dimensão original (superior)? Se sim, então de que entradas essa fórmula precisa?


3
Em vez de limites de decisão, você provavelmente encontrará mais utilidade ao considerar as probabilidades posteriores de pertencer à classe. Isso pode ser feito com menos pressupostos usando regressão logística politômica (multinomial), mas também pode ser feito com LDA (probabilidades posteriores).
Frank Harrell

2
Dentro da LDA, esses limites de classificação constituem o que é conhecido como mapa territorial . Eu trabalho com o SPSS, e ele é plotado , embora em formato de texto. De acordo com um designer do SPSS, os limites são facilmente encontrados pela abordagem prática:
ttnphns

3
(cont.) todo ponto de uma grade fina é classificado pela LDA e, se um ponto foi classificado como seus vizinhos, esse ponto não é mostrado. Assim, apenas limites como "faixas de ambiguidade" são deixados no final. Citation: they (bondaries) are never computed. The plot is drawn by classifying every character cell in it, then blanking out all those surrounded by cells classified into the same category.
ttnphns

Respostas:


22

Esta figura em particular em Hastie et al. foi produzido sem equações computacionais de limites de classe. Em vez disso, o algoritmo descrito por @ttnphns nos comentários foi usado, consulte a nota de rodapé 2 na seção 4.3, página 110:

Para esta figura e muitas figuras semelhantes no livro, calculamos os limites da decisão por um método de contorno exaustivo. Nós calculamos a regra de decisão em uma treliça fina de pontos e, em seguida, usamos algoritmos de contorno para calcular os limites.

No entanto, continuarei descrevendo como obter equações dos limites da classe LDA.

Vamos começar com um exemplo 2D simples. Aqui estão os dados do conjunto de dados Iris ; Eu descarto as medidas das pétalas e considero apenas o comprimento e a largura das sépalas. Três classes são marcadas nas cores vermelho, verde e azul:

Conjunto de dados Iris

Denotemos meios de classe (centróides) como . A LDA assume que todas as classes têm a mesma covariância dentro da classe; dados os dados, essa matriz de covariância compartilhada é estimada (até o dimensionamento) como , onde a soma está sobre todos os pontos de dados e o centróide da respectiva classe é subtraído de cada ponto.W = i ( x i - μ k ) ( x i - μ k ) μ1,μ2,μ3W=i(xiμk)(xiμk)

Para cada par de classes (por exemplo, classes e ), há um limite de classe entre elas. É óbvio que o limite deve passar pelo ponto médio entre os dois centróides da classe . Um dos resultados centrais da LDA é que esse limite é uma linha reta ortogonal a . Existem várias maneiras de obter esse resultado, e mesmo que não fizesse parte da pergunta, vou sugerir brevemente três delas no Apêndice abaixo.2 ( μ 1 + μ 2 ) / 2 W - 1 ( μ 1 - μ 2 )12(μ1+μ2)/2W1(μ1μ2)

Observe que o que está escrito acima é uma especificação precisa do limite. Se se quer ter uma equação de linha na forma padrão , em seguida, coeficientes de e podem ser calculados e será dada por algumas fórmulas desorganizados. Mal posso imaginar uma situação em que isso seria necessário.a by=ax+bab

Vamos agora aplicar esta fórmula ao exemplo Iris. Para cada par de classes, encontro um ponto do meio e planto uma linha perpendicular a :W1(μiμj)

LDA do conjunto de dados Iris, limites de decisão

Três linhas se cruzam em um ponto, como deveria ser esperado. Os limites de decisão são dados por raios a partir do ponto de interseção:

LDA do conjunto de dados Iris, limites da decisão final

Observe que se o número de classes for , haverá pares de classes e muitas linhas, todas se cruzando em uma confusão emaranhada. Para desenhar uma imagem bonita como a de Hastie et al., É necessário manter apenas os segmentos necessários, e é um problema algorítmico separado em si (não relacionado ao LDA de forma alguma, porque não é necessário fazer isso) a classificação; para classificar um ponto, verifique a distância de Mahalanobis para cada classe e escolha a que tem a menor distância ou use LDAs em série ou em pares).K2K(K1)/2

Nas dimensões a fórmula permanece exatamente a mesma : o limite é ortogonal a e passa por . No entanto, em dimensões mais altas, isso não é mais uma linha, mas um hiperplano de dimensões . Para fins de ilustração, pode-se simplesmente projetar o conjunto de dados para os dois primeiros eixos discriminantes e, assim, reduzir o problema ao caso 2D (que eu acredito que foi o que Hastie et al. Fizeram para produzir essa figura).D>2W1(μ1μ2)(μ1+μ2)/2D1

Apêndice

Como ver que o limite é uma linha reta ortogonal a ? Aqui estão várias maneiras possíveis de obter esse resultado:W1(μ1μ2)

  1. A maneira elegante: induz a métrica de Mahalanobis no avião; o limite deve ser ortogonal a nesta métrica, QED.W1μ1μ2

  2. A maneira gaussiana padrão: se as duas classes são descritas por distribuições gaussianas, a probabilidade de log de que um ponto pertence à classe é proporcional a . No limite, as probabilidades de pertencer às classes e são iguais; escreva, simplifique e você imediatamente chegará a , QED.xk(xμk)W1(xμk)12xW1(μ1μ2)=const

  3. A maneira laboriosa, mas intuitiva. Imagine que é uma matriz de identidade, ou seja, todas as classes são esféricas. Então a solução é óbvia: o limite é simplesmente ortogonal a . Se as classes não são esféricas, pode-se fazê-las esféricas. Se a decomposição em si de for , matriz fará o truque (veja, por exemplo, aqui ). Portanto, após aplicar , o limite é ortogonal a . Se pegarmos esse limite, transforme-o novamente comμ 1 - μ 2 W W = L D LS = D - 1 / 2 LS S ( μ 1 - μ 2 ) S - 1 SS ( μ 1 - μ 2 ) SWμ1μ2WW=UDUS=D1/2USS(μ1μ2)S1 e pergunte o que é ortogonal agora, a resposta (deixada como exercício) é: to . Conectando a expressão para , obtemos QED.SS(μ1μ2)S


Eu não tenho estudado sua resposta. Parece sofisticado e pode estar correto. Qual é a abordagem prática e mais fácil de "espalhar pontos, classificar e deduzir limites" que descrevi em um comentário? Sua abordagem é comparável aos seus resultados (que estão obviamente corretos)? O que você acha?
ttnphns

1
@ttnphns: A única parte técnica da minha resposta (uma lista numerada com 3 itens) está fornecendo algumas provas e pode ser ignorada com segurança. O resto, acredito, não é particularmente sofisticado! Talvez eu deva mover essa parte "extra" para baixo, como um apêndice? Em relação aos seus comentários: acho que essa é uma abordagem válida e gosto da aparência ASCII do "mapa territorial" do SPSS. Talvez você possa mover seus comentários para uma resposta separada (e dar uma imagem exemplar do mapa SPSS lá), acho que seria útil para futuras referências. Os resultados devem, obviamente, ser equivalentes.
Ameba diz Reinstate Monica

@ttnphns: Acontece que Hastie et al. usou exatamente o método que você descreveu aqui para plotar suas figuras, incluindo o reproduzido no OP. Encontrei uma nota de rodapé dizendo exatamente isso (e atualizei minha resposta, citando-a no início).
Ameba diz Reinstate Monica

Waouh! excelente resposta (três anos depois!), posso perguntar como você conseguiu desenhar os segmentos desse problema em particular?
Xavier Bourret Sicotte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.