Iván Lillo V.




                1
   Imagen: conjunto denso de patches fijos.
    ◦ Ej: patches de 24x24 pixeles cada 4 pixeles.

   Cada patch descrito por un vector de
    features.
   Asumo que existe un diccionario visual que
    indexa a cada patch.




                                                     2
   N patches, con índice i = 1, …, N
   L clases, con índice y = 1, …, L
   K palabras visuales, con índice k = 1, …, K
   M imágenes, con índice j = 1, …, M
   F features por patch. El vector de features del
    patch i es fi.
   En cada imagen, se define un vector z de tamaño
    N como el vector de asignaciones de palabras a
    patches.


                                                      3
   Por cada imagen, defino el histograma de las
    asignaciones de palabras a patches como h(z)
    (BoF).
   Se desea aprender un clasificador que separe
    las clases de imágenes y además que aprenda
    las asignaciones a partir de los features.




                                                   4
   Función de energía que se desea maximizar (por
    imagen)                     N
                  E x, y , z       αT h z
                                    y                  ωTi f i
                                                        z
                                                 i 1

   En forma alternativa:
                               N    K
               E x, y , z                   yk   ωT f i
                                                  k              zi   k
                               i 1 k 1


   Expresa la energía en términos de la clase y las
    palabras de diccionario que representan a los
    patch.


                                                                          5
   En forma vectorial:

                                 0
                                 
                                hz        En posición según
       α1
        T
             α T | ω1
                     T
                          ωT            clase „y‟
                L           K

                                 0
                  W
                                               N
                                sk        sk         fi   zi   k
                                               i 1


                                x, y, z

                                                                   6
   Encontrar
                     fW x     arg max W,                   x, y , z
                                  ( y ,z )

   Problema se resuelve con SVM estructural con
    variable latente z, donde

                zi   k   if   k        arg max             ym   ωT fi
                                                                 m
                                             m 1, ..., K



   Dada la clase y el vector W, puedo inferir la mejor
    asignación del vector z para cada imagen.


                                                                        7
1        2
                    min      W      2          j
                           2
    s. to
       WT       xj, yj,z j     WT          x j , y, v        y j , y, v    j
                                                                       N
            j 1, ...,M ,      y         1, ...,L,       v   1, ...,K
                             y yj



