Estoy intentando comprender el análisis discriminante lineal (también conocido como análisis discriminante de Fisher).
Estoy leyendo este informe técnico y Pattern Recognition and Machine Learning de Christopher Bishop (sección 4.1.4, p.187).
Primero, algunas definiciones:
- Un dato $\mathbf{x}_n$ se define como un vector de columnas con $M$ componentes.
- $\mathbf{X}$ se define como $(M, N)$ matriz donde las columnas son los puntos de datos $\mathbf{x}_n$ .
- $K$ es el número de clases.
- $\mathbf{S}_\text{B}$ : covarianza entre clases de los datos antes de la proyección.
- $\mathbf{S}_\text{W}$ : covarianza dentro de la clase de los datos antes de la proyección.
- $\mathbf{s}_\text{B}$ : covarianza entre clases de los datos proyectados.
- $\mathbf{s}_\text{W}$ : covarianza dentro de la clase de los datos proyectados.
La idea general en el análisis discriminante de Fisher es proyectar los puntos de datos en $\mathbf{X}$ a un $K - 1$ espacio que maximiza $\mathbf{s}_\text{B}$ y minimiza $\mathbf{s}_\text{W}$ .
En el informe técnico, el criterio de discriminación se define como
$$J(\mathbf{W}) = \frac{|\mathbf{s}_\text{B}|}{|\mathbf{s}_\text{W}|} = \frac{|\mathbf{W}^\mathsf{T}\mathbf{S}_\text{B}\mathbf{W}|}{|\mathbf{W}^\mathsf{T}\mathbf{S}_\text{W}\mathbf{W}|} = \frac{\text{det}(\mathbf{W}^\mathsf{T}\mathbf{S}_\text{B}\mathbf{W})}{\text{det}(\mathbf{W}^\mathsf{T}\mathbf{S}_\text{W}\mathbf{W})}$$
Pregunta $(1)$ surge aquí: por qué la maximización de la relación de los discriminantes es un buen criterio para maximizar $\mathbf{s}_\text{B}$ y minimizar $\mathbf{s}_\text{W}$ ? (parece que hay una noción básica de álgebra lineal que se me escapa)
Ahora, justo después de definir este criterio, dicen que las columnas de un óptimo $\mathbf{W}$ son los vectores propios generalizados $\mathbf{v}_i$ que corresponden a los valores propios no nulos $\lambda_i$ en
$$\mathbf{S}_\text{B} \mathbf{v}_i = \lambda_i \mathbf{S}_\text{W} \mathbf{v}_i,$$
sujeto a la restricción de normalización
$$\mathbf{v}_i^\mathsf{T}\mathbf{S}_\text{W}\mathbf{v}_i = 1.$$
Ahora surge la pregunta $(2)$ : ¿por qué es esto cierto?
Para encontrar el óptimo $\mathbf{W}$ Supongo que tenemos que resolver $\frac{\partial J(\mathbf{W})}{\partial\mathbf{W}} = 0$ para $\mathbf{W}$ . Empecé por señalar primero (del libro de cocina de Matrix) que
$$\frac{\partial\text{det}(\mathbf{W}^\mathsf{T}\mathbf{A}\mathbf{W})}{\partial \mathbf{W}} = 2 \text{det}(\mathbf{W}^\mathsf{T}\mathbf{A}\mathbf{W})\mathbf{A}\mathbf{W}(\mathbf{W}^\mathsf{T}\mathbf{A}\mathbf{W})^{-1}$$
para cualquier matriz simétrica $\mathbf{A}$ ( $\mathbf{S}_\text{B}$ y $\mathbf{S}_\text{W}$ son simétricas, ya que son matrices de covarianza).
Esto me lleva a lo siguiente
$$\frac{\partial J(\mathbf{W})}{\partial\mathbf{W}} = \frac{2|\mathbf{W}^\mathsf{T} \mathbf{S}_\text{B}\mathbf{W}|\{ \mathbf{S}_\text{B}\mathbf{W}(\mathbf{W}^\mathsf{T} \mathbf{S}_\text{B}\mathbf{W})^{-1} - \mathbf{S}_\text{W}\mathbf{W}(\mathbf{W}^\mathsf{T} \mathbf{S}_\text{W}\mathbf{W})^{-1} \}} {|\mathbf{W}^\mathsf{T} \mathbf{S}_\text{W}\mathbf{W}|}$$
Pero entonces no estoy seguro de adónde voy y me hubiera gustado tener alguna idea.