9 votos

Categorización de los/las técnicas de Segmentación

En primer lugar, permítanme decir que estoy un poco fuera de mi profundidad aquí, así que si a esta pregunta necesita ser re-enunciado o cerrado como un duplicado, por favor hágamelo saber. Puede ser simplemente que no tengo el vocabulario adecuado para expresar mi pregunta.

Estoy trabajando en una tarea de procesamiento de imágenes en la que me identificar las características de una imagen, y luego clasificarlos con base en sus propiedades, incluyendo la forma, el tamaño, la oscuridad, etc. Estoy bastante experiencia con el procesamiento de la imagen parte de esto, pero creo que podría mejorar los métodos puedo utilizar para la clasificación de las funciones.

Ahora, puedo establecer umbrales para cada uno de los parámetros medidos, y luego clasificar características de acuerdo a algunos simple basado en la lógica en que los umbrales de la función ha cruzado. Por ejemplo (las propiedades reales y las agrupaciones son más complejos, pero estoy tratando de simplificar irrelevante partes de mi proyecto para esta pregunta), digamos que soy la agrupación de funciones en los grupos de "Grande y la Oscuridad", "la Grande y la Luz" y "Pequeño". A continuación, una característica $A$ será en "la Gran y Oscura" iff (tamaño($A$)>sizeThreshold) & (oscuridad($A$)>darknessThreshold).

El objetivo es que la clasificación de acuerdo con la clasificación realizada por un experto a nivel humano, así que puede establecer los umbrales para producir la mejor coincidencia entre los grupos humanos y de equipo en una prueba de conjunto, y entonces la esperanza de que la clasificación funciona bien con los nuevos datos.

Esto ya está funcionando bastante bien, pero veo un determinado modo de fallo que creo que puede ser reparable. Digamos que cuentan $A$ se sabe que pertenecen a la "Gran y Oscuro." El humano es clasificada de esta manera porque, aunque era apenas lo suficientemente grande, era muy, muy oscura, que compone un poco por la falta de "grandeza." Mi algoritmo no podría clasificar esta función correctamente, ya que la clasificación está basada en la rígida lógica binaria, y exige que todos los umbrales para ser cruzados.

Me gustaría mejorar este fracaso por hacer que mi algoritmo que mejor imitan a los humanos proceso guiado, en el que una deficiencia en un parámetro puede ser compensada por la abundancia de otro. Para ello, me gustaría aprovechar cada una de las propiedades básicas de mis características, y convertirlos en una especie de partitura, que sería un predictor del grupo al que pertenece el elemento. He pensado muchas maneras de hacer esto, pero la mayoría son ad hoc de ideas, basado en mi experiencia en cálculo vectorial y la física. Por ejemplo, he considerado la posibilidad de tratar a cada característica como un vector en la N-D espacio de propiedades de características, y el cálculo de la proyección de cada una característica a lo largo de ciertos vectores, cada uno de los que miden el grado en que una característica pertenece en el grupo.

Estoy seguro de que hay un más riguroso y mejor técnica establecida para hacer este tipo de cosas, pero mi historia es relativamente débil en el análisis estadístico, así que estoy buscando un empujón en la dirección correcta. Incluso el nombre de una técnica, o un enlace a un libro de texto puede ser de ayuda.

TL;DR: ¿Qué técnicas son útiles en la clasificación de los objetos de la base de un gran número de parámetros descriptivos?

5voto

Tom Jalinki Puntos 11

Suena como cualquier clasificador lineal va a hacer lo que usted necesita. Supongamos que usted ha $N$ características y el valor de la función$i$$f_i$. A continuación, un clasificador lineal va a calcular una puntuación $$s = \sum_i w_i f_i + o$$ (where $o$ is the offset). Then, if $s > t$ (where $t$ is some threshold), then the feature belongs to a class (a group), and if $s < t$, entonces no. Tenga en cuenta que no hay un único umbral aplicado a la puntuación total (en lugar de individuales, los valores de la característica), por lo que, de hecho, una deficiencia en un parámetro puede ser compensada por la abundancia en la otra. Los pesos son intuitivamente interpretable, en el sentido de que cuanto mayor sea el peso, más importante (o más decisivo) que cuentan.

Hay una gran cantidad de off-the-shelf lineal de los clasificadores que puede hacer que, incluso SVM, LDA (análisis discriminante lineal) lineal, redes neuronales, y muchos otros. Me gustaría empezar por correr SVM lineal, ya que funciona bien en muchos de los casos y puede tolerar limitada de datos de entrenamiento. También hay una gran cantidad de paquetes en muchos entornos (como Matlab y R), de modo que usted puede probar. La desventaja de SVM es que puede ser computacionalmente pesado, así que si usted necesita para aprender un montón de clases, puede ser menos apropiado.

Si desea preservar el umbral de comportamiento que tienen en la actualidad, se pueden pasar los valores de la característica a través de una sigmoide con el umbral en el lugar correcto. E. g. para una función de $i$ para el que actualmente uso un umbral de $t_i$, en primer lugar, calcular $$g_i = \frac{1}{1 + \exp(f_i - t_i)},$$ y, a continuación, aprender un clasificador lineal usando $g$'s en lugar de $f$'s. De esta manera, la compensación de comportamiento sólo ocurrirá cerca del umbral, y las cosas que están demasiado lejos del umbral no puede ser compensada (que a veces es deseable).

Otra cosa que podrías probar es utilizar probabilística de los clasificadores como Naive Bayes o BRONCEADO. Naive Bayes es casi como un clasificador lineal, excepto calcula $$s = \sum_i w^i_{f_i}.$$ Por lo tanto, hay una suma de pesos. Estas ponderaciones dependen de la característica de los valores de $f_i$, pero no por la multiplicación como en un habitual clasificador lineal. La puntuación en este caso es el logaritmo de la probabilidad, y los pesos son las contribuciones de las características individuales en que log-probabilidad. La desventaja de utilizar este en tu caso es que se necesitan muchos contenedores para su función de valores y, a continuación, el aprendizaje puede llegar a ser difícil. Hay maneras de evitarlo (por ejemplo, el uso de los priores), pero ya que usted no tiene experiencia con esto, podría ser más difícil.

Con respecto a la terminología: lo que usted llama 'de prueba' es generalmente llamado un 'conjunto de entrenamiento" en este contexto, y lo que se conoce como "nuevos datos" se denomina la "prueba de conjunto'.

Para un libro, había leído "reconocimiento de patrones" por la Duda, Hart, y la Cigüeña. El primer capítulo es una muy buena introducción para los principiantes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X