En la formulación se reescala el margen de acuerdo a la función
de pérdida    y j , y, v .




                                                                               8
   Se usa un esquema similar a EM
    ◦ Si asumo conocidos los vectores zj, puedo
      encontrar W  SVM estructural.
    ◦ Con W conocido, encuentro las nuevas asignaciones
      en cada imagen tal que:
             zi   k   if   k   arg max       ym   ωT fi
                                                   m
                               m 1, ..., K


   El esquema es análogo a una implementación
    de latent-SVM.



                                                          9
   Se usa API de Latent-SVM estructural
    ◦ http://www.cs.cornell.edu/~cnyu/latentssvm/

   Método CCCP.
   Editar las funciones del API  10 funciones
    ◦ 5 de entrada/salida e inicialización
    ◦ 5 de core




                                                    10
   x
    ◦ Matriz de features, un „x‟ por imagen.

   y
    ◦ Clase.

   z
    ◦ Vector de asignaciones de palabras a patches.

   Cada imagen tiene asociado un vector          .




                                                      11
   Core
    1. ( ) = psi(x,y,z)
    2. (loss) = loss(y,yhat,zhat)
    3. (ybar, zbar) = classify_struct_example(x)
    4. (yhat,zhat) =
       find_most_violated_constraint_marginrescaling(x,y)
    5. (zbar) = infer_latent_variables(x,y)

    En 3,4 y 5 se usa

               zi   k   if   k   arg max       ym   ωT fi
                                                     m
                                 m 1, ..., K




                                                            12
    ( ) = psi(x,y,z)
    ◦ Genero h(z).
    ◦ Por cada patch, sumo los fi en la posición
      correspondiente a zi.
                                     0
                                     
                                    hz        En posición según
           α1
            T
                 α T | ω1
                         T
                              ωT            clase „y‟
                    L           K

                                     0
                      W
                                                   N
                                    sk        sk         fi   zi   k
                                                   i 1


                                    x, y, z

                                                                       13
   (loss) = loss(y,yhat,zhat)
       Por ahora, zero/one

           loss = 0 si y = yhat

           loss = 100 si y ≠ yhat.




                                      14
   (ybar, zbar) = classify_struct_example(x)
        Ya está calculado el vector W = α1                       α T | ω1    ωT
                                         T                               T
                                                                   L           K


       Para cada clase ybar (L)
           Para cada patch i (N)

               Encuentro la palabra k (K) tal que

                       zbar i   k   if   k   arg max α ybar m   ωT fi
                                                                 m
                                              m 1, ..., K




           Calculo el score dado por WT (x, ybar, zbar), y me quedo con
            la clase que otorgue el mayor score.


                                                                                    15
   (yhat,zhat) =
    find_most_violated_constraint_marginrescaling(x,y)
       Para cada clase yhat ≠ y (L-1)
           Para cada patch i (N)

                Encuentro la palabra k (K) tal que

                        z hat i   k   if   k   arg max α yhat m   ωT fi
                                                                   m
                                                m 1, ..., K

           Calculo el score dado por WT (x, yhat, zhat) + loss(y,yhat,zhat).

               Entrego el (yhat,zhat) tal que conformen el mayor score.




                                                                                16
       (zbar) = infer_latent_variables(x,y)
       Para cada patch i (N)
           Encuentro la palabra k (K) tal que

                     zbar i   k   if   k   arg max α ym ωT f i
                                                         m
                                           m 1, ..., K




                                                                 17
   Se usa descriptor HoG
    ◦ Patch de 24x24 pixeles (fijo)
    ◦ Dos niveles (45 features por patch).

   Asignación inicial: k-means general.




                                             18
   4 clases, 300 imágenes por clase de 64x86
    pixeles (reducidas de 240x320) del set
    Caltech.
    ◦ 150 train, 150 test (random)

   200 palabras.
   Feature Hog piramidal (2), patch de 24x24
    pixeles  45 features por patch.
     = 6, produciendo 77 patches por imagen.


                                                19
   Matriz de confusión, 4 clases.
                 Cars       Airplanes_ Faces        Motorbike
                            side                    s_side
     Cars        150        0           0           0

     Airplanes_ 68          49          16          17
     side
     Faces       0          0           150         0

     Motorbike   0          0           1           149
     s_side


      Performance: 83%, asignación inicial: k-means general


                                                                20
   Clase “cars”, “faces” y “motorbikes” buen
    resultado.
    ◦ Menos clutter, mejor alineadas y menos variabilidad
      intraclase.

   Posible sesgo en asignación inicial.
    ◦ Variación: k-means por cada clase  asigno cada
      patch a cluster más cercano.




                                                            21
   Matriz de confusión, 4 clases.
                 Cars       Airplanes_ Faces         Motorbike
                            side                     s_side
     Cars        148        1           1            0

     Airplanes_ 48          72          20           10
     side
     Faces       0          0           150          0

     Motorbike   0          0           0            150
     s_side


      Performance: 86%, asignación inicial: k-means por clase


                                                                 22
   Bajo rendimiento en sólo una clase.
   Usando mismos parámetros y features, BoF +
    SVM multiclase entrega un 97.5% de
    rendimiento.




                                                 23
   Supuesto: esquema piramidal aporta mayor
    información local.
   (n,p,q) indexan las subdivisiones
   Por cada valor de n = 1,…,
    ◦ {pn} = {1,…,2n}
    ◦ {qn} = {1,…,2n}




                n=0        n=1          n=2
                                               24
   Cada subdivisión es un histograma dentro del vector W.

   La energía queda definida como
                                                                N
                                            y T
                 E x, y , z             α   npq   h npq z             ωTi f i
                                                                       z
                                  npq                           i 1


   En forma alternativa:

                              N   K
            E x, y, z                               yk
                                                    Si      ωT f i
                                                             k            zi    k
                              i 1 k 1        Si


            Si      (n, p, q) : patch i Superpatch (n, p, q)


                                                                                    25
   Modificaciones a representación vectorial
                                      0
                                     
                                    Hz        En posición según
        Α1
         T
               Α T | ω1
                       T
                              ωT            clase „y‟
                  L             K

                                     0
                       W
                                                   N
                                     sk       sk         fi   zi   k
                                                   i 1


                                    x, y, z
                   T          T
      AT
       l     [α l011    α lnpq ]   H(z) [h011 (z)T  hnpq (z)T ]T

                                                                       26
   La formulación es análoga a esquema simple.
   Para la asignación, tenemos que

              zi    k if    k   arg max             ym
                                                    Si   ωT f i
                                                          m
                                 m 1, ..., K   Si



   El cambio en implementación viene dado por
    armar los conjuntos Si y cambiar la estructura
    de .
         Si        (n, p, q) : patch i Superpatch (n, p, q)


                                                                  27
