Derivando el algoritmo K-means como límite de Maximización de Expectativas para Mezclas Gaussianas

8

Christopher Bishop define el valor esperado de la función de probabilidad de registro de datos completos (es decir, suponiendo que se nos dan tanto los datos observables X como los datos latentes Z) de la siguiente manera:

(1)EZ[lnp(X,Zμ,Σ,π)]=n=1Nk=1Kγ(znk){lnπk+lnN(xn μk,Σk)}

donde se define como:γ(znk)

(2)πkN(xn μk,Σk)j=1KπjN(xn μj,Σj)

La idea, como se describe, es considerar un modelo de mezcla gaussiana en el que las matrices de covarianza de los componentes de la mezcla estén dadas por ϵI , donde ϵ es un parámetro de varianza compartido por todos los componentes, como ese:

(3)p(xμk,Σk)=1(2πϵ)M2exp{12ϵxμk2}

entonces, γ(znk) ahora se define como:

(4)πkexp{xnμk2/2ϵ}j=1Kπjexp{xnμj2/2ϵ}

El argumento ahora es el siguiente:

si consideramos el límite , vemos que en el denominador el término para el cual es el más pequeño, irá a cero más lentamente y, por lo tanto, las responsabilidades para el punto de datos irán a cero, excepto para el término j, para lo cual la responsabilidad irá a la unidad. Por lo tanto, en este límite, obtenemos una asignación difícil de puntos de datos a grupos, al igual que en el algoritmo medias, de modo queϵ0xnμj2γ(znk)xnγ(znk)Kγ(znk)rnk

donde se define como:rnk

(5)f(n)={1if k=arg minjxnμj20otherwise

Mi pregunta es ¿cómo se sostiene el argumento anterior? A saber, ¿qué significa que un término vaya a cero ? ¿Y cómo llevar el límite en la ecuación resulta en una responsabilidad binaria?most slowlyϵ04

BitRiver
fuente
1
Cuando llega a cero, va a cero para todas las 's pero a diferentes velocidades dependiendo de , la más pequeña luego reúne todo el peso en el límite. ϵexp{xnμk2/2ϵ}=exp{δn/ϵ}nδnδn
Xi'an
1
(explicación adicional) Si toma como el más , puede reescribir todos los términos como , lo que significa que todos los términos van a cero con excepto uno, aquel para el cual . δδnexp{(δδn)/ϵ}ϵδδn=0
Xi'an
@ Xi'an ¿Te gustaría dar más detalles? ¿A qué te refieres con "el más entonces reúne todo el peso en el límite"? ¿Y cómo se evalúa a la unidad el término para el que = 0? Quiero decir, el numerador es 0, ¿verdad? δnδδn
BitRiver

Respuestas:

8

Escribamos Entonces Si tomamos tenemos donde excepto para donde

xnμk2=δk.
πkexp{xnμk2/2ϵ}j=1Kπjexp{xnμj2/2ϵ}=πkexp{δk/2ϵ}j=1Kπjexp{δj/2ϵ}
δ=minnδn,
πkexp{δk/2ϵ}j=1Kπjexp{δj/2ϵ}=πkexp{(δδk)/2ϵ}j=1Kπjexp{(δδj)/2ϵ}
δδk<0k=kδδk=0 . Entonces, para todos , ya que, para , while kk
limϵ0πkexp{(δδk)/2ϵ}j=1Kπjexp{(δδj)/2ϵ}=limϵ0πkexp{(δδk)/2ϵ}πk+jkπjexp{(δδj)/2ϵ}=0
a>0
limϵ0exp{a/ϵ}=0
limϵ0πkexp{(δδk)/2ϵ}j=1Kπjexp{(δδj)/2ϵ}=limϵ0πk×1πk+jkπjexp{(δδj)/2ϵ}=1
Xi'an
fuente