Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.El aprendizaje automático es la frase de moda actual destinada a abarcar los algoritmos informáticos utilizados para tomar decisiones, predicciones o clasificaciones basadas en datos.
cuando me uní JMP en 2014, acababa de terminar un doctorado en estadística en una escuela con una larga historia de excelencia en experimentos agrícolas y modelos mixtos. Este era el mundo al que estaba acostumbrado: pequeños experimentos diseñados para maximizar la información recibida a través de una planificación juiciosa, casi siempre alguna característica de diseño de experimento que requería técnicas de modelo mixto para analizar (el más simple es un diseño de parcela dividida), y el objetivo de determinar qué tratamiento(s) dan los mejores resultados. Esto era cierto ya sea que el científico con el que trabajé estuviera en ciencia animal, entomología, ciencia de los alimentos o educación.
Poco después de llegar a JMP, el rumor en torno a Big Data llegó su pico . Un par de años después llegó el auge del aprendizaje automático. No es de extrañar que el auge de Machine Learning haya seguido al de Big Data. ¿Qué se suponía que debía hacer la gente con todos los datos que habían recopilado? Analícelo utilizando las herramientas de la caja de herramientas de Machine Learning, por supuesto.
Mi educación formal no me había preparado particularmente para ninguna de estas cosas, pero cuando comencé mi carrera como Desarrollador Estadístico, estos temas eran lo que necesitaba para ponerme al día rápidamente. Así que hice lo que todos los estudiantes hacen hoy en día cuando dan los primeros pasos en un tema nuevo: visité Wikipedia .
“ Aprendizaje automático es un interdisciplinario campo que utiliza técnicas estadísticas para dar sistemas informáticos la capacidad de "aprender" (por ejemplo, mejorar progresivamente el desempeño en una tarea específica) de datos , sin estar explícitamente programado.”
Esto fue un poco impresionante. ¿Cómo es posible que un sistema informático "aprenda" algo sin ser programado explícitamente? no hemos logrado skynet , sin embargo, que soy consciente! Es hora de seguir cavando. Enciclopedia Britannica dice, " Aprendizaje automático , en inteligencia artificial (una asignatura dentro de la informática), disciplina que se ocupa de la implementación de software informático que puede aprender de forma autónoma”.
Ahora perdí mi conexión con las estadísticas en la definición, pero al menos es más evidente que estamos interesados en implementar software que pueda aprender de forma autónoma. El “sin estar programado explícitamente” se refiere al hecho de que una vez que los datos se pasan al algoritmo, el algoritmo hace el resto sin más instrucciones de nuestra parte.
Según estas definiciones y mi percepción del uso común de la frase, he llegado a pensar que el aprendizaje automático es la frase de moda actual destinada a abarcar los algoritmos informáticos utilizados para tomar decisiones, predicciones o clasificaciones basadas en datos.
Aprendizaje supervisado vs. no supervisado
También lo hace JMP hacer aprendizaje automático? ¡Absolutamente! ¡Y lo hemos hecho, técnicamente, desde la primera versión! ¿Estábamos tan adelantados a nuestro tiempo allá por 1989? Me gustaría pensar que sí. Pero veamos más detalles sobre esos algoritmos en los que la gente piensa cuando dice Machine Learning.
Por lo general, los algoritmos de aprendizaje automático se clasifican en diferentes tipos: aprendizaje supervisado y no supervisado. Con el aprendizaje supervisado, los algoritmos funcionan tanto con los predictores (columnas X) como con una respuesta (columna Y). Los datos de entrenamiento utilizados "supervisan" el algoritmo diciéndole cuál debería ser la respuesta para los valores dados de las variables predictoras. Con el aprendizaje no supervisado, los algoritmos solo utilizan los predictores y cualquier patrón está determinado únicamente por ellos. No se proporciona una "verdad" y, de hecho, es posible que no sepamos la "verdad".
¿Qué algoritmos de aprendizaje automático en JMP se clasifican en qué categorías?
supervisado
|
sin supervisión
|
Árboles de decisión *
|
Agrupación
|
Redes neuronales *
|
Mapas autoorganizados
|
Bosque de arranque *
|
Análisis de asociación
|
Regresión
|
Valor singular de descomposición
|
K Vecinos más cercanos *
|
|
Bayesiano ingenuo *
|
|
* Algunas características de estas plataformas son Pro JMP solo.
Muchas personas se sorprenden al ver la regresión en la lista, y ciertamente no se encuentra entre lo que comúnmente se considera aprendizaje automático, pero es la forma más sencilla de aprendizaje supervisado. ¡Y Fit Y by X estuvo en JMP 1! La agrupación en clústeres se agregó en JMP 3, y las opciones de aprendizaje automático siguieron apareciendo después de eso.
Para aquellos de ustedes que están familiarizados con uno o más de estos algoritmos, pueden notar una similitud entre ellos. Muchos modelos producen una precisión predictiva sorprendente, pero si intentara explicar qué significan los coeficientes o los puntos de corte, es probable que le resulte difícil hacerlo. Puedo seguir un árbol de decisiones a través de sus puntos de corte para llegar a una predicción, pero no hay un significado inherente detrás de dónde están esos puntos de corte. No tengo idea de qué significan las estimaciones de parámetros en un modelo de red neuronal en el "mundo real", pero las redes neuronales son algunos de los modelos de aprendizaje automático con mejor desempeño predictivo que existen.
Por el contrario, un modelo de regresión proporciona estimaciones de parámetros que tienen un significado inherente para los usuarios. Si un coeficiente es positivo, sabemos que aumentar el valor de ese predictor en una unidad aumentará la respuesta en el valor del coeficiente. Esto se relaciona con lo que el Dr. Galit Shmueli llama “¿Explicar o predecir?” Uno de los mejores compromisos en este intercambio es la personalidad de Regresión generalizada de la plataforma Fit Model. Como ha comentado mi colega Clay Barker, el uso de Lasso o Elastic Net mejora el rendimiento predictivo, pero aún se puede explicar el modelo.
Pero, ¿importa la falta de interpretabilidad? Tal vez tal vez no. Si el caso de uso se centra estrictamente en lograr las predicciones más precisas de eventos futuros, entonces no es necesario un modelo interpretable. Por otro lado, si las partes interesadas quieren formas más concretas de “mejorar su puntaje”, se puede preferir un modelo explicable. La clave para cualquier modelo es poder poner el resultado en acción.
Todavía se necesitan humanos
Esto trae a colación mi punto final. Incluso con todas las cosas asombrosas que pueden hacer los algoritmos informáticos, todavía se necesita un analista humano para abordar las cuestiones de nivel superior.
- ¿Qué datos deben incluirse o excluirse del análisis? Algunos algoritmos tienen la capacidad de elegir variables importantes, pero si una variable no se le ha dado a la computadora al principio, ¡no será seleccionada incluso si pudiera ser altamente predictiva!
- ¿Dónde está el punto de los rendimientos decrecientes? Si un modelo es demasiado complejo para ejecutarse en el tiempo necesario, no será útil. Tal vez un modelo menos complejo brinde resultados casi tan buenos y se pueda ejecutar rápidamente. Un ejemplo bien conocido de esto es el ganador del premio Netflix. El modelo ganador funcionó mejor de lo que casi nadie esperaba, pero la cantidad de datos necesarios y el procesamiento hicieron que fuera imposible ejecutarlo en el entorno en tiempo real que Netflix necesitaba para sugerir lo que los usuarios deberían ver a continuación.
- ¿Hay sesgos inherentes en el modelo? Obviamente, un algoritmo de computadora no tendrá los sesgos que tienen los humanos, pero es posible que un algoritmo resulte en un modelo que se correlacione altamente con las características que están sesgadas. En los préstamos hipotecarios, existen características cuyo uso es ilegal para tomar decisiones crediticias. Sin embargo, hay varios factores legales que pueden correlacionarse altamente con los ilegales. Un algoritmo puede generar un modelo que rechace casi a la perfección una etnia en particular incluso sin que la etnia sea parte directa de los datos. Ese modelo probablemente tendría consecuencias legales.
- ¿Cuándo se debe actualizar el modelo? Debido a que el objetivo del modelado es producir algún tipo de resultado sobre el cual podamos tomar medidas, una vez que se tomen medidas, será necesario actualizar el modelo. Esta actualización es necesaria porque los cambios que se implementen afectarán las entradas futuras en el modelo. Si continuamos usando el modelo anterior, corremos el riesgo de extrapolar más allá de los límites de los datos originales. El punto en el que un modelo debe actualizarse es una pregunta que solo los humanos pueden responder.
En mi próxima publicación , les hablaré de dos de mis algoritmos de aprendizaje automático favoritos: K Nearest Neighbors y Naïve Bayes. Y veremos estos dos métodos en acción con algunos datos divertidos que recopilé yo mismo.