◦ Mismo setup anterior.

             Cars       Airplanes_ Faces         Motorbike
                        side                     s_side
 Cars        150        0           0            0

 Airplanes_ 57          80          6            7
 side
 Faces       0          0           150          0

 Motorbike   0          0           1            149
 s_side


  Performance: 88%, asignación inicial: k-means por clase


                                                             28
   Mejora con respecto a esquema simple pero no como se
    esperaba.

   Cambios en la formulación del problema:
    ◦ Se presume que existe realimentación positiva para aquellos
      asignaciones más repetidas.

                                                      0
                                                      
                                                     hz             En posición según
                 α   T
                     1    α |ω
                              T
                              L
                                      T
                                      1     ω   T
                                                 K                 clase „y‟
                                                      0
                              W
                                                                          N
                                                     sk             sk          fi      zi   k
                                                                          i 1


                                                     x, y, z


                         zi       k       if   k     arg max             ym          ωT fi
                                                                                      m
                                                      m 1, ..., K
                                                                                                 29
   Cuatro cambios:
    1. Normalización de h(z).

    2. Cambiar sk por la máxima activación en vez de la
       suma.

    3. Cambiar sk por el promedio en vez de la suma.

    4. Considerar los bias (b) en los vectores   y




                                                          30
   Normalización de h(z). N = número de patches en
    imágenes.                        N
                E x, y , z α y h N z
                            T
                                       ωTi f i
                                        z
                                                     i 1

                       hNy z         h(z) / N


                          N   K
                                       yk
           E x, y, z                              ωT f i
                                                   k        zi       k
                          i 1 k 1    N

                                                       ym
              zi   k if       k     arg max                 ωT f i
                                                             m
                                    m 1, ..., K       N

                                                                         31
0
                           
                         hN z       En posición según clase „y‟

