Visión por computadora: ¿cómo sé qué vector de características en un vector combinado es más confiable?

Este es uno de los desafíos clásicos en el aprendizaje automático. Uno de los grandes
Los documentos en esta área son: Una introducción a la selección de variables y características

Proporciona una gran experiencia en la selección de funciones y algunos de los algoritmos clásicos, pero está un poco anticuado y no presta mucha atención a la técnica más moderna de “regularización” que se cubre en los últimos libros de aprendizaje estadístico como: datos minería, inferencia y predicción. 2da edición.

Una de las mejores formas de descubrir características ‘útiles’ es usar la “regularización” en el algoritmo de aprendizaje. El método “Lasso” que Boris B. menciona es un ejemplo de un algoritmo de aprendizaje “regularizado”.

Intuitivamente, la regularización es una restricción que obliga al algoritmo de aprendizaje a limitar la contribución que cada característica hace a la predicción final. Cuando se ejecuta el algoritmo de aprendizaje, un parámetro de regularización (a menudo llamado parámetro de ajuste) controla la cantidad de restricción. Con una restricción estricta, el algoritmo se ve obligado a elegir un pequeño número de características en su predicción. Una vez que se ha dado el paso de aprendizaje, se pueden ver los pesos. Las características altamente ponderadas son aquellas que son más importantes en la predicción.

Aprender a utilizar mejor las restricciones de regularización es una habilidad crítica en el aprendizaje automático, y puede marcar la diferencia al crear un algoritmo que funcione bien, a partir de uno que bombardee totalmente, incluso con los mismos datos de entrenamiento.

El lazo, mencionado en otras publicaciones, es un algoritmo de regulación que utiliza una restricción de la norma L1.

Otro tipo de algoritmo es la restricción L2, a veces llamada regresión de cresta.

La restricción L2 es diferente de la restricción L1 Lasso en que ese algoritmo generalmente asignará un peso distinto de cero a cada característica. No obtendrá las características limpias de ponderación cero que el Lazo le dará. Pero a menudo no importa: de todas formas, solo tienes que mirar las características altamente ponderadas.

Hay conjuntos de datos que funcionarán mejor con L2 y otros que funcionarán mejor con restricciones de L1. A menudo depende de cuán independientes sean las características (por ejemplo, cuánta correlación hay entre las características).

Pero en mi experiencia, las restricciones L2 a menudo funcionan igual de bien en la predicción, pero son significativamente más fáciles de entrenar, y definitivamente lo que hay que probar primero. Dado que las restricciones L2 son fácilmente diferenciables, los algoritmos de entrenamiento (como la regresión de cresta) pueden proporcionar soluciones exactas sin utilizar métodos de gradiente / descenso coordinado. Todo esto significa que el paso de entrenamiento puede ser significativamente más rápido.

Hay otros grandes beneficios computacionales de los modelos L2:
1) puede hacer algunos trucos de matriz para que solo necesite hacer una costosa inversión de matriz incluso cuando pruebe múltiples parámetros de “ajuste” de regularización

2) puede averiguar rápidamente el puntaje de la prueba de dejar uno afuera sin hacerlo realmente (otro truco de la matriz)

3) Si las características superan significativamente los ejemplos de entrenamiento, puede kernalizar el algoritmo para obtener un beneficio de cálculo

Estos son temas más avanzados cubiertos en el libro de Hastie Tibshirani y también los documentos de Michael Jordan (en Berkeley).

Pero simplemente, comenzaría así:
1) Aprenda a entrenar y usar modelos como la regresión de crestas y la regresión logística regularizada L2

2) Experimente con entrenamiento usando diferentes parámetros de ajuste para ver cómo impacta los pesos aprendidos.

3) No olvides la importancia de normalizar los vectores de características de entrenamiento cuando combinas múltiples características en un solo vector. Si las escalas relativas son diferentes, esto puede arruinar totalmente el proceso de aprendizaje si no se normaliza.

Cuando se sienta cómodo con estas cosas, entonces experimentaría con técnicas más avanzadas como el Lazo (L1) y vería cómo funciona en sus datos.

Descubrirá que las técnicas L1 son muy populares en la literatura, a menudo porque tiene buenas propiedades matemáticas que permiten a los investigadores probar las garantías sobre el rendimiento del algoritmo dado muchos supuestos.

En realidad, las suposiciones rara vez se mantienen con datos reales, y el paso de normalización y la elección del parámetro de ajuste correcto tendrán un efecto mucho mayor que la técnica particular que elija (L1 vs L2).

Espero que esto ayude.

El problema que está describiendo se conoce como “selección de características”. Algunos algoritmos de aprendizaje supervisado realizarán la selección de características como parte del proceso de aprendizaje. Por ejemplo, un árbol de decisión elige qué características se dividirán en cada nodo, por lo que si comienza con 10,000 características y su árbol solo tiene 31 nodos, puede ver qué características se eligieron después de entrenar el árbol. Otro ejemplo es un modelo lineal con cierta regularización de la dispersión (por ejemplo, lazo – ver 3.1. Modelos lineales generalizados). Una vez que lo entrene, asignará pesos de cero a muchas de las características (generalmente hay un parámetro para ajustar el equilibrio entre el error de entrenamiento y la escasez), solo puede ver qué características se asignaron a pesos distintos de cero. Puede ver algunos otros ejemplos aquí: 3.11. Selección de características.

Alternativamente, existen métodos de selección de características no supervisados ​​que básicamente intentan descartar características redundantes, o características que están altamente correlacionadas. Ver página en Ce.

Tenga en cuenta que todo lo anterior tratará cada una de sus funciones de forma independiente. Es decir, estos métodos serán ciegos al hecho de que las primeras n características provienen de GIST y el resto proviene de un histograma de color. Si desea un método que le diga qué grupo de características es más relevante, miraría el Aprendizaje de kernel múltiple o lazo grupal.

Tobgin con una advertencia, los métodos mencionados anteriormente con las regularizaciones L1 L2 para la selección de fetures no son muy informativos si usas un clasificador de acuerdo con mis experimentos, ya que el algoritmo de aprendizaje usa solo características discriminatorias que se encuentran en el proceso de aprendizaje.

En su lugar, utilice dicho algoritmo basado en la optimización con datos de preprocesamiento de características informativas mediante la selección de características basadas en chi-cuadrado o aplique la descomposición de valores singulares. La métrica de Chisquare le brinda las características más discriminatorias ya que ignora el. Correlación entre dimensiones. Debido a esa limitación, el chi-cuadrado debe usarse en datos no correlacionados. Si sus datos están correlacionados, aplique svd. Svd encuentra la nueva asignación de sus datos en nuevos ejes capturando una mejor variación. Simplemente aplique svd a los datos, mantenga ejes con valores singulares más altos (dimensiones capaces de capturar más varianza) e ignore otros. Después de la selección de svd, aplique el aprendizaje y pruebe el modelo. Si los resultados no son satisfactorios, ahora utilice la métrica de chi-cuadrado para las funciones seleccionadas por el procedimiento de DVD. Dado que las características de svd están menos correlacionadas, esta selección de chi-cuadrado funcionaría mejor y su modelo final mejoraría.

Esa es la única para la tubería de selección de características simples.

Para su caso específico, el aprendizaje de múltiples núcleos parece ser una mejor opción, ya que proporciona pesos para ambos grupos por separado. Puede implementar MKL simple con libsvm donde establezca pesos durante la validación cruzada.

Sin embargo, el método basado en la selección de características sería más fácil de probar.