¿Cuál fue tu ‘¡Ajá!’ momento con el aprendizaje automático / ciencia de datos?

Mi ‘¡Ajá!’ El momento fue reconocer las intuiciones geométricas y espaciales que sustentan la mayoría de los modelos utilizados.

Por ejemplo, puede imaginar el proceso de ajustar modelos de regresión lineal como “hiperplanos” de alta dimensión (por ejemplo, la línea simple en verde a continuación) de tal manera que los “errores” (distancias de puntos en el hiperespacio perpendicular a la superficie del hiperplano que se mueve, que se muestra en púrpura a continuación) se minimizan.

Los parámetros del modelo definen qué orientación toma su avión. Los parámetros “correctos” (y, por lo tanto, la orientación de su avión) son aquellos que han resultado en un movimiento de avión que minimiza su medición de “distancia” (por ejemplo, sumando las distancias al cuadrado).


La regresión logística es similar, excepto que los puntos de datos están restringidos a 0 y 1, y está moviendo un hiper-sigmoidal que está muy cerca de 0 donde el plano en regresión lineal fue más negativo, y está muy cerca de 1 donde El avión fue muy positivo. El “límite de decisión” es donde ese meneo hiper-sigmoidal termina siendo igual a .5.

Estos son los modelos más simples, y entender cómo funcionan espacialmente fue absolutamente crítico para mi progreso en ML / Data Science. La mayoría de estos modelos están representados en álgebra lineal, y estas representaciones tienen más sentido cuando considera la imagen geométrica.

[Gracias por los votos a favor – Ediciones a continuación.]

De toda una vida de mirar datos, a menudo hay un punto de inflexión en el desarrollo, análisis y depuración de programas. Antes de ese punto, mi intuición supera al programa, a menudo porque el programa es incorrecto o “ingenuo”. Pero, en el punto de inflexión, de repente el programa supera mi intuición,

Es decir, mi intuición dice que la salida debería ser X y el programa dice que es Y, ¡pero análisis / exploración / datos adicionales revelan que Y es correcto!

Si bien soy más cínico, ahora, este momento a veces me dejó sin aliento cuando era más joven. En pocas palabras, fue emocionante escribir algo que era “más inteligente” que yo.

Era parte de mi disciplina personal, desarrollada desde el principio, que intentara desarrollar la intuición sobre los datos durante el desarrollo y análisis del programa. En una nota relacionada, más recientemente un ex Googler afirmó que la limpieza de datos es cuando “adoptas tus datos cognitivamente”.

A pesar de que la escala de los métodos contemporáneos, los recursos informáticos y los grandes conjuntos de datos hacen que el desarrollo de la intuición sea un desafío, un eufemismo (!), Todavía trato de hacerlo, a menudo con visualizaciones.

Si la fuente de datos es tan grande y compleja que desarrollar la intuición es un desafío formidable, utilizo un “control”, es decir, utilizo un método simplista, como Naive Bayes o Linear Regression para desarrollar una línea de base de rendimiento. Esto es entonces un sustituto de la intuición, y el momento “ajá” es cuando un método más sofisticado supera el enfoque simplista.

Mientras creaba un prototipo de una aplicación Buscar por imagen para minoristas, me topé con este hallazgo tangencial. Resultó ser bastante novedoso y abrió una nueva ventana de oportunidad.

La imagen a continuación muestra la “imagen visual promedio” de cada marca Cola en todos sus productos (por ejemplo, diferentes sabores y tamaños de bebidas Pepsi). Para 3 marcas en ese orden: Coca Cola, Pepsi y otra marca Cola.

Algunas marcas (como Pepsi) parecen hacer un muy buen trabajo al retratar una “imagen de marca” visualmente coherente en todos sus productos (tanto en el embalaje físico del producto como en las imágenes de productos en línea), ¡mientras que otras marcas parecen tener dificultades para lograrlo! Esto es importante porque casi todas las marcas se preocupan por crear una imagen de marca mayor / más consistente para ellos mismos.

También aprecio esas pocas ocasiones en que un modelo ML produce un rendimiento mucho mejor de lo que esperaba anteriormente . Por ejemplo, cuando trabajaba en un problema de clasificación altamente desequilibrado (<0.5%), había anticipado que aprender la clase más pequeña sería difícil y necesitaría explorar el conjunto de trucos de rutina para manejar el desequilibrio de clase. Pero en esta ocasión, ¡no fue del todo necesario!

