pattern recognition - recommended - Cómo: reconocimiento de patrones
pattern recognition pdf (9)
¡Cuidado con los patrones falsos! Para cualquier conjunto de datos decentemente grande, encontrará subconjuntos que parecen tener un patrón, incluso si se trata de un conjunto de datos de inversión de moneda. Ningún buen proceso para el reconocimiento de patrones debe ser sin técnicas estadísticas para evaluar la confianza de que los patrones detectados son reales. Cuando sea posible, ejecute sus algoritmos en datos aleatorios para ver qué patrones detectan. Estos experimentos le darán una línea de base para la fortaleza de un patrón que se puede encontrar en datos aleatorios (también conocidos como "nulos"). Este tipo de técnica puede ayudarlo a evaluar la "tasa de descubrimiento falso" de sus hallazgos.
Estoy interesado en aprender más sobre el reconocimiento de patrones. Sé que es un campo bastante amplio, por lo que enumeraré algunos tipos específicos de problemas que me gustaría aprender a tratar:
- Encontrar patrones en un conjunto de bytes aparentemente aleatorio.
- Reconocer formas conocidas (como círculos y cuadrados) en imágenes.
- Nota de patrones de movimiento dada una secuencia de posiciones (Vector3)
Esta es una nueva área de experimentación para mí personalmente, y para ser honesto, simplemente no sé por dónde empezar :-) Obviamente no estoy buscando las respuestas que se me proporcionarán en bandeja de plata, pero algunas búsquedas términos y / o recursos en línea donde puedo comenzar a familiarizarme con los conceptos de los dominios problemáticos anteriores sería increíble.
¡Gracias!
ps: para obtener crédito adicional, si dichos recursos proporcionan ejemplos de código / discusión en C # sería grandioso :-) pero no necesita ser
Esta es una vieja pregunta, pero es relevante, así que pensé en publicarla aquí :-) Stanford comenzó a ofrecer una clase de Aprendizaje en línea en línea aquí - http://www.ml-class.org
Esto es como decir "Me gustaría aprender más sobre electrónica ... ¿alguien me dice por dónde empezar?" El Reconocimiento de Patrones es un campo completo: hay cientos, si no miles, de libros, y cualquier universidad tiene al menos varios (probablemente 10 o más) cursos al nivel de graduación. Hay numerosas revistas dedicadas a esto también, que han estado publicando durante décadas ... conferencias.
Puede comenzar con la wikipedia.
Los Modelos Ocultos de Markov son un gran lugar para buscar, así como también las Redes Neuronales Artificiales .
Editar: Puedes echarle un vistazo a NeuronDotNet , es de código abierto y podrías hurgar en el código.
Edición 2: También puedes echar un vistazo a ITK , también es de código abierto e implementa muchos de estos tipos de algoritmos.
Edición 3: Aquí hay una introducción bastante buena a las redes neuronales . Cubre muchos de los conceptos básicos e incluye el código fuente (aunque en C ++). Implementó un algoritmo de aprendizaje no supervisado, creo que puede estar buscando un algoritmo de propagación supervisada para entrenar su red.
Edición 4: Otra buena introducción , evita las matemáticas realmente pesadas, pero proporciona referencias a una gran cantidad de ese detalle en la parte inferior, si quieres profundizar en ella. Incluye pseudocódigo, buenos diagramas y una larga descripción de la retropropagación.
Muchos enlaces útiles en esta página sobre reconocimiento de patrones relacionados con la visión artificial. Algunos de los enlaces parecen estar rotos ahora, pero puede que les resulte útil.
No soy un experto en esto, pero leer sobre Hidden Markov Models es una buena manera de comenzar.
OpenCV tiene algunas funciones para el reconocimiento de patrones en imágenes.
Es posible que desee ver esto: http://opencv.willowgarage.com/documentation/pattern_recognition.html . (enlace roto: lo más cercano en el nuevo documento es http://opencv.willowgarage.com/documentation/cpp/ml__machine_learning.html , aunque ya no es lo que llamaría documentación útil para un principiante - ver otras respuestas)
Sin embargo, también recomiendo comenzar con Matlab porque openCV no es intuitivo de usar.
Yo recomendaría comenzar con alguna caja de herramientas MATLAB. MATLAB es un lugar especialmente conveniente para empezar a jugar con cosas como esta debido a su consola interactiva. Una buena caja de herramientas que usé personalmente y me gustó mucho es PRTools ( http://prtools.org ); tienen una implementación de casi todas las herramientas de reconocimiento de patrones y también algunas otras herramientas de aprendizaje automático (redes neuronales, etc.). Pero lo bueno de MATLAB es que también hay muchas otras cajas de herramientas que puedes probar (incluso hay una caja de herramientas propietaria de Mathworks)
Cuando se sienta lo suficientemente cómodo con las diferentes herramientas (y descubra qué clasificador está desempeñando mejor para su problema), puede empezar a pensar en implementar el aprendizaje automático en una aplicación diferente.
aprender pattern-recoginition es más fácil en matlab ..
hay varios ejemplos y hay funciones para usar.
es bueno para comprender conceptos y experimentos ...