En 2022 celebraremos el 10º aniversario de [at] - Alexander Thamm.
En 2012, fuimos la primera consultora del mundo germanoparlante en asumir la causa de los Datos y la IA. Hoy en día, puede decirse que la inteligencia artificial (IA) tiene el potencial de contribuir de forma importante a algunos de los principales retos económicos y sociales de nuestro tiempo. La IA desempeña un papel en la transición energética y en la respuesta al cambio climático, en la conducción autónoma, en la detección y tratamiento de enfermedades o en el control de pandemias. La IA aumenta la eficiencia de los procesos de producción e incrementa la adaptabilidad de las empresas a los cambios del mercado gracias a la información en tiempo real y a las predicciones.
La importancia económica de la tecnología está creciendo rápidamente. Más de dos tercios de las empresas alemanas utilizan ya inteligencia artificial y aprendizaje automático.
Con nuestro #AITOP10, le mostramos lo que está de moda ahora mismo en el campo de los datos y la IA. Nuestras listas TOP10 presentan lo más destacado de los podcasts, tendencias de IA específicas del sector, expertos en IA, recomendaciones de herramientas y mucho más. Aquí obtendrá una amplia muestra representativa del universo de los Datos y la IA que nos ha impulsado durante 10 años.
Inhaltsverzeichnis
Nuestros 10 mejores algoritmos de ML - Parte II
Recomendación, agrupación, regresión, análisis de texto, detección de anomalías... El aprendizaje automático puede utilizarse hoy en día para una gran variedad de problemas y es más rápido y preciso que nunca. Pero, ¿qué hay detrás de los algoritmos? Echamos un vistazo entre bastidores y le mostramos qué algoritmos se utilizan realmente en el aprendizaje automático.
Lugar 5 - vecinos más próximos k
Imagina que estás buscando trabajo. Tus tres mejores amigos están de pie a tu alrededor, aconsejándote sobre si deberías convertirte en un estratega de datos o en un científico de datos. ¿Qué consenso habría entre los tres? ¿Y cuál sería el consenso entre tus 5, 10 o incluso 20 mejores amigos?
K-NN resuelve este problema de forma muy sencilla: gana el que más se acerque. Así que si estás al lado de un estratega de datos, ahora tú también lo eres. Sin embargo, puede que este estratega de datos quiera convencerte desesperadamente de que tú también lo seas, porque a tu alrededor sólo hay científicos de datos. Aquí es donde la "k" viene al rescate: la k determina cuántos de tus amigos más cercanos están incluidos. Si k=3, tus 3 amigos más cercanos votan, de forma bastante democrática. Ahora es posible que el estratega de los datos se quede solo y sea superado en las votaciones. Así funciona la predicción de k-NN.
K-NN es un algoritmo para agrupar datos. El objetivo es asignar un valor desconocido a una categoría determinada. Esto se hace de forma bastante democrática: por ejemplo, todos los puntos de datos se muestran en una superficie bidimensional. Los datos ya están divididos en categorías. Pero ahora quiero saber a qué categoría pertenece un nuevo punto de datos. Aquí es donde entra en juego la k. El punto de datos se muestra en la superficie y se tienen en cuenta las categorías de los k vecinos más cercanos. A continuación, se realiza una votación: El mayor número de vecinos con la misma categoría gana.
K-NN puede utilizarse en el mundo real especialmente bien para detectar valores atípicos. Esto resulta útil tanto en el sector financiero para combatir el fraude con tarjetas de crédito como en la supervisión de sistemas informáticos o redes de sensores. Más adelante, k-NN puede utilizarse para preprocesar y limpiar datos si posteriormente se van a aplicar otros algoritmos de ML a un conjunto de datos.
Clasificación 4 - Refuerzo
Los algoritmos de boosting encierran algunas lecciones de vida para los científicos de datos. El refuerzo es un algoritmo relativamente genérico que puede utilizarse en combinación con varios algoritmos. Un algoritmo de boosting construye un único modelo ML fuerte a partir de varios modelos ML débiles. ¿Pero cómo?
Conectados, incluso los débiles se vuelven poderosos.
Friedrich Schiller en Guillermo Tell
Aprendemos pronto que juntos somos más fuertes e inteligentes que solos. Mover la pesada mesa de la cocina es casi imposible solo, difícil con dos y ningún problema con cuatro. Los algoritmos de refuerzo utilizan precisamente este concepto. Se entrenan diferentes modelos, que individualmente tienen una alta tasa de error y una pobre precisión de predicción, pero que juntos tienen una mucho mejor. Los que hayan seguido la Parte 1 de nuestra serie de algoritmos ML puede que hayan tenido un deja vu: Bosques aleatorios. Pero, ¿cuál es la diferencia?
Los algoritmos de refuerzo utilizan otro concepto muy conocido: aprender de las debilidades de los demás. Si uno de mis compañeros hizo el examen de estadística antes que yo y fracasó estrepitosamente en regresión lineal, me aconsejará que me centre en eso. Por supuesto, ahora practico más la regresión lineal antes del examen, pero no ignoro los demás temas del examen. Así es como funciona el boosting: aprender del pasado y utilizar todo un conjunto de modelos para hacerlo.
Estas dos técnicas están conectadas por iteración: el primer modelo aprende, se prueba en cuanto a precisión de predicción y se almacena. Se identifican los puntos débiles en la predicción del modelo, se ponderan un poco más los datos asociados y se entrena el siguiente modelo. Todos los modelos se almacenan en un conjunto y así realizan la predicción juntos al final. Existen diferentes versiones de algoritmos boosting para determinar los puntos débiles o erróneos de los datos: AdaBoost utiliza la tasa de error para ello, mientras que Gradient Boosting utiliza la distancia del punto predicho respecto al valor verdadero.
Una aplicación de los algoritmos de refuerzo, por ejemplo, es el XGBoost-framework. Mediante el uso de árboles de regresión, minimización de la función de pérdida a través del refuerzo de gradiente extremo, procesamiento paralelo y parámetros de regularización, XGBoost es más rápido y preciso que AdaBoost o Random Forest.
3er puesto - Naive Bayes
Los correos basura son molestos. Más aún si no acaban en la carpeta de spam, sino en el buzón normal. De este modo, a veces pueden causar mucho daño y paralizar intranets enteras. Por eso nos enfrentamos a este problema con Naive Bayes.
Al principio, el algoritmo se lo pone fácil: para entrenar un modelo ML con Naive Bayes, primero se dividen en palabras todos los correos ya presentes en la carpeta de spam. A continuación, se determina la frecuencia de las palabras existentes. Por ejemplo: ¿Con qué frecuencia aparece la palabra "spam" en un correo basura? ¿Con qué frecuencia aparece la palabra "hola" en un correo normal?
Lo peor ya ha pasado. Ahora podemos decidir sobre la base de un nuevo correo si es probable que sea spam o no. ¿Cómo? Con la ayuda del Teorema de Bayes¡! Indica: cuán grande es la probabilidad de que ocurra A cuando ya ha ocurrido B. En otras palabras, qué probabilidad hay de que el correo electrónico sea spam si contiene una determinada palabra.
Cualquiera que haya leído con atención se habrá dado cuenta de que es poco probable que la palabra "spam" -que hemos contado antes- esté en un correo electrónico de spam. Por tanto, la probabilidad de que aparezca es 0. Cualquiera que haya escuchado con atención la teoría de la probabilidad en la escuela sabe que las probabilidades se multiplican entre sí. 0 * 100% sigue siendo 0... ¿y ahora qué?
Para evitarlo, añadimos una palabra imaginaria a cada palabra que hemos contado. Esto significa que nuestra palabra "spam" no se contó 0 veces, sino 1 vez. De este modo, Naive Bayes puede utilizarse para predecir si nuestro correo electrónico es spam o no.
Un caso de uso clásico de Naive Bayes es la clasificación de documentos. Un clasificador Naive Bayes puede determinar si un documento pertenece a una categoría u otra. Esto incluye también la identificación de spam. Además, el lenguaje o el texto pueden analizarse en función del estado de ánimo (¿se expresan emociones positivas o negativas?). Naive Bayes es una alternativa a muchos algoritmos más complicados, especialmente cuando la cantidad de datos de entrenamiento es comparativamente pequeña.
Lugar 2 - Máquinas de vectores soporte
Cualquiera que haya estado alguna vez en una carretera rural casi seguro que ha visto allí un árbol. A menudo incluso varios, lo que se denomina un bosque. A menudo, estos árboles llevan allí más tiempo que la carretera por la que se circula. Pero si crecen directamente al lado de la carretera, puede ocurrir que las raíces se pierdan bajo el asfalto y provoquen molestos baches o daños en la calzada. Queremos evitarlo. Pero, ¿cómo?
Las carreteras rurales suelen pasar por bosques o atravesarlos. Para conectar dos pequeñas aldeas, queremos construir una carretera entre un bosque mixto y un bosque de coníferas. Las máquinas de vectores soporte nos ayudan en esta tarea. Para poder circular por el asfalto durante años y preservar la paz de los bosques, es necesario construir la carretera lo más lejos posible de ambos bosques. Las máquinas de vectores soporte hacen posible exactamente esto: determinan una línea que separa de forma óptima dos clases de datos (bosque mixto y bosque de abetos). Pero, ¿qué significa óptimo aquí?
Óptimo significa separar las dos clases en la medida de lo posible. Esto tiene una ventaja muy práctica: si uno de los bosques crece más, las estribaciones jóvenes no crecen demasiado cerca de la carretera y el asfalto permanece libre de daños durante años. Esta línea divisoria óptima viene determinada por vectores. Suena matemático, pero no es tan complicado.
Introducimos corredores a derecha e izquierda de la carretera que discurran paralelos a ésta. Luego los ensanchamos hasta que se encuentren con el siguiente árbol. Ahora bien, es posible que nos hayamos equivocado en la planificación y aún podamos ensanchar el corredor si la carretera toma otra dirección. Para ello, medimos ortogonalmente el vector desde el corredor hasta el segundo punto más cercano. Si podemos minimizarlo aún más, hay que mejorar. Si el corredor se encuentra en 2 puntos, nuestra carretera está planificada de forma óptima.
Si un nuevo árbol brota del suelo (similar a una predicción), el corredor puede utilizarse para decir con bastante precisión a qué clase pertenece el punto o el bosque al que pertenece el árbol. Cuanto más amplio sea el corredor, más prometedora será la predicción.
En nuestro ejemplo, hemos analizado una superficie bidimensional. Sin embargo, las máquinas de vectores soporte pueden hacer lo mismo incluso en un campo tridimensional. Si los puntos no se encuentran uno al lado del otro en 2 clases, como aquí, sino que uno está encerrado por el otro, se puede añadir otra dimensión con una función de transferencia. De este modo, los puntos pueden subdividirse de nuevo con una línea lineal.
Las máquinas de vectores soporte se utilizan en casi todos los ámbitos: En el reconocimiento de rostros se puede trazar el límite entre el fondo y el cuerpo, en el reconocimiento de escritura a mano el algoritmo sirve para el reconocimiento de caracteres o ayuda a clasificar artículos en distintas categorías. El algoritmo requiere poco tiempo de entrenamiento, por lo que es más elegante y más adecuado para algunos problemas que una red neuronal artificial, cuyo entrenamiento es costoso.
Clasificación 1 - Redes neuronales artificiales
Una red neuronal artificial es la "clase real" de los algoritmos de ML. Requiere mucha potencia de cálculo y a veces tiene tiempos de entrenamiento largos. Por otro lado, puede resolver problemas complejos en casi todos los ámbitos. Por ejemplo, el reconocimiento de imágenes y vídeos con ImageNetPNL con GPT-3 (y pronto OpenGPT-X), o la creación de imágenes con DALL:E 2 son tareas muy conocidas que se dominan con redes neuronales artificiales. El problema es que las redes neuronales artificiales son increíblemente complicadas de entender.
El modelo de las redes neuronales artificiales es el cerebro humano. Por tanto, los principios funcionales de estos dos sistemas son similares. Pero como (por desgracia) no somos neurocientíficos, esta metáfora no nos acerca realmente a la comprensión de las redes neuronales artificiales. Así que un ejemplo más realista, el coche autoconducido.
Los coches desarrollados hoy por varios fabricantes utilizan diversas tecnologías, como cámaras, tecnología LIDAR y sensores de proximidad. Por supuesto, todos sabemos conducir un coche, pero una red neuronal artificial no. Así que utilizamos como entradas cuatro sensores de radar (delantero izquierdo/derecho, trasero izquierdo/derecho) y medimos la velocidad del coche. Nuestras opciones para controlar el vehículo, es decir, las salidas, se limitan al acelerador, el freno y la dirección. ¿Y cómo lo cableamos todo?
Sencillamente: todo con todos. Cada entrada y cada salida representa una neurona. Por desgracia, esto también significa que una señal del sensor de radar trasero activaría el freno o una señal del radar delantero activaría el acelerador. Así que, de momento, nuestro coche no se pondrá en marcha. Pero ahora viene el clou y la razón por la que las redes neuronales artificiales son tan difíciles de ver. Hasta ahora, nuestra red neuronal artificial consta de 2 capas: Entrada y salida. Sin embargo, ahora insertamos una capa de neuronas adicionales, la llamada "capa oculta". Está conectada de forma cruzada con las capas de entrada y salida. Puede sumar, invertir, agregar o incluso restar las señales de entrada mediante diversas operaciones de cálculo. Así se modifica el flujo de señales en función de la entrada. ¿Pero nuestro coche ya puede conducir? Por desgracia, todavía no.
Ahora se entrena este modelo. En este proceso, intenta llegar a la salida correcta, es decir, la reacción correcta, mediante ensayo y error con la entrada dada. Con ayuda de los datos de entrenamiento, el modelo se entrena y averigua qué conexiones conducen al resultado correcto con una determinada transformación en la "capa oculta". Si el resultado es erróneo, se modifican las funciones de las neuronas y se vuelve a entrenar el modelo. Una vez que ha alcanzado un cierto nivel de precisión, puede probarse con datos desconocidos y, si lo supera, implantarse en el coche autoconducido.
En realidad, las redes neuronales artificiales tienen varias capas. La entrada también es diferente: a veces son números, pero también palabras o incluso imágenes o vídeos. La salida de modelos complicados como DALL:E 2 es una imagen completa, es decir, un gran número de valores individuales. Otros modelos sólo reconocen un número escrito a mano, es decir, exactamente una salida. Sin embargo, es precisamente esta versatilidad la que hace que las redes neuronales artificiales destaquen. Pueden resolver una gran variedad de problemas en casi cualquier sector, independientemente del tipo de datos de que se trate. Sólo la cantidad de datos de entrenamiento y la potencia de cálculo disponible deben ser relativamente grandes para entrenar redes neuronales artificiales eficaces.
Las redes neuronales artificiales son utilizadas por casi todas las empresas tecnológicas -como Google, Facebook, Apple, Netflix, Amazon o Microsoft- y pueden emplearse para una gran variedad de fines: Para generar percepciones de los usuarios, análisis de textos, sistemas de recomendación, descubrimiento de medicamentos o incluso para descubrimientos científicos revolucionarios, como el desarrollo de nuevas tecnologías. AlphaFold De Deepmind.
Pruebe usted mismo las redes neuronales
Estos son nuestros 10 mejores algoritmos de ML. Si te perdiste la Parte I, lee aquí y descubra qué más tienen en común los árboles y el aprendizaje automático.
0 comentarios