Mi ‘¡Ajá!’ Moment in Machine Learning fue durante mi trabajo en mi primer proyecto de Machine Learning. Fue un modelo predictivo que tomó tomografías computarizadas del cerebro como entrada para predecir la presencia de un tumor y su grado. El doctorado en matemáticas de la Universidad de Stanford le enseñó casi lo mismo a través del portal de aprendizaje electrónico OpenSAP, fue un proyecto interactivo demostrado por el uso de cuadernos I-python y un determinado conjunto de datos de imágenes de escaneo cerebral con el modelo logrando una precisión casi perfecta , abrió un mundo de oportunidades de cuán poderoso es el aprendizaje automático en cada dominio en los campos industrial, técnico, financiero y médico.

Machine Learning ha recorrido un largo camino desde su llegada y es realmente uno de los avances más importantes en el campo de la tecnología debido a su gran impacto en nuestra vida cotidiana.

Leer más: ¿Qué hace el 1% superior de los científicos de datos que el otro 99% no hace?

  • ¿Cómo puedo construir mi carrera en ciencia de datos?
  • ¿Cuál es el alcance del análisis de datos?
  • ¿Cuáles son las habilidades más necesarias para aprender para un científico de datos ahora?
  • ¿Qué debo aprender antes de solicitar un puesto de científico de datos?

Espero que esto ayude.

Mi momento ‘Ajá’ fue mi primer proyecto en ML durante mis años de pregrado (hace mucho tiempo). Se trataba de discriminar entre las enfermedades normales y las enfermedades de la arritmia cardíaca. Fuimos a un médico a un hospital para una consulta y él sacudió la cabeza con consternación. En aquellos días, no podíamos obtener datos de la máquina de ECG directamente porque necesitábamos un hardware especial y éramos muy pobres. Así que escaneamos, digitalizamos esas señales de ECG de un papel, procesamos señales, entrenamos una red neuronal y obtuvimos algún resultado. Luego, nuevamente fuimos al médico con mi informe del proyecto, esta vez me devolvió mi informe con incredulidad. Esta desaprobación en ambas ocasiones me puso las cosas en movimiento para el futuro.

Durante el pregrado y a lo largo de mi maestría en estadísticas hace aproximadamente una década, mi idea de resolver problemas era encontrar un ejemplo que coincidiera estrechamente con el problema actual y completar los espacios en blanco. Después de mis años de educación formal, tomé un largo descanso para jugar al póker y enseñar matemáticas. Durante este tiempo descubrí algo muy importante. Leyendo. Si leyendo. Realmente disfruté leyendo libros, especialmente en psicología cognitiva.

Ahora, de vuelta en mi campo primario como científico de datos durante el último año, pasé mucho tiempo tomando MOOC’s, yendo a un campamento de entrenamiento y haciendo otros varios tutoriales en línea (incluida la lectura de muchas respuestas de quora a preguntas de ciencia de datos / ML). Todo esto está muy bien, pero solo recientemente se me ocurrió que todavía no había leído un libro completo de estadísticas / ML. Una vez que imaginé a cualquier otro profesional, como un médico o un abogado, que se hacía llamar así sin leer un libro de texto, la bombilla se apagó.

La clave era simplemente leer, como había aprendido a hacer en mis años de posgrado. Y no solo lea, sino que resuelva los problemas al final de los capítulos. Convierta el material en tarjetas y utilice la repetición espaciada para mantener el material recién disponible. Implementar las metodologías en código.

Así que abrí mi introducción al libro de regresión lineal y abrí mi libro introductorio de estadísticas matemáticas y comencé a leer.

Excelente pregunta!

Mi primer ajá! El momento fue cuando creé mi primera solución ML usando kNN. Magia pura.

El mejor ¡Ajá! El momento que tuve fue cuando supe que muchos de los algoritmos de aprendizaje supervisado con los que estaba familiarizado, incluida la regresión lineal, la regresión logística, el lazo, las redes elásticas, SVM y muchos más, todos comparten el mismo patrón: una función de pérdida y cierta regularización. De repente, todo cayó en su lugar.

Otra fue cuando supe, gracias a mi supervisor de doctorado, que el truco del núcleo es útil en muchas situaciones, no solo para SVM. De hecho, cualquier algoritmo de aprendizaje que pueda expresarse en el dual puede beneficiarse ya que es sencillo crear versiones no lineales del mismo. Más tarde aplicamos el truco del kernel para desarrollar KernelUCB, una versión no lineal del popular método UCB para bandidos de múltiples brazos.

Mirando hacia el próximo …

Tuve el mismo momento un par de veces. Sin embargo, no es el momento ajá, es un momento duh. El aprendizaje automático, que se denomina más apropiadamente aprendizaje estadístico, es un enfoque de ventana de visión trasera. Aprende patrones estadísticos de los datos, pero nada más. Tal aprendizaje crea una especie de representación comprimida con pérdidas del “pasado”. Esta representación comprimida se puede usar para predecir “el futuro” siempre que el futuro tenga los mismos patrones estadísticos (que el pasado). Por obvio que parezca, una comprensión clara de este hecho ayuda mucho. En mi opinión, esto vale al menos para el aprendizaje básico supervisado.

Otro momento duh es que hemos estado utilizando el “aprendizaje automático” desde los albores de la civilización para explicar los fenómenos naturales. Los científicos observaron datos y elaboraron algún tipo de reglas para explicar por qué un evento sigue a otro. Comenzamos claramente con algunas reglas lógicas básicas (por ejemplo, se puede predecir que va a nevar mañana dado cómo se ven los cielos hoy) y progresamos a otras más sofisticadas que involucraban matemáticas.

Curiosamente, el aprendizaje humano tiene esencialmente el mismo defecto que el llamado aprendizaje automático: las teorías humanas pueden adaptarse fácilmente a los datos. Dados suficientes grados de libertad, casi cualquier cosa puede explicarse. Sin embargo, las teorías complicadas rara vez se generalizan. Esta es probablemente una de las razones por las que preferimos los elegantes simples: este es un tipo de regularizador que evita que las teorías sobreajusten los datos.

Un ejemplo de sobreajuste bien conocido es un sistema geocéntrico, que no estaba del todo de acuerdo con las observaciones en primer lugar. Sin embargo, se solucionó introduciendo un esquema complejo de cómo giran los planetas. Como resultado, la teoría predijo los movimientos del planeta mejor que las alternativas, en particular, mejor que el sistema heliocéntrico más simple (que también era algo defectuoso al principio porque suponía un movimiento perfectamente circular). Muchos ejemplos más (tristemente) surgen en un contexto social, cuando las personas intentan explicar demasiado sabiendo muy poco. La mayoría de nuestras creencias y teorías de conspiración probablemente no sean más que un sobreajuste.

Cuando estudiaba Neurociencia en la UCLA en la década de 1990, un profesor de informática reprodujo una grabación de audio de una red neuronal que aprendía a hablar palabras. Los primeros intentos de hablar (cuando la red tenía entrenamiento insuficiente) sonaban exactamente como un pequeño balbuceo. Esta inesperada similitud con un bebé fue tan sorprendente y surrealista que me puso los pelos de punta.

Luego, cuando hice un curso de lingüística y desarrollo cerebral, le mencioné al profesor que me interesan las redes neuronales y el aprendizaje automático. Pensé que al profesor le gustaría esto, pero en lugar de eso respondió bruscamente en un contexto de estructuras de diagramas de oraciones complejas y desordenadas en la pizarra, “hay muchas cosas que las redes neuronales no pueden hacer”. Instantáneamente supe que este profesor tiene miedo de la próxima cambio de paradigma al aprendizaje automático.

Me dieron unas 20,000 descripciones de tickets de soporte en texto plano. Los textos no fueron etiquetados para ninguna clase, así que tengo que ir por el método de aprendizaje sin supervisión.

Antes de eso, necesito limpiar los datos, como ponerlos en minúsculas, eliminar palabras largas (el texto también contiene URL grandes), eliminar las palabras de detención, detenerlas, etc. Luego apliqué TF-IDF y utilicé el método LSA de la biblioteca NLTK . Aún así los temas son demasiado. Luego tomé la V Matrix, hice el SVD y encontré los valores propios más grandes y reduje la dimensión a 40. En otras palabras, todos los 20,000 tickets de soporte con al menos 10,000 palabras únicas se han reducido a 40 temas.

Luego apliqué el agrupamiento k-means usando la distancia cosenoidal. Calculé el error y lo optimicé para la k correcta.

Una vez que todo está hecho, asigné los elementos del clúster nuevamente a los tickets de soporte para verificar la agrupación. Forme 8 grupos para los 20,000 tickets de soporte.

Ajá, todos los grupos estaban separados y cada uno estaba agrupado de manera diferente, como tickets de soporte que hablan de suscripción, tickets de soporte que solicitan reembolsos, tickets de soporte que solicitan soluciones, etc.

Apliqué aún más el aprendizaje supervisado para futuros tickets basados ​​en esta agrupación.

Fue un momento maravilloso para ver que mi arduo trabajo de preparación de datos y aplicación de técnicas adecuadas resultó en el resultado exacto que deseaba.

Big Data Analytics es para ayudar a las empresas a tomar decisiones comerciales más informadas al permitir que DATA Scientist, modeladores predictivos y otros profesionales de análisis analicen grandes volúmenes de datos de transacciones, así como otras formas de datos que pueden ser aprovechados por los programas convencionales de inteligencia empresarial (BI) . Eso podría incluir registros del servidor web y datos de Internet Click Stream, contenido de redes sociales e informes de actividad de redes sociales, texto de correos electrónicos de clientes y respuestas de encuestas, registros detallados de llamadas de teléfonos móviles y datos de máquinas capturados por sensores conectados a INTERNET. Algunas personas se asocian exclusivamente Big Data con datos semiestructurados y no estructurados de ese tipo, pero las firmas consultoras como Gartner Inc. y Forrester Research Inc. también consideran que las transacciones y otros datos estructurados son componentes válidos de las aplicaciones de análisis de Big Data. Entrenamiento de Big Data y Hadoop con certificación en línea

Los grandes datos se pueden analizar con las herramientas de software comúnmente utilizadas como parte de las disciplinas de Advance Analytics, como la minería de datos de análisis preventivo, el análisis de texto y el método estático. El software de BI convencional y las herramientas de visualización también pueden desempeñar un papel en el proceso de análisis. Pero los datos semiestructurados y no estructurados pueden no encajar bien en el Data Warehouse tradicional basado en la base de datos relacional. Además, es posible que los almacenes de datos no puedan manejar las demandas de procesamiento que plantean los conjuntos de grandes datos que deben actualizarse con frecuencia o incluso de manera continua, por ejemplo, datos en tiempo real sobre el rendimiento de aplicaciones móviles o de oleoductos y gasoductos. Como resultado, muchas organizaciones que buscan recopilar, procesar y analizar grandes datos han recurrido a una nueva clase de tecnologías que incluye Hadoop y herramientas relacionadas como Yarn Spook, Spark y Pig, así como bases de datos No Sql. Esas tecnologías forman el núcleo de un marco de software de código abierto que admite el procesamiento de conjuntos de datos grandes y diversos en sistemas en clúster.

En algunos casos, los sistemas Hadoop Cluster y No SQL se están utilizando como pistas de aterrizaje y áreas de preparación de datos antes de que se carguen en un almacén de datos para su análisis, a menudo en forma resumida que es más propicio para las estructuras relacionales. Sin embargo, cada vez más, los proveedores de big data están impulsando el concepto de una toma de datos de Hadoop que sirve como el depósito central para los flujos entrantes de datos sin procesar de una organización. En tales arquitecturas, los subconjuntos de datos se pueden filtrar para su análisis en almacenes de datos y bases de datos de análisis, o se pueden analizar directamente en Hadoop utilizando herramientas de consulta por lotes, software de procesamiento de flujo y tecnologías SQL y Hdoop que ejecutan consultas interactivas y ad hoc escritas en SQL Las posibles trampas que pueden hacer tropezar a las organizaciones en iniciativas de análisis de big data incluyen la falta de habilidades analíticas internas y el alto costo de contratar profesionales analíticos experimentados. La cantidad de información que suele estar involucrada, y su variedad, también pueden causar dolores de cabeza en la gestión de datos, incluidos la calidad de los datos y los problemas de coherencia. Además, integrar sistemas Hadoop y almacenes de datos puede ser un desafío, aunque varios proveedores ahora ofrecen conectores de software entre Hadoop y bases de datos relacionales, así como otras herramientas de integración de datos con capacidades de big data.

Las empresas están utilizando el poder de los conocimientos proporcionados por Big Data para establecer instantáneamente quién hizo qué, cuándo y dónde. El mayor valor creado por estos conocimientos oportunos y significativos de grandes conjuntos de datos es a menudo la toma de decisiones empresariales efectivas que permiten los conocimientos.

Extrapolar información valiosa de grandes cantidades de datos estructurados y no estructurados de fuentes dispares en diferentes formatos requiere la estructura adecuada y las herramientas adecuadas. Para obtener el máximo impacto comercial, este proceso también requiere una combinación precisa de personas, procesos y herramientas analíticas.

Oh … muchas veces Especialmente si consideramos las matemáticas y las estadísticas detrás de esto.

Uno de mis favoritos para relacionarme es ser “criado” (que está entrenado) como frecuentador y darse cuenta de que mi cerebro es bayesiano. No necesariamente en siempre en inferencia en el trabajo, sino en cómo yo (y otros cuyas mentes conozco bien … alumnos anteriores, mi hija, etc.) aprendemos. Y sin embargo, darse cuenta de que el frecuentismo es natural en varias circunstancias.

Y está el hecho fundamental de que los humanos pueden, actuando de una manera perfectamente lógica (para ellos), destruir completamente un modelo que estoy haciendo pedazos. Los humanos solo son predecibles en conjunto, y no siempre entonces.

Hay tantas cosas que son tan fáciles que deberían ser tan difíciles (intuitivamente), y mucho más que es difícil que podrías pensar que es fácil.

Tome, por ejemplo, detección de sarcasmo. Obvio para la mayoría de los humanos, pero un completo demonio para modelar.

Es algo duro. Lo cual es bueno, porque tiendo a aburrirme cuando no me desafían. El verdadero momento de aha, todos los días, es descubrir esa pieza y cómo encaja. O rompe el resto de mi comprensión de lo que pensé que podría estar pasando.

Gracias por el A2A.

Esto sonará muy raro, pero mi ¡Ajá! El momento fue descubrir que no podía responder todo. Sucedió cuando jugué con las reglas de asociación por primera vez. Las compras estaban tan sesgadas hacia un producto que nada salió de él.

Eso fue humillante por decir lo menos.

Cuando descubrí cómo puedo presentar mis salidas de algoritmo de aprendizaje automático con visualizaciones. Aunque me llevó años descubrir las formas de hacer un uso valioso de los resultados de texto sin formato, fue un momento tan genial que pude abrir mis ojos aún más al mundo del aprendizaje automático.

Me enamoré del aprendizaje de refuerzo cuando implementé Q-learning y me di cuenta de que el agente podía aprender a salir de un laberinto de manera eficiente.

En la década de 1970 programé la computadora de la Open University para aprender nuevos juegos similares a ceros y cruces jugando contra sí misma.

Luego intenté vencerlo, pero cada vez que pensaba que era quién ganarlo me ganaba.

¡Entonces entendí el poder de jugar contra ti mismo!

Cuando descubrí qué era una matriz de confusión. A partir de ahí, aprendí sobre las curvas de aprendizaje y cómo mejorar los modelos, y así sucesivamente.

More Interesting

No conozco la programación y quiero desarrollar un software de negociación algorítmica, ¿qué debo hacer?

¿Cómo se llama un negocio si ofrece software y desarrollo web para empresas comerciales?

¿Cuáles son algunas aplicaciones simples de Java que se pueden desarrollar por diversión o para el uso diario?

¿Cómo calcula el tiempo necesario para escribir pruebas unitarias?

¿Cómo se construyeron grandes proyectos de software para desarrolladores múltiples antes de la creación de redes informáticas?

¿Cuál es la diferencia entre un programador profesional y un programador mediocre?

¿Cuáles son las certificaciones que debo hacer para mi carrera en banca y finanzas como ingeniero de pruebas de software?

¿Qué es un buen complemento de membresía en WordPress?

Quiero ser ingeniero de software y hacer toda la codificación. ¿Debo obtener un BE Hons en ingeniería de software o un BSc en informática?

¿Cómo pueden los desarrolladores hacer que su tiempo de codificación sea lo más efectivo posible?

Cómo implementar el marcado de esquema en el sitio web de una empresa de desarrollo de software

¿Un software de computadora ha vencido a los mejores jugadores en el juego de bridge?

¿Hay alguna forma de optimizar el doble bucle: for (int I = 0; I <n-1; I ++) {for (int j = I + 1, j <n, j ++) {doSomething (i, j);} }?

¿Cuál es el consejo de Adam D'Angelo para ingenieros de software principiantes?

Estoy trabajando como desarrollador de software 2 en Amazon. ¿Debo hacer una maestría en informática en EE. UU.?