α1
 T
      α T | ω1
         L
              T
                   ωT
                     K     
                           0
           W
                                           N
                          sk        sk          fi   zi   k
                                          i 1


                          x, y, z




                                                                  32
   Cambiar sk por la máxima activación en vez de la
    suma
                                           K
             E x, y, z       α hzT
                                 y               max {ωT fi ( zi
                                                       k                           k )}
                                                 i 1,..., N
                                           k 1

                                            0
                                            
                                           hz                 En posición según
              α   T
                  1    α |ω
                         T
                         L
                             T
                             1    ω   T
                                       K                     clase „y‟
                                            0
                         W
                                           sk           sk       max {ωT fi
                                                                       k      zi    k}
                                                                i 1,..., N


                                           x, y, z


   Zi se busca en forma exhaustiva (por mientras).

                                                                                          33
   Consideraciones de implementación:
    ◦ Al inicio, supp(W) = 0, por lo que sk no considerará
      los vectores k y será el feature de un patch
      asignado aleatorio.
    ◦ El vector depende de W, lo que posiblemente
      puede ser problemático para la convergencia.
      Propuesta 1: no hacer nada y ver cómo se comporta.
      Propuesta 2: actualizar cada n iteraciones




                                                             34
   Cambiar sk por el promedio en vez de la
    suma
                                      N                                                    N
                                              fi
      E x, y, z       α hzT
                          y              ω T
                                           zi
                                                                    N zi (z )                       ( zi   k)
                                   i   1   N zi ( z )                                  i 1

                                                     0
                                                     
                                                    hz             En posición según
                  α   T
                      1    α |ω
                              T
                              L
                                  T
                                  1        ω   T
                                                K                 clase „y‟
                                                     0
                              W
                                                                      N
                                                    sk                       fi
                                                              sk                    ( zi       k)
                                                                     i 1   N k (z )
                                                    x, y, z




                                                                                                                35
fi
                zi   k if   k   arg max       ym   ωT
                                                    m
                                m 1, ..., K             N m (z )


   Como el número de patches que pertenezcan
    a una palabra depende de las asignaciones zi,
    se itera:
    ◦   Se asume conocido Nm
    ◦   Se encuentran las asignaciones zi
    ◦   Se recalcula Nm
    ◦   Etc.



                                                                   36
   Considerar los bias (b) en los vectores                      y .
                                                N
                       E x, y, z   α hz
                                    T
                                    y       y         (ωTi f i bzi )
                                                        z
                                                i 1

   Consideraciones:
           y   será distinto de cero sólo si supp(h(z)) > 0
               Se cumple por construcción, fijando la clase „y‟ siempre existirá
                algún hk(z) mayor que cero.

       bzi será distinto de cero sólo cuando la palabra asociada sea
        asignada.
               Se cumple ya que aparece b asociado a los zi, no aparecerá si la
                palabra no es asignada a algún patch.



                                                                                    37
   Alternativamente:
                                                     N
              E x, y, z       α hzT
                                  y           y            (ωTi f i bzi )
                                                             z
                                                     i 1

                          K   N
        E x, y, z                     yk   ωT fi bk
                                            k                   ( zi   k)        y
                      k 1 i 1




         zi     k   if        k       arg max              ym     ωT f i
                                                                   m        bm
                                       m 1, ..., K



   En desarrollo…

                                                                                     38
   Usar más palabras, imágenes completas
   Patch de 32x32
   Ver k-SVD
   Analizar instancias de entrenamiento
   Implementar el máximo y bias




                                            39
40
   No considerar el problema como de variable
    latente, basado en formulación original.
    ◦ Dejar fijas las asignaciones
    ◦ Aprender sólo los pesos
    ◦ Resultado: No se llega a una buena clasificación.




                                                          41
   Psi no es discriminativo con las asignaciones
    iniciales, las clases no son 100% separables
    mediante la formulación. Resolviendo un SVM
    multiclase con sólo los histogramas, se llega a
    error menor (~2%) en test y 0% en train.
   Las asignaciones son función de la posición del
    plano de separación  encontrar la restricción
    más violada es comparar dos cosas distintas, ya
    que comparo el vector Psi con las asignaciones
    originales (que no dependen de W) versus
    vectores con las asignaciones dependientes de W,
    debido al esquema EM de latent-SVM.

                                                       42

Metodo as rv

  • 1.
  • 2.
    Imagen: conjunto denso de patches fijos. ◦ Ej: patches de 24x24 pixeles cada 4 pixeles.  Cada patch descrito por un vector de features.  Asumo que existe un diccionario visual que indexa a cada patch. 2
  • 3.
    N patches, con índice i = 1, …, N  L clases, con índice y = 1, …, L  K palabras visuales, con índice k = 1, …, K  M imágenes, con índice j = 1, …, M  F features por patch. El vector de features del patch i es fi.  En cada imagen, se define un vector z de tamaño N como el vector de asignaciones de palabras a patches. 3
  • 4.
    Por cada imagen, defino el histograma de las asignaciones de palabras a patches como h(z) (BoF).  Se desea aprender un clasificador que separe las clases de imágenes y además que aprenda las asignaciones a partir de los features. 4
  • 5.
    Función de energía que se desea maximizar (por imagen) N E x, y , z αT h z y ωTi f i z i 1  En forma alternativa: N K E x, y , z yk ωT f i k zi k i 1 k 1  Expresa la energía en términos de la clase y las palabras de diccionario que representan a los patch. 5
  • 6.
    En forma vectorial: 0  hz En posición según α1 T  α T | ω1 T  ωT  clase „y‟ L K 0 W N sk sk fi zi k i 1 x, y, z 6
  • 7.
    Encontrar fW x arg max W, x, y , z ( y ,z )  Problema se resuelve con SVM estructural con variable latente z, donde zi k if k arg max ym ωT fi m m 1, ..., K  Dada la clase y el vector W, puedo inferir la mejor asignación del vector z para cada imagen. 7
  • 8.
    1 2 min W 2 j 2 s. to WT xj, yj,z j WT x j , y, v y j , y, v j N j 1, ...,M , y 1, ...,L, v 1, ...,K y yj En la formulación se reescala el margen de acuerdo a la función de pérdida y j , y, v . 8
  • 9.
    Se usa un esquema similar a EM ◦ Si asumo conocidos los vectores zj, puedo encontrar W  SVM estructural. ◦ Con W conocido, encuentro las nuevas asignaciones en cada imagen tal que: zi k if k arg max ym ωT fi m m 1, ..., K  El esquema es análogo a una implementación de latent-SVM. 9
  • 10.
    Se usa API de Latent-SVM estructural ◦ http://www.cs.cornell.edu/~cnyu/latentssvm/  Método CCCP.  Editar las funciones del API  10 funciones ◦ 5 de entrada/salida e inicialización ◦ 5 de core 10
  • 11.
    x ◦ Matriz de features, un „x‟ por imagen.  y ◦ Clase.  z ◦ Vector de asignaciones de palabras a patches.  Cada imagen tiene asociado un vector . 11
  • 12.
    Core 1. ( ) = psi(x,y,z) 2. (loss) = loss(y,yhat,zhat) 3. (ybar, zbar) = classify_struct_example(x) 4. (yhat,zhat) = find_most_violated_constraint_marginrescaling(x,y) 5. (zbar) = infer_latent_variables(x,y)  En 3,4 y 5 se usa zi k if k arg max ym ωT fi m m 1, ..., K 12
  • 13.
    ( ) = psi(x,y,z) ◦ Genero h(z). ◦ Por cada patch, sumo los fi en la posición correspondiente a zi. 0  hz En posición según α1 T  α T | ω1 T  ωT  clase „y‟ L K 0 W N sk sk fi zi k i 1 x, y, z 13
  • 14.
    (loss) = loss(y,yhat,zhat)  Por ahora, zero/one  loss = 0 si y = yhat  loss = 100 si y ≠ yhat. 14
  • 15.
    (ybar, zbar) = classify_struct_example(x) Ya está calculado el vector W = α1  α T | ω1  ωT T T  L K  Para cada clase ybar (L)  Para cada patch i (N)  Encuentro la palabra k (K) tal que zbar i k if k arg max α ybar m ωT fi m m 1, ..., K  Calculo el score dado por WT (x, ybar, zbar), y me quedo con la clase que otorgue el mayor score. 15
  • 16.
    (yhat,zhat) = find_most_violated_constraint_marginrescaling(x,y)  Para cada clase yhat ≠ y (L-1)  Para cada patch i (N)  Encuentro la palabra k (K) tal que z hat i k if k arg max α yhat m ωT fi m m 1, ..., K  Calculo el score dado por WT (x, yhat, zhat) + loss(y,yhat,zhat).  Entrego el (yhat,zhat) tal que conformen el mayor score. 16
  • 17.
    (zbar) = infer_latent_variables(x,y)  Para cada patch i (N)  Encuentro la palabra k (K) tal que zbar i k if k arg max α ym ωT f i m m 1, ..., K 17
  • 18.
    Se usa descriptor HoG ◦ Patch de 24x24 pixeles (fijo) ◦ Dos niveles (45 features por patch).  Asignación inicial: k-means general. 18
  • 19.
    4 clases, 300 imágenes por clase de 64x86 pixeles (reducidas de 240x320) del set Caltech. ◦ 150 train, 150 test (random)  200 palabras.  Feature Hog piramidal (2), patch de 24x24 pixeles  45 features por patch.  = 6, produciendo 77 patches por imagen. 19
  • 20.
    Matriz de confusión, 4 clases. Cars Airplanes_ Faces Motorbike side s_side Cars 150 0 0 0 Airplanes_ 68 49 16 17 side Faces 0 0 150 0 Motorbike 0 0 1 149 s_side Performance: 83%, asignación inicial: k-means general 20
  • 21.
    Clase “cars”, “faces” y “motorbikes” buen resultado. ◦ Menos clutter, mejor alineadas y menos variabilidad intraclase.  Posible sesgo en asignación inicial. ◦ Variación: k-means por cada clase  asigno cada patch a cluster más cercano. 21
  • 22.
    Matriz de confusión, 4 clases. Cars Airplanes_ Faces Motorbike side s_side Cars 148 1 1 0 Airplanes_ 48 72 20 10 side Faces 0 0 150 0 Motorbike 0 0 0 150 s_side Performance: 86%, asignación inicial: k-means por clase 22
  • 23.
    Bajo rendimiento en sólo una clase.  Usando mismos parámetros y features, BoF + SVM multiclase entrega un 97.5% de rendimiento. 23
  • 24.
    Supuesto: esquema piramidal aporta mayor información local.  (n,p,q) indexan las subdivisiones  Por cada valor de n = 1,…, ◦ {pn} = {1,…,2n} ◦ {qn} = {1,…,2n} n=0 n=1 n=2 24
  • 25.
    Cada subdivisión es un histograma dentro del vector W.  La energía queda definida como N y T E x, y , z α npq h npq z ωTi f i z npq i 1  En forma alternativa: N K E x, y, z yk Si ωT f i k zi k i 1 k 1 Si Si (n, p, q) : patch i Superpatch (n, p, q) 25
  • 26.
    Modificaciones a representación vectorial 0  Hz En posición según Α1 T  Α T | ω1 T  ωT  clase „y‟ L K 0 W N sk sk fi zi k i 1 x, y, z T T AT l [α l011  α lnpq ] H(z) [h011 (z)T  hnpq (z)T ]T 26
  • 27.
    La formulación es análoga a esquema simple.  Para la asignación, tenemos que zi k if k arg max ym Si ωT f i m m 1, ..., K Si  El cambio en implementación viene dado por armar los conjuntos Si y cambiar la estructura de . Si (n, p, q) : patch i Superpatch (n, p, q) 27
  • 28.
    ◦ Mismo setupanterior. Cars Airplanes_ Faces Motorbike side s_side Cars 150 0 0 0 Airplanes_ 57 80 6 7 side Faces 0 0 150 0 Motorbike 0 0 1 149 s_side Performance: 88%, asignación inicial: k-means por clase 28
  • 29.
    Mejora con respecto a esquema simple pero no como se esperaba.  Cambios en la formulación del problema: ◦ Se presume que existe realimentación positiva para aquellos asignaciones más repetidas. 0  hz En posición según α T 1  α |ω T L T 1  ω T K  clase „y‟ 0 W N sk sk fi zi k i 1 x, y, z zi k if k arg max ym ωT fi m m 1, ..., K 29
  • 30.
    Cuatro cambios: 1. Normalización de h(z). 2. Cambiar sk por la máxima activación en vez de la suma. 3. Cambiar sk por el promedio en vez de la suma. 4. Considerar los bias (b) en los vectores y 30
  • 31.
    Normalización de h(z). N = número de patches en imágenes. N E x, y , z α y h N z T ωTi f i z i 1 hNy z h(z) / N N K yk E x, y, z ωT f i k zi k i 1 k 1 N ym zi k if k arg max ωT f i m m 1, ..., K N 31
  • 32.
    0  hN z En posición según clase „y‟ α1 T  α T | ω1 L T  ωT K  0 W N sk sk fi zi k i 1 x, y, z 32
  • 33.
    Cambiar sk por la máxima activación en vez de la suma K E x, y, z α hzT y max {ωT fi ( zi k k )} i 1,..., N k 1 0  hz En posición según α T 1  α |ω T L T 1  ω T K  clase „y‟ 0 W sk sk max {ωT fi k zi k} i 1,..., N x, y, z  Zi se busca en forma exhaustiva (por mientras). 33
  • 34.
    Consideraciones de implementación: ◦ Al inicio, supp(W) = 0, por lo que sk no considerará los vectores k y será el feature de un patch asignado aleatorio. ◦ El vector depende de W, lo que posiblemente puede ser problemático para la convergencia.  Propuesta 1: no hacer nada y ver cómo se comporta.  Propuesta 2: actualizar cada n iteraciones 34
  • 35.
    Cambiar sk por el promedio en vez de la suma N N fi E x, y, z α hzT y ω T zi N zi (z ) ( zi k) i 1 N zi ( z ) i 1 0  hz En posición según α T 1  α |ω T L T 1  ω T K  clase „y‟ 0 W N sk fi sk ( zi k) i 1 N k (z ) x, y, z 35
  • 36.
    fi zi k if k arg max ym ωT m m 1, ..., K N m (z )  Como el número de patches que pertenezcan a una palabra depende de las asignaciones zi, se itera: ◦ Se asume conocido Nm ◦ Se encuentran las asignaciones zi ◦ Se recalcula Nm ◦ Etc. 36
  • 37.
    Considerar los bias (b) en los vectores y . N E x, y, z α hz T y y (ωTi f i bzi ) z i 1  Consideraciones:  y será distinto de cero sólo si supp(h(z)) > 0  Se cumple por construcción, fijando la clase „y‟ siempre existirá algún hk(z) mayor que cero.  bzi será distinto de cero sólo cuando la palabra asociada sea asignada.  Se cumple ya que aparece b asociado a los zi, no aparecerá si la palabra no es asignada a algún patch. 37
  • 38.
    Alternativamente: N E x, y, z α hzT y y (ωTi f i bzi ) z i 1 K N E x, y, z yk ωT fi bk k ( zi k) y k 1 i 1 zi k if k arg max ym ωT f i m bm m 1, ..., K  En desarrollo… 38
  • 39.
    Usar más palabras, imágenes completas  Patch de 32x32  Ver k-SVD  Analizar instancias de entrenamiento  Implementar el máximo y bias 39
  • 40.
  • 41.
    No considerar el problema como de variable latente, basado en formulación original. ◦ Dejar fijas las asignaciones ◦ Aprender sólo los pesos ◦ Resultado: No se llega a una buena clasificación. 41
  • 42.
    Psi no es discriminativo con las asignaciones iniciales, las clases no son 100% separables mediante la formulación. Resolviendo un SVM multiclase con sólo los histogramas, se llega a error menor (~2%) en test y 0% en train.  Las asignaciones son función de la posición del plano de separación  encontrar la restricción más violada es comparar dos cosas distintas, ya que comparo el vector Psi con las asignaciones originales (que no dependen de W) versus vectores con las asignaciones dependientes de W, debido al esquema EM de latent-SVM. 42