Conheço duas abordagens para fazer LDA, a abordagem bayesiana e a abordagem de Fisher .
Suponha que tenhamos os dados , onde é o preditor dimensional e é a variável dependente de classes.x p y K
Pela abordagem bayesiana , calculamos o posterior e como Como dito nos livros, suponha que seja gaussiano, agora temos a função discriminante para a ésima classe como , posso ver que é linear função de , portanto, para todas as classes , temos funções discriminantes lineares.p(x|yk)k f k ( x )
No entanto, pela abordagem de Fisher , tentamos projetar para espaço dimensional para extrair os novos recursos que minimizam a variação dentro da classe e maximizam a variação entre classes , digamos que a matriz de projeção seja com cada coluna sendo uma projeção direção. Essa abordagem é mais como uma técnica de redução de dimensão .( K - 1 )
Minhas perguntas são
(1) Podemos fazer redução de dimensão usando a abordagem bayesiana? Quero dizer, podemos usar a abordagem bayesiana para fazer a classificação encontrando as funções discriminantes que dão o maior valor para o novo , mas essas funções discriminantes ser usadas para projetar para subespaço dimensional inferior ? Assim como a abordagem de Fisher .x * f k ( x ) X
(2) Como e as duas abordagens se relacionam? Não vejo nenhuma relação entre eles, porque um parece ser capaz de fazer a classificação com o valor , e o outro visa principalmente a redução de dimensão.
ATUALIZAR
Graças a @amoeba, de acordo com o livro da ESL, encontrei o seguinte:
e esta é a função discriminante linear, derivada do teorema de Bayes e assumindo que todas as classes têm a mesma matriz de covariância . E essa função discriminante é a mesma que que escrevi acima.f k ( x )
Posso usar como a direção na qual projetar , a fim de reduzir a dimensão? Não tenho certeza disso, já que no AFAIK, a redução de dimensão é alcançada através da análise de variância entre os mesmos . x
ATUALIZAR NOVAMENTE
Na seção 4.3.3, é assim que essas projeções derivam:
e, é claro, assume uma covariância compartilhada entre classes, que é a matriz de covariância comum (para covariância dentro da classe) , certo? Meu problema é como computo esse partir dos dados? Como eu teria diferentes matrizes de covariância dentro da classe se tentar calcular partir dos dados. Então, eu tenho que agrupar a covariância de todas as classes para obter uma comum?K W