El primer paso en cualquier problema de aprendizaje automático es averiguar a qué tipo de datos de entrada tiene acceso . Por ejemplo, aquí hay algunas cosas que puede saber sobre una persona que podrían ser útiles para predecir su edad:
- La imagen de su rostro : rasgos faciales, arrugas, color de cabello podría correlacionarse con algunos grupos de edad más fuertemente que otros.
- Historial de compras : los hábitos de gasto probablemente se correlacionarían fuertemente con el grupo de edad; por ejemplo, estudiantes que compran libros de texto versus padres que compran pañales.
- Fecha de nacimiento : en este momento ni siquiera necesito aprendizaje automático, solo haz los cálculos.
Una vez que tenga una buena contabilidad de lo que ya sabe sobre cada persona antes de predecir su edad, puede comenzar a pensar en el modelo que querrá usar. No existe una solución única para todos, pero aquí hay algunas ideas para cada uno de los ejemplos dados anteriormente:
- Redes neuronales convolucionales cuando se trata de imágenes (imágenes de caras). Las CNN son buenas para tratar datos densos compuestos de características de bajo nivel , como las diferencias sutiles en forma y tono que vienen con la edad. Las CNN son la herramienta de facto cuando se trata de tareas de visión por computadora hoy en día.
- Árboles de decisión cuando se trabaja con una cantidad manejable de características de alto nivel , como el historial de compras. Es posible que tenga cientos o miles de resultados de compra binarios, y los árboles de decisión son buenos para convertirlos en reglas generalizables de si-entonces.
- No use el aprendizaje automático si hay un algoritmo muy claro que puede escribir usted mismo para darle la respuesta correcta con una precisión del 100%. Si en producción su sistema siempre le preguntará la fecha de nacimiento del usuario, entonces no hay razón para usar el aprendizaje automático.
Una vez que tenga sus datos de entrada, algo de verdad básica para evaluar el rendimiento de su modelo, y una idea aproximada de qué tipo de modelos querrá explorar, es hora de experimentar. En general, es una buena idea comenzar con modelos más simples y avanzar desde allí. Un modelo más simple es más fácil de entrenar, ofrece un mejor rendimiento en tiempo de ejecución y es más fácil dar sentido a los resultados. Solo use modelos más pesados después de que su modelo más simple haya resultado insuficiente para la tarea. Además, los modelos más simples actuarán como una línea de base que puede usar para justificar sus resultados.
- ¿Qué son los problemas NP-completos? ¿Cómo podemos resolverlos?
- ¿Cuál fue el algoritmo utilizado por AlphaGo para ganar el juego de Go contra el campeón europeo de Go humano?
- Si los algoritmos avanzados y las estructuras de datos nunca se utilizan en la industria, ¿por qué aprenderlos?
- Cómo mejorar si he pasado 10 años aprendiendo programación pero aún no puedo resolver la mayoría de los problemas de algoritmos
- ¿Cuál es el papel de la memoria de montón?