¿Cómo debe un principiante en Machine Learning enfocar una declaración de problema?

En general, veo cinco pasos importantes y amplios que se toman comúnmente al abordar cualquier problema al que se puede aplicar el aprendizaje automático:

  1. Formular. Dado un problema u objetivo, ¿cómo se puede utilizar el aprendizaje automático para resolver bien el problema? ¿El problema incluso requiere una aplicación de aprendizaje automático? Por ejemplo, el problema de Netflix era “¿cómo permitimos que nuestros usuarios vean más contenido que disfrutan?” Esto puede expresarse como un problema de aprendizaje automático: dado un conjunto de datos cuyas características incluyen programas anteriores que vieron los usuarios y cuánto les gustó, además de un conjunto de datos que indique la similitud entre dos programas, cree un algoritmo que recomiende nuevos programas a los usuarios en función de lo que hayan visto anteriormente.
  2. Seleccionar datos. Es de conocimiento común que el acceso a grandes cantidades de conjuntos de datos puede ser lo que distingue a las empresas en el aprendizaje automático / aprendizaje profundo. Es por eso que compañías como Google, Facebook, Amazon y Netflix (entre otras) son tan buenas en eso: tienen un montón de datos. Para el problema particular que está resolviendo, es importante seleccionar el conjunto de datos correcto. Para esto, algunas preguntas deben ser respondidas:
    1. ¿El conjunto de datos tiene suficientes características? ¿Hay características redundantes en el conjunto de datos?
    2. ¿Se requiere ingeniería de características / selección de características para mejorar la calidad del conjunto de datos? Muchas competencias de aprendizaje automático (en sitios web como Kaggle) se ganan no por la calidad del modelo, sino por una cuidadosa ingeniería de características.
    3. ¿Qué tipo de preprocesamiento en el conjunto de datos se requiere para que pueda usarse para construir un modelo? En general, esto implica cosas como codificar variables categóricas, ejecutar word2vec en grandes corpus de texto o normalizar conjuntos de datos.
  3. Representar. Ahora que hemos formulado un problema de aprendizaje automático, el siguiente paso es elegir un espacio hipotético de funciones que asigne nuestras entradas a nuestras salidas. Esto podría ser árboles de decisión, regresión lineal, redes neuronales profundas o SVM, entre otros. Como ejemplo, una tarea como la predicción del precio de la vivienda puede implicar entrenar un algoritmo de regresión lineal junto con la creación de características no lineales, mientras que algo como reconocer gatos y perros en una imagen requerirá redes neuronales convolucionales profundas.
  4. Optimizar Ahora que se selecciona una familia de funciones de hipótesis, queremos encontrar la función específica que más se aproxima a la verdad fundamental. En otras palabras, deseamos encontrar una función mediante el entrenamiento de un conjunto de parámetros que minimicen la pérdida esperada (prueba). Al hacer esto, debemos tener cuidado de no sobreajustar nuestros datos de entrenamiento (un caso en el que minimizamos la pérdida de entrenamiento en tal medida que nuestro algoritmo no se generaliza bien). La capacidad de nuestro algoritmo de aprendizaje para generalizar es esencial, por lo que se deben tomar medidas para evitar el sobreajuste.
  5. Evaluar. Ahora que hemos entrenado nuestro modelo, los métodos estadísticos como la validación cruzada se pueden utilizar para medir la precisión del modelo. Es importante tener un conjunto de datos de validación (además de los de prueba y capacitación) para que esta validación cruzada se pueda realizar. Idealmente, el conjunto de datos de prueba solo debe tocarse una vez, cuando se realiza una prueba final después de que el modelo esté completamente finalizado y ajustado.

More Interesting

¿Cuáles son las diferencias entre la red neuronal artificial (informática) y la red neuronal biológica?

¿Cómo es el estado de ML en Palantir?

¿Es posible o valioso obtener otro doctorado en Machine Learning (Deep Learning) de una de las 50 mejores universidades de los Estados Unidos?

¿Cuáles son algunas buenas escuelas de investigación (PhD) para Inteligencia Artificial General (no Machine Learning)?

¿Cuál es la derivación matemática de la regresión logística?

¿Los principales profesionales de aprendizaje profundo a menudo tienen grandes lagunas de conocimiento debido a lo rápido que se mueve el campo?

¿Cómo puedo comenzar a construir un motor de recomendación? ¿Dónde puedo encontrar un conjunto de datos interesante? ¿Con qué herramientas / tecnologías / algoritmos es mejor construir el motor? ¿Cómo verifico la efectividad de las recomendaciones?

¿Cuáles son los casos de uso de aprendizaje profundo en CRM?

¿Necesito una GPU para aprender el aprendizaje profundo?

¿Debo aplicar PCA antes o después de la selección de funciones?

¿Qué papel jugará la ciencia de datos en las elecciones presidenciales de 2012?

¿Cuál es la diferencia entre la clasificación de vectores de soporte y la regresión? ¿Un regresor de vectores de soporte se comporta como una red neuronal por casualidad?

¿Cuáles son algunos proyectos de investigación interesantes relacionados con el aprendizaje automático?

¿Cuál crees que es la razón detrás de la asociación de Microsoft y Amazon en la tecnología de red neuronal llamada 'Gluon'?

¿Qué significa la afluencia de IA y Machine Learning en productos tecnológicos para los diseñadores de UX?