¿Cuáles son algunos algoritmos / métodos de aprendizaje automático altamente efectivos?

Altamente efectivo es una definición muy flexible, pero esta es mi opinión al tomar (lo que creo que es) el espíritu de lo que quiso decir, que es la efectividad en su aplicación para resolver problemas del mundo real con limitaciones en la cantidad de potencia de procesamiento y la cantidad de datos que puede ser visto. Hay algunos en los que puedo pensar y se encuentran en la intersección del aprendizaje automático y la visión / discurso por computadora.

1. OCR: detección de caracteres escritos a mano. Hoy en día (según me han dicho) se utilizan en bancos para leer cheques, USPS para leer direcciones, etc. Algunos de estos son bastante impresionantes. Echa un vistazo a los ejemplos del extraño MNIST de Yann LeCun, este algoritmo realmente ha aprendido los dos y tres, a menos que se demuestre lo contrario, por supuesto.

2. Detección de rostros: la detección de rostros (que no debe confundirse con el reconocimiento de rostros). Verá que esto se usa en la cámara para detectar puntos de enfoque automático, etc. y en Facebook y Google para detectar rostros en las imágenes.

3. Reconocimiento de voz: algo así como llegar allí. Algunos de ellos, como Google Voice y Siri de Apple, son bastante impresionantes.

4. Recomendaciones de productos de Amazon.

TLTR:

La efectividad depende de lo que quiere decir con el problema. Una forma de verlo sería esta. Existe la complejidad (digamos en términos de generalidad) de la definición del problema, la complejidad (digamos en términos de información contenida) de la representación de datos y la complejidad (digamos en Big-O) del algoritmo. Hay ciertas transformaciones, que entre cada una de las instancias. Por ejemplo, para la misma definición de problema, se puede proporcionar una mejor representación de datos (probablemente más compleja) que puede conducir a un algoritmo más simple. Una definición de problema más general a veces puede necesitar una representación más compleja o un algoritmo más complejo.

Algunos de los problemas que está describiendo no son necesariamente problemas complejos de aprendizaje automático, sino que se trata de encontrar las entradas correctas para el algoritmo (muchas veces, es tanto el problema). Entonces, si sabe exactamente qué atributos hacen que la recomendación mejore para un determinado propósito (no sus intuiciones, sino estadísticas verificables), puede usar eso como su representación y el algoritmo necesario sería simple. Entonces, si desea que Amazon le recomiende qué libro comprar a continuación, puede intentar recopilar la información sobre sus hábitos de compra de libros y verificar lo que han comprado personas con intereses similares. Ahora, esto necesariamente funcionará siempre: No. Digamos que fue a las islas del Pacífico Sur y le interesa decir “Ventas de coco en Vanuatu”. No hay forma de que Amazon pueda adivinar esta información y no podrá predecirla. Ahora puede funcionar en absoluto: Sí, claro, pero el éxito limitado depende de la cantidad de datos disponibles y las limitaciones para procesarlos. Tomemos ahora el ejemplo de usted viendo una película sobre el colapso financiero y desea leer sobre el colapso financiero. ¿Puede Amazon recomendarle libros sobre crisis financiera, dado que usted es un lector y vio una película recientemente y calificó la película: claro.

Hay ciertos problemas que son muy simples de representar y necesitamos algoritmos simples o incluso tenemos soluciones de formas cercanas (con garantías de velocidad razonables). Digamos el problema de encontrar la mediana de n números, aunque no hay una solución de forma cerrada, tienes buenos algoritmos simples y rápidos. Ahora, si cambio de uno en el que tiene todos los datos en una secuencia de datos, esa es una secuencia de datos en la que solo se puede guardar un pequeño bit en la memoria. Entonces el problema ha cambiado, ahora tienes que encontrar una representación un poco más compleja para este nuevo problema y usar el mismo algoritmo o mantener la representación original y encontrar un algoritmo más complejo o una mezcla de ambos. Tomemos otro ejemplo. Digamos que el problema es encontrar un objeto y rastrearlo. Si sabe que el objeto es de color amarillo, no tiene variación de color, no tiene efectos de iluminación, tiene una representación que es invariable a la rotación tanto dentro como fuera del plano. Entonces tenía una representación simple y una técnica razonable de Visión por Computadora (y Aprendizaje Automático) puede usarse para resolverlo. Pero ahora, si pregunta si el objeto que puede ser de cualquier color, cualquier forma (3D), puede tener variación de iluminación, entonces el problema se vuelve mucho más complejo y esto también requiere un algoritmo complejo.

Es posible que desee consultar los algoritmos de seguimiento de objetos Predator de Zdenek Kalal: http://www.gottabemobile.com/201
Para obtener detalles técnicos, consulte: http://info.ee.surrey.ac.uk/Pers …, http://info.ee.surrey.ac.uk/Pers

Podría ser más específico ? ¿Has oído hablar de la visión por computadora: reconocimiento de texto escrito a mano (OCR), detección de rostros?