Capítulo 4. IA y aprendizaje automático: Una visión general no técnica

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Aunque no es necesario ser un experto o un profesional de la IA para desarrollar una visión y una estrategia de IA, tener una comprensión de alto nivel de la IA y de las áreas temáticas relacionadas es fundamental para tomar decisiones con conocimiento de causa. Ayudarte a desarrollar esta comprensión es el objetivo de este capítulo.

En este capítulo se definen y analizan conceptos y técnicas relacionados con la IA, como el aprendizaje automático, el aprendizaje profundo, la ciencia de datos y el big data. También tratamos cómo aprenden tanto los humanos como las máquinas y cómo se relaciona esto con el estado actual y futuro de la IA. Terminamos el capítulo hablando de cómo los datos potencian la IA y de las características y consideraciones de los datos necesarias para el éxito de la IA.

Este capítulo ayuda a desarrollar un contexto adecuado al nivel para comprender el siguiente capítulo sobre las oportunidades y aplicaciones de la IA en el mundo real. Empecemos hablando del campo de la ciencia de datos.

¿Qué es la ciencia de datos y qué hace un científico de datos?

Empecemos el debate definiendo la ciencia de datos y la función y responsabilidades de un científico de datos, que describen el campo y las habilidades necesarias para llevar a cabo iniciativas de IA y aprendizaje automático (ten en cuenta que cada vez son más comunes funciones más especializadas, como la de ingeniero de aprendizaje automático). Aunque los científicos de datos a menudo proceden de muy diversos ámbitos educativos y de experiencia laboral, la mayoría deben ser fuertes (o, idealmente, expertos) en cuatro áreas fundamentales que yo llamo los cuatro pilares de la experiencia en ciencia de datos. Sin ningún orden en particular, éstas son las áreas en las que los científicos de datos deberían ser expertos:

  • Negocios en general o en el ámbito empresarial pertinente

  • Matemáticas (incluidas estadística y probabilidad)

  • Informática (incluida la programación de software)

  • Comunicación escrita y verbal

Hay otras habilidades y conocimientos que también son muy deseables, pero en mi opinión éstas son las cuatro principales. En realidad, las personas suelen ser fuertes en uno o dos de estos pilares, pero no igualmente fuertes en los cuatro. Si por casualidad conoces a un científico de datos que sea realmente experto en todos, habrás encontrado a una persona a la que se suele denominar un unicornio. Las personas con un grado apreciable de experiencia y competencia en los cuatro pilares son muy difíciles de encontrar, y hay una importante escasez de talento.

Como resultado, muchas empresas han empezado a crear funciones especializadas en torno a pilares específicos de la ciencia de datos, que combinados equivalen a tener un científico de datos. Un ejemplo podría ser la creación de un equipo de tres personas, de las cuales una persona tenga una formación de tipo MBA, otra sea un estadístico, y otra sea un ingeniero de aprendizaje automático o de software. El equipo también podría incluir a un ingeniero de datos, por ejemplo. Este equipo podría entonces trabajar en varias iniciativas a la vez, y cada persona se centraría en un aspecto específico de una iniciativa en un momento dado.

Sobre la base de estos pilares, un científico de datos es una persona que debe ser capaz de utilizar las fuentes de datos existentes y crear otras nuevas, según sea necesario, con el fin de extraer información significativa, generar conocimientos profundos y procesables, apoyar la toma de decisiones basada en datos y construir soluciones de IA. Esto se hace con experiencia en el dominio empresarial, comunicación eficaz e interpretación de resultados, y utilización de todas y cada una de las técnicas estadísticas, lenguajes de programación, paquetes de software y bibliotecas, e infraestructura de datos pertinentes. Esto es, en pocas palabras, la ciencia de los datos.

Definición y características clave del aprendizaje automático

El aprendizaje automático suele considerarse un subconjunto de la IA. Discutiremos primero el aprendizaje automático para sentar las bases de nuestro debate sobre la IA y sus limitaciones más adelante en este capítulo.

Recuerda nuestra sencilla definición de IA como la inteligencia exhibida por las máquinas. Esto describe básicamente la capacidad de las máquinas para aprender de la información y aplicar este conocimiento para hacer cosas, así como para seguir aprendiendo de la experiencia. En muchas aplicaciones de IA, el aprendizaje automático es un conjunto de técnicas utilizadas para la parte de aprendizaje del proceso de aplicación de la IA. Las técnicas específicas que trataremos más adelante pueden considerarse subconjuntos de la IA y el aprendizaje automático, y suelen incluir las redes neuronales y el aprendizaje profundo, como se muestra en la Figura 4-1.

AI, ML, NN, DL relationships
Figura 4-1. Relaciones entre IA, aprendizaje automático, redes neuronales y aprendizaje profundo

Me gusta mucho esta definición breve y sucinta del aprendizaje automático que encontré en un artículo del blog Google Design: "El aprendizaje automático es la ciencia de hacer predicciones basadas en patrones y relaciones que se han descubierto automáticamente en los datos".

Una definición no técnica del aprendizaje automático que suelo dar es que el aprendizaje automático es el proceso de aprender automáticamente de los datos sin necesidad de programación explícita, con la capacidad de ampliar los conocimientos aprendidos con la experiencia. Un diferenciador clave del aprendizaje automático con respecto a las técnicas basadas en reglas es la falta de programación explícita, especialmente en torno a dominios, industrias y funciones empresariales específicas. En técnicas avanzadas como el aprendizaje profundo, puede que no se requiera experiencia en el dominio en absoluto, mientras que en otros casos, la experiencia en el dominio se proporciona en forma de las características (en aplicaciones que no son de aprendizaje automático, denominadas variables, campos de datos o atributos de datos) seleccionadas o diseñadas para entrenar modelos. En cualquier caso, la parte en la que no se requiere programación explícita es absolutamente crítica, y es realmente el aspecto más importante del aprendizaje automático que hay que comprender. Pongamos esto en el contexto de un ejemplo.

Supongamos que fueras programador antes de que el aprendizaje automático existiera, y que te encargaran crear un modelo predictivo capaz de predecir si una persona que solicita un determinado tipo de préstamo lo incumpliría y, por tanto, debería ser aprobado o no. Habrías escrito un largo programa de software muy específico para el sector financiero con entradas como la puntuación FICO de una persona, su historial crediticio y el tipo de préstamo que solicitaba. El código contendría muchas sentencias de programación muy explícitas (por ejemplo, condicionales, bucles). El pseudocódigo (código de programación escrito en inglés sencillo) podría tener este aspecto:

If the persons FICO score is above 800, then they will likely not default
  and should be approved
Else if the persons FICO score is between 700 and 800
    If the person has never defaulted on any loan, they will likely not
      default and should be approved
    Else the will likely default and should not be approved
Else if the persons FICO score is less than 700
    ...

Éste es un ejemplo de programación muy explícita (un modelo predictivo basado en reglas) que contiene conocimientos específicos sobre el sector de los préstamos que se expresan en forma de código. Este programa está codificado para lograr una sola cosa. Requiere experiencia en el sector para determinar las reglas (es decir, los escenarios). Es muy rígido y no necesariamente representativo de todos los factores que contribuyen al posible impago de un préstamo. Además, el programa debe actualizarse manualmente ante cualquier cambio en los datos de entrada o en el sector de los préstamos en general.

Como puedes ver, esto no es especialmente eficiente ni óptimo y tampoco dará como resultado el mejor modelo predictivo posible. En cambio, el aprendizaje automático que utiliza los datos adecuados es capaz de hacer esto sin ningún código escrito explícitamente, en particular un código que exprese la experiencia en el sector de los préstamos. Dando una explicación ligeramente simplificada, el aprendizaje automático es capaz de tomar un conjunto de datos como entrada sin saber nada sobre los datos o el dominio en cuestión, pasarlo a través de un algoritmo de aprendizaje automático que tampoco sabe nada sobre los datos o el dominio en cuestión, y producir un modelo predictivo que tiene un conocimiento experto de cómo se asignan las entradas a la salida con el fin de hacer las predicciones más precisas posibles. Si entiendes esto, comprenderás más o menos el propósito del aprendizaje automático a alto nivel.

Merece la pena mencionar que, aunque los propios algoritmos de aprendizaje automático son capaces de aprender sin necesidad de programación explícita, los humanos siguen siendo muy necesarios y participan en todo el proceso de ideación, construcción y prueba de soluciones de IA basadas en el aprendizaje automático.

Formas en que aprenden las máquinas

Las máquinas aprenden de los datos mediante diversas técnicas, siendo las más predominantes el aprendizaje supervisado, no supervisado, semisupervisado, de refuerzo y de transferencia. Los datos utilizados para entrenar y optimizar los modelos de aprendizaje automático suelen clasificarse en etiquetados y no etiquetados, como se muestra en la Figura 4-2.

Labeled vs Unlabeled Data
Figura 4-2. Datos etiquetados frente a no etiquetados

Los datos etiquetados tienen una variable objetivo, o valor, que se pretende predecir para una determinada combinación de valores de características (aka variables, atributos, campos). En el modelado predictivo, un tipo de aplicación de aprendizaje automático, se entrena un modelo en un conjunto de datos etiquetados para predecir el valor objetivo para nuevas combinaciones de valores de características. La presencia de datos objetivo en el conjunto de datos es la razón por la que los datos se denominan etiquetados. Los datos no etiquetados, en cambio, tienen valores de características, pero no datos objetivo o etiquetas concretas. Esto hace que los datos no etiquetados sean especialmente adecuados para la agrupación (también conocida como clustering y segmentación) y la detección de anomalías.

Una cosa que merece la pena señalar es que, por desgracia, los datos etiquetados en cantidad suficiente pueden ser muy difíciles de conseguir y su producción puede costar mucho dinero y tiempo. Las etiquetas pueden añadirse a los registros de datos automáticamente o puede ser necesario que las añadan personas manualmente (piensa en un registro de datos, también conocido como muestra, como una fila de una hoja de cálculo o una tabla).

El aprendizaje supervisado se refiere al aprendizaje automático que utiliza datos etiquetados, y el aprendizaje no supervisado con datos no etiquetados. El aprendizaje semisupervisado utiliza tanto datos etiquetados como no etiquetados.

Analicemos brevemente los distintos tipos de aprendizaje a alto nivel. El aprendizaje supervisado tiene muchas aplicaciones potenciales, como la predicción, la personalización, los sistemas de recomendación y el reconocimiento de patrones. Se subdivide a su vez en dos aplicaciones: regresión y clasificación. Ambas técnicas se utilizan para hacer predicciones. La regresión se utiliza principalmente para predecir valores únicos discretos o de números reales, mientras que la clasificación se utiliza para asignar una o más clases o categorías a un conjunto dado de datos de entrada (por ejemplo, spam o no-spam para correos electrónicos).

Las aplicaciones más comunes del aprendizaje no supervisado son la agrupación y la detección de anomalías, mientras que, en general, el aprendizaje no supervisado se centra en gran medida en el reconocimiento de patrones. Otras aplicaciones son la reducción de la dimensionalidad (simplificando el número de variables de datos y también la complejidad del modelo) mediante el análisis de componentes principales (ACP) y la descomposición de valores singulares (DVE).

Aunque los datos subyacentes no estén etiquetados, las técnicas no supervisadas pueden emplearse en aplicaciones predictivas útiles cuando se aplican etiquetas, caracterizaciones o perfiles a los conglomerados (agrupaciones) descubiertos mediante otro proceso ajeno al propio proceso de aprendizaje no supervisado. Uno de los retos del aprendizaje no supervisado es que no hay una forma especialmente buena de determinar lo bien que funciona un modelo generado por aprendizaje no supervisado. El resultado es lo que tú hagas de él, y no tiene nada de correcto o incorrecto. Esto se debe a que no hay etiqueta ni variable objetivo en los datos y, por tanto, nada con lo que comparar los resultados del modelo. A pesar de esta limitación, el aprendizaje no supervisado es muy potente y tiene muchas aplicaciones en el mundo real.

El aprendizaje semisupervisado puede ser un enfoque muy útil cuando abundan los datos sin etiquetar y no abundan los datos etiquetados. Otros tipos populares de aprendizaje que trataremos con más detalle en el próximo capítulo son el aprendizaje por refuerzo, el aprendizaje por transferencia y los sistemas de recomendación.

En las tareas de aprendizaje automático que implican datos etiquetados y no etiquetados, el proceso toma datos de entrada y los asigna a una salida de algún tipo. La mayoría de los resultados de los modelos de aprendizaje automático son sorprendentemente sencillos, y pueden ser un número (continuo o discreto, por ejemplo, 3,1415), una o más categorías (también conocidas como clases; por ejemplo, "spam", "perrito caliente") o una probabilidad (por ejemplo, 35% de probabilidad). En los casos más avanzados de IA, la salida puede ser una predicción estructurada (es decir, un conjunto de valores predichos en lugar de un valor único), una secuencia predicha de caracteres y palabras (por ejemplo, frases, oraciones), o un resumen generado artificialmente del partido más reciente de los Chicago Cubs (¡Vamos CUBS!).

Definición y conceptos de IA

Anteriormente dimos una definición sencilla de IA como la inteligencia exhibida por las máquinas, que incluye el aprendizaje automático y técnicas específicas como el aprendizaje profundo como subconjuntos. Antes de seguir desarrollando una definición de IA, definamos el concepto de inteligencia en general. Una definición aproximada de inteligencia es

Aprendizaje, comprensión y aplicación de los conocimientos aprendidos para alcanzar uno o varios objetivos

Así que, básicamente, la inteligencia es el proceso de utilizar los conocimientos aprendidos para alcanzar objetivos y realizar tareas (para los humanos, los ejemplos incluyen tomar una decisión, mantener una conversación y realizar tareas laborales). Una vez definida la inteligencia en general, es fácil ver que la IA es simplemente la inteligencia mostrada por las máquinas. Más concretamente, la IA describe cuando una máquina es capaz de aprender de la información (datos), generar cierto grado de comprensión y, a continuación, utilizar los conocimientos aprendidos para hacer algo.

El campo de la IA está relacionado con aspectos de la neurociencia, la psicología, la filosofía, las matemáticas, la estadística, la informática y la programación, entre otros, y se nutre de ellos. A veces también se hace referencia a la IA como inteligencia de las máquinas o informática cognitiva, dada su base fundacional y su relación con la cognición, es decir, los procesos mentales asociados al desarrollo del conocimiento y la comprensión.

Más concretamente, la cognición y el campo más amplio de la ciencia cognitiva son términos utilizados para describir los procesos, funciones y otros mecanismos del cerebro que hacen posible reunir, procesar, almacenar y utilizar la información para generar inteligencia e impulsar el comportamiento. Los procesos cognitivos incluyen la atención, la percepción, la memoria, el razonamiento, la comprensión, el pensamiento, el lenguaje, el recuerdo y otros. Otros conceptos relacionados y algo más profundos y filosóficos son mente, sintiencia, conciencia y consciencia.

Entonces, ¿qué potencia la inteligencia? Para las aplicaciones de la IA, la respuesta es la información en forma de datos. En el caso de los seres humanos y los animales, se recoge constantemente nueva información de la experiencia y del entorno circundante a través de los cinco sentidos. A continuación, esta información pasa por los procesos y funciones cognitivas del cerebro.

Sorprendentemente, los seres humanos también podemos aprender de la información y los conocimientos existentes ya almacenados en el cerebro, aplicándolos para comprender y desarrollar conocimientos sobre otra cosa, así como para desarrollar nuestros pensamientos y opiniones sobre un tema nuevo, por ejemplo. ¿Cuántas veces has reflexionado sobre algo a partir de una información que ya comprendías y luego has tenido un momento "¡ajá!" que ha dado lugar a una nueva comprensión de otra cosa?

La experiencia también tiene mucho que ver con la IA. La IA es posible gracias a un proceso de entrenamiento y optimización que utiliza datos relevantes para una tarea determinada. Las aplicaciones de IA pueden actualizarse y mejorarse con el tiempo a medida que se dispone de nuevos datos, y éste es el aspecto de aprendizaje a partir de la experiencia de la IA.

Aprender continuamente de los nuevos datos es importante por muchas razones. En primer lugar, el mundo y sus habitantes humanos están siempre cambiando a nuestro alrededor. Las tendencias y las modas van y vienen; se introducen nuevas tecnologías, y las antiguas se quedan obsoletas; las industrias se ven perturbadas; y continuamente se introducen nuevas innovaciones. Como resultado, los datos de hoy relacionados con las compras en línea, por ejemplo, podrían ser muy diferentes de los datos que recibas mañana, o dentro de unos años. Los fabricantes de automóviles podrían empezar a preguntarse qué factores contribuyen más a que la gente compre vehículos voladores, en contraposición a los vehículos eléctricos que están ganando popularidad y mayor uso hoy en día.

En última instancia, los datos y los modelos entrenados a partir de ellos pueden volverse obsoletos, un fenómeno conocido como deriva del modelo. Por tanto, es fundamental que cualquier aplicación de la IA se actualice y siga adquiriendo experiencia y conocimientos mediante el aprendizaje continuo a partir de nuevos datos.

Tipos de IA

A menudo se hace referencia a la IA con un calificativo como fuerte o estrecha. Estos calificativos, que veremos a continuación, pretenden describir la naturaleza de la IA de la que se está hablando. El aspecto de la IA que describe el calificativo puede estar relacionado con el número de tareas simultáneas que puede realizar una IA; la arquitectura de un algoritmo determinado, en el caso de las redes neuronales; el uso real de la IA; o la dificultad relativa de resolver un problema determinado utilizando la IA.

Aunque esto puede variar según la referencia o el investigador, la IA puede agruparse en categorías y relaciones, como se muestra en la Figura 4-3.

AI Categories and Relationships
Figura 4-3. Categorías y relaciones de la IA

Empezando por la inteligencia artificial estrecha (IAN), los términos "débil" y "estrecha" se utilizan indistintamente para indicar que una IA está especializada y sólo es capaz de realizar una única y estrecha tarea; no es capaz de demostrar cognición. Esto significa que la IA débil, aunque a menudo es considerablemente impresionante, no es sensible, consciente ni tiene conciencia de ningún tipo. En el momento de escribir esto, casi toda la IA se considera IA débil.

"Superficial" y "profunda" son calificativos utilizados para describir el número de capas ocultas en la arquitectura de una red neuronal (se tratan en detalle en el Apéndice A). La IA superficial suele referirse a una red neuronal con una sola capa oculta, mientras que la IA profunda (sinónimo de aprendizaje profundo) se refiere a una red neuronal con más de una capa oculta.

La IA aplicada es como suena. Es la aplicación de la IA a problemas del mundo real como la predicción, la recomendación, el lenguaje natural y el reconocimiento. Hoy en día se suele oír el término inteligente para describir soluciones de software y hardware basadas en IA (por ejemplo, hogares inteligentes). Es decir, se está utilizando alguna forma de IA como parte de la solución, aunque las empresas a menudo exageran su uso de la IA. Dado que toda la IA actual se considera estrecha, la IA aplicada se muestra como relacionada con la IA estrecha. Esto podría cambiar en el futuro, lo que nos lleva a la siguiente categoría.

Lainteligencia general artificial (AGI ) también se denomina IA "fuerte" o "plena". La AGI pone el listón en que representa la inteligencia de una máquina capaz de demostrar cognición y llevar a cabo procesos cognitivos en el mismo grado que un humano. O, en otras palabras, tiene capacidades cognitivas funcionalmente equivalentes a las de un humano. Esto significa que una máquina puede realizar cualquier tarea que pueda realizar un humano y no se limita a aplicar la inteligencia a un único problema específico. Se trata de un listón muy alto. Más adelante en este capítulo hablaremos con más detalle de la AGI y de los retos que plantea su consecución.

Merece la pena señalar que ciertos problemas de IA se denominan IA-completa o IA-difícil (por ejemplo, la AGI, la comprensión del lenguaje natural), lo que sólo significa que estos problemas son muy avanzados y difíciles de resolver por completo y en general. Crear máquinas que sean equivalentemente inteligentes a los humanos es un problema muy difícil de resolver, y no es la IA que tenemos hoy.

La superinteligencia artificial (SIA ), y conceptos afines como singularidad tecnológica y superinteligencia, describen el escenario en el que la IA se autoperfecciona de forma galopante y acaba superando la inteligencia humana y el avance tecnológico. Aunque la posibilidad de una singularidad y una superinteligencia es muy debatida, es muy poco probable que se produzca en un futuro próximo, si es que se produce. Además, aunque no es nada de lo que preocuparse ahora mismo, merece la pena señalar que ciertas técnicas como el aprendizaje profundo por refuerzo se están utilizando en aplicaciones de IA para un aprendizaje autodirigido que mejora con el tiempo.

Aprender como los humanos

Considera que los bebés y los niños muy pequeños son capaces de reconocer un objeto como un animal concreto en casi cualquier contexto (por ejemplo, ubicación, posición, pose, iluminación) a pesar de haber visto una imagen o ilustración de un animal concreto sólo una vez, por ejemplo. Se trata de una hazaña notable del cerebro humano, que implica un aprendizaje inicial seguido de la aplicación de ese aprendizaje a diferentes contextos.

Hay un gran artículo publicado en el MIT Technology Review titulado "El eslabón perdido de la IA", escrito por Tom Simonite. El artículo trata de la forma en que aprenden los humanos y de cómo deben evolucionar las técnicas de IA para poder aprender de forma similar y, en última instancia, mostrar una inteligencia similar a la humana. En él se cita a Jeff Dean, de Google, diciendo: "En última instancia, el aprendizaje no supervisado va a ser un componente realmente importante en la construcción de sistemas realmente inteligentes: si te fijas en cómo aprenden los humanos, es casi totalmente no supervisado". Yann LeCun amplía esta idea: "Todos sabemos que el aprendizaje no supervisado es la respuesta definitiva".

El artículo señala que los niños aprenden por sí mismos que los objetos están apoyados en otros objetos (por ejemplo, un libro en una mesita) y que, por tanto, los objetos apoyados no caen al suelo a pesar de la fuerza de la gravedad. Los niños también aprenden que los objetos inanimados permanecerán en una habitación en el mismo lugar después de salir de ella, y pueden esperar que sigan allí cuando vuelvan. Hacen esto sin que se les enseñe explícitamente, o dicho de otro modo, este aprendizaje es no supervisado y no implica datos etiquetados, donde la etiqueta podría ser un padre enseñando algo a un niño.

Los niños también aprenden probando cosas diferentes a lo largo del tiempo, por ejemplo mediante la experimentación y el ensayo y error. Lo hacen incluso cuando se supone que no deben hacerlo, o incluso sabiendo que algunos resultados pueden ser negativos, pero lo hacen para aprender sobre la causa y el efecto y para aprender sobre el mundo que les rodea en general. Este método de aprendizaje es muy análogo al aprendizaje por refuerzo, que es un área muy activa de investigación y desarrollo en IA y que potencialmente puede ayudar a hacer progresos significativos hacia una inteligencia similar a la humana.

En el contexto del aprendizaje humano en general, los seres humanos son capaces de percibir el mundo que les rodea y dar significado a las cosas por sí mismos. Estas cosas pueden ser reconocer patrones, objetos, personas y lugares. Puede ser averiguar cómo funciona algo. Los humanos también saben utilizar el lenguaje natural para comunicarse. Gran parte del aprendizaje humano se produce de forma no supervisada, autodidacta y por ensayo y error. Todas ellas son hazañas extraordinarias del cerebro humano; hazañas muy difíciles de emular con algoritmos y máquinas, como veremos a continuación.

AGI, Robots Asesinos y el Poni de una Patada

La AGI, es decir, la producción de una IA capaz de hacer y comprender cualquier cosa que un ser humano pueda hacer al menos igual de bien, está todavía muy lejos. Esto significa que no tenemos que preocuparnos por los robots asesinos por ahora, o quizá nunca. Pedro Domingos, en su libro El Algoritmo Maestro1 afirma: "A la gente le preocupa que los ordenadores se vuelvan demasiado inteligentes y se apoderen del mundo, pero el verdadero problema es que son demasiado estúpidos y ya se han apoderado del mundo". Continúa diciendo que las posibilidades de que la IA se apodere del mundo son nulas, dada la forma en que las máquinas aprenden y, lo que es más importante, porque los ordenadores no tienen voluntad propia.

La IAG es un problema muy difícil de resolver. Piénsalo: para replicar realmente toda la inteligencia humana en una máquina, la IA tendría que ser capaz de observar el mundo que la rodea, autoaprender de forma continua y autodirigida (es decir, demostrar verdadera autonomía) para dar sentido a todo continuamente y, potencialmente, autoperfeccionarse como los humanos. Tendría que comprender todo lo que hacen los humanos, posiblemente más, y ser capaz de generalizar y transferir conocimientos a cualquier contexto. Esto es en gran medida lo que hacen los niños y los adultos. Pero, ¿cómo hacerlo cuando el aprendizaje no supervisado no tiene respuestas correctas, como hemos dicho antes? ¿Cómo entrenar a una máquina para que aprenda algo sin enseñarle, es decir, hacer que aprenda por sí misma?

Son grandes preguntas, y la respuesta es que no, al menos no con los métodos de IA y aprendizaje automático más avanzados de hoy en día. Actualmente, las técnicas más avanzadas en IA incluyen las redes neuronales, el aprendizaje profundo, el aprendizaje por transferencia y el aprendizaje por refuerzo. Estas técnicas no son especialmente adecuadas para aplicaciones de aprendizaje no supervisado. Además, están muy centradas en una única tarea muy especializada.

Una red neuronal de aprendizaje profundo entrenada para reconocer gatos en una imagen no es capaz de predecir también el precio de tu vivienda dentro de tres años; no es capaz de nada más que de reconocer gatos en una imagen. Si quieres que un modelo predictivo prediga el precio de tu vivienda, debes crear y entrenar un modelo independiente. Por tanto, la IA no es buena para la multitarea, y cada instancia es más o menos un pony de un solo truco por ahora.

Aunque el cerebro humano sigue siendo un misterio para los neurocientíficos en cuanto a su funcionamiento exacto, una cosa parece estar clara: el cerebro no es una máquina calculadora pura en el mismo sentido que un ordenador. Se cree que el cerebro procesa la información sensorial con un complejo mecanismo de red neuronal biológica basado en algoritmos que puede almacenar recuerdos basados en patrones, resolver problemas e impulsar acciones motoras (comportamiento) basadas en el recuerdo y la predicción de información.

Se trata de un proceso que comienza en el nacimiento y continúa a lo largo de nuestra vida, y a menudo de un modo muy no supervisado, basado en el ensayo y el error, como ya se ha mencionado. El increíble mecanismo de almacenamiento y recuperación de memoria del cerebro es lo que lo diferencia de una pura máquina calculadora, y es lo que hace posible el aprendizaje humano no supervisado. Un solo cerebro humano es capaz de aprender y almacenar continuamente toda la información aprendida y los recuerdos desarrollados en toda una vida humana. ¿Cómo podría emularlo una máquina? No lo haría, al menos a corto plazo.

A diferencia del aprendizaje no supervisado y autodidacta de los humanos, las máquinas de computación dependen completamente de instrucciones extremadamente detalladas. Es lo que llamamos código de software. Incluso los modelos predictivos aprendidos automáticamente y programados sin explicación (la magia de la IA y el aprendizaje automático) se incorporan a programas basados en software escritos por programadores informáticos. Dado el estado actual de la IA, la AGI es imposible si una máquina no está entrenada o programada exactamente para todos los escenarios sensoriales posibles que encontrará en cualquier entorno y bajo cualquier condición.

Una implicación de esto es que las máquinas inteligentes no pueden tener libre albedrío como los humanos; es decir, la capacidad de tomar cualquier decisión o emprender cualquier acción dentro de lo razonable del modo en que lo hacen los humanos, dado un conjunto limitado o incluso ilimitado de posibilidades. Con la excepción de técnicas como el aprendizaje por refuerzo, las máquinas inteligentes están limitadas a asignar únicamente entradas a determinadas salidas.

Los cerebros humanos, en cambio, pueden reaccionar ante escenarios con los que se han encontrado o no previamente. Pueden integrar la información sensorial de los cinco sentidos de forma natural, en tiempo real, con aparente facilidad y con gran velocidad relativa. Los seres humanos son capaces de adaptarse continuamente a cambios imprevistos en su entorno, como mantener conversaciones inesperadas con personas (por ejemplo, una llamada telefónica, encontrarse con un amigo), averiguar por qué de repente no se enciende el televisor, hacer frente a cambios repentinos del tiempo, reaccionar ante accidentes (por ejemplo, coche, derrames, cristales rotos), perder un autobús, determinar que un ascensor está fuera de servicio (los humanos saben inmediatamente localizar la escalera en su lugar), una tarjeta de crédito que no funciona, una bolsa de la compra que se rompe, evitar a un niño que de repente se cruza en su camino... el número de ejemplos del mundo real es casi infinito.

Los humanos también somos capaces de pensar, un proceso que no requiere datos de entrada sensoriales. Podrías estar sentado en una playa mirando las olas del océano mientras piensas en muchas cosas totalmente ajenas a la playa y al océano, pero los algoritmos de IA actuales son como las picadoras de carne: tienes que meter carne en la picadora para obtener carne picada. Aparte de técnicas como el aprendizaje por refuerzo, los algoritmos de IA no producen un resultado sin entradas relacionadas, especialmente nada parecido a los pensamientos humanos.

En El libro del porqué2 los autores afirman que los humanos también son capaces de razonar, tomar decisiones, emprender acciones y llegar a conclusiones basándose en una comprensión causal (causa y efecto) del mundo y en la capacidad de reflexionar. Reflexionar significa que somos capaces de mirar retrospectivamente nuestras decisiones o acciones, analizar los resultados y decidir si habríamos hecho las cosas de otro modo, o si haríamos algo distinto en una situación similar la próxima vez. Se trata de una forma de aprendizaje humano natural en la que las entradas son las acciones o decisiones tomadas anteriormente.

También tenemos una comprensión causal del mundo que seguimos desarrollando a lo largo de nuestra vida. Sabemos que la correlación no implica causalidad y, sin embargo, la mayoría de los algoritmos de IA y aprendizaje automático se basan en correlaciones (por ejemplo, el análisis predictivo) y no tienen absolutamente ningún concepto de causalidad. Un ejemplo bien conocido es el hecho de que el aumento de las ventas de helados va acompañado de un aumento de las muertes por ahogamiento, por lo que un algoritmo predictivo podría aprender que el aumento del consumo de helados provoca ahogamientos. Con un poco de reflexión, los humanos pueden deducir fácilmente que los factores que faltan, denominados variables de confusión, son la época del año y la temperatura, que son las verdaderas causas del aumento de ambos. La IA sería incapaz de averiguarlo.

Por último, existe una diferencia significativa entre automatización y autonomía, ambas muy relevantes en el contexto de la progresión de la robótica y la IA hacia la AGI. La automatización es el resultado de escribir programas de software que realizan automáticamente, de forma puntual o repetitiva, una tarea que antes requería cierta ayuda humana. La autonomía, en cambio, tiene que ver con la independencia, la autodirección y la capacidad de responder a las interacciones y los cambios del entorno. Existen diversos grados de automatización y autonomía en las aplicaciones existentes de robótica e IA, aunque la mayoría de las aplicaciones se sitúan actualmente más en el lado de la automatización.

La verdadera autonomía es muy difícil por las razones ya mencionadas en el contexto de la AGI, pero también por las limitaciones de las técnicas de detección, como la visión por ordenador. La visión por ordenador y el reconocimiento de imágenes han avanzado mucho en la detección e identificación de objetos en circunstancias controladas y coherentes, pero la tecnología no es muy buena para la comprensión en entornos siempre cambiantes, incoherentes y llenos de sorpresas, que reflejan mejor la realidad.

Los datos que impulsan la IA

Hay una cosa que tienen en común la IA, el aprendizaje automático, el big data, el IoT y cualquier otra forma de soluciones basadas en el análisis: los datos. De hecho, los datos impulsan todos los aspectos de la tecnología digital.

Este capítulo trata del poder de los datos, incluyendo el uso de los datos para tomar decisiones, las estructuras y formatos de datos habituales utilizados en las aplicaciones de IA, el almacenamiento de datos y las fuentes de datos habituales, y el concepto de preparación de datos.

Grandes datos

El mundo nunca ha recogido ni almacenado tantos datos como hoy. Además, la variedad, el volumen y la tasa de generación de datos están creciendo a un ritmo alarmante. Rio Tinto, por ejemplo, una empresa minera líder que genera más de 40.000 millones de dólares de ingresos, ha adoptado el big data y la IA para tomar decisiones basadas en datos a partir de ¡2,4 terabytes de datos de sensores generados por minuto!

El campo de los grandes datos consiste en adquirir, integrar, preparar y analizar eficazmente la información de estos conjuntos de datos enormes, diversos y en rápida evolución. Sin embargo, manejar y extraer valor de estos conjuntos de datos puede no ser factible o realizable debido a limitaciones de hardware y/o computacionales. Para hacer frente a estos retos, se necesitan hardware, herramientas de software y técnicas analíticas nuevas e innovadoras. Big data es el término que se utiliza para describir esta combinación de conjuntos de datos, técnicas y herramientas personalizadas.

Además, los datos de cualquier tipo son básicamente inútiles sin algún tipo de análisis que los acompañe (a menos que los datos se estén monetizando). Además de la descripción dada, los big data también se utilizan para describir la realización de análisis sobre conjuntos de datos muy grandes, que pueden incluir técnicas de análisis avanzadas como la IA y el aprendizaje automático.

Estructura y formato de datos para aplicaciones de IA

A un alto nivel, podemos clasificar los datos en estructurados, no estructurados o semiestructurados, como se ilustra en la Figura 4-4.

AI Process
Figura 4-4. Tipos de datos

Empecemos por los datos estructurados. Podemos pensar en los datos estructurados como, bueno, como datos que tienen estructura. Aunque en la Figura 4-4 se muestran en forma tabular, los datos estructurados son datos que, en general, están organizados y pueden encajar fácilmente en una tabla, una hoja de cálculo o una base de datos relacional, por ejemplo. Los datos estructurados suelen caracterizarse por tener características, también llamadas atributos o campos. Cuando están estructurados de esta forma, suelen denominarse modelo de datos, y resulta relativamente fácil consultar, unir, agregar, filtrar y ordenar los datos.

La Figura 4-4 muestra un ejemplo de datos estructurados en formato de tabla. En este caso, los datos se organizan en columnas y filas, donde las filas representan ejemplos de datos individuales (también conocidos como registros, muestras o puntos de datos). Las columnas representan las características de los datos de cada ejemplo. La Figura 4-4 también muestra ejemplos de datos etiquetados y no etiquetados, conceptos que ya hemos tratado anteriormente.

Los datos no estructurados son lo contrario de los datos estructurados y, por tanto, no están organizados ni estructurados de ningún modo, ni caracterizados por un modelo de datos. Algunos ejemplos comunes son las imágenes, los vídeos, el audio y el texto, como el que se encuentra en los comentarios, el cuerpo de los correos electrónicos y el habla traducida a texto.

Ten en cuenta que los datos no estructurados pueden etiquetarse, como suele ocurrir con las imágenes. Las imágenes pueden etiquetarse en función del tema principal de la imagen; por ejemplo, imágenes etiquetadas como gato o perro según el tipo de animal que se represente.

Los datos semiestructurados tienen cierta estructura, pero no se organizan fácilmente en tablas como los datos estructurados. Algunos ejemplos son los formatos XML y JSON, ambos utilizados a menudo en aplicaciones de software para la transferencia de datos, cargas útiles y representación en archivos planos.

El último tipo y formato de datos relevante para las aplicaciones de IA son los datos secuenciales, con el lenguaje y las series temporales como dos ejemplos comunes. Los datos secuenciales se caracterizan por ser datos ordenados en una secuencia cuyo mecanismo de ordenación es algún tipo de índice. El tiempo es el índice en los datos de series temporales, y los sensores de un sistema IoT o de adquisición de datos son un gran ejemplo de fuente de datos de series temporales.

Otro ejemplo de datos secuenciales es la lengua. El lenguaje se caracteriza no sólo por la gramática y su uso en la comunicación, sino también por las secuencias de letras y palabras. Una frase es una secuencia de palabras, y cuando la secuencia de palabras se reordena puede fácilmente adoptar una reunión diferente o, en el peor de los casos, no tener ningún sentido. Las palabras se ordenan de un modo que tiene un significado muy concreto y que tiene más sentido para los que hablan una lengua determinada.

Almacenamiento y obtención de datos

Las empresas y las personas en general generan una tonelada de datos, y a menudo a través de aplicaciones de software y hardware dispares y no unificadas, cada una construida sobre un "backend" o base de datos único. Las bases de datos se utilizan tanto para el almacenamiento permanente como temporal de datos. Las bases de datos son de muchos tipos diferentes, lo que incluye la forma en que almacenan físicamente los datos en el disco, el tipo de datos que almacenan (por ejemplo, estructurados, no estructurados y semiestructurados), los modelos y esquemas de datos que admiten, el lenguaje de consulta que utilizan y la forma en que gestionan las tareas de gobierno y gestión, como la escalabilidad y la seguridad. En esta sección, nos centramos en algunas de las bases de datos más utilizadas para aplicaciones de IA: las bases de datos relacionales y las bases de datos NoSQL.

Los sistemas de gestión de bases de datos relacionales (RDBMS) son muy adecuados para almacenar y consultar datos relacionales estructurados, aunque algunos admiten también el almacenamiento de datos no estructurados y de múltiples tipos de almacenamiento. Datos relacionales significa que los datos almacenados en distintas partes (es decir, tablas) de la base de datos suelen estar relacionados entre sí según tipos predefinidos de relaciones (por ejemplo, de uno a muchos). Cada tabla (o relación) consta de filas (registros) y columnas (campos o atributos), con un identificador único (clave) por fila. Las bases de datos relacionales suelen ofrecer garantías de integridad de los datos y transaccionales que otras bases de datos no ofrecen.

Los sistemas de bases de datos NoSQL se crearon para, y han ganado gran popularidad debido principalmente a las ventajas relacionadas con, la escalabilidad y la alta disponibilidad. Estos sistemas también se caracterizan por ser bases de datos modernas a escala web que suelen estar libres de esquemas, proporcionan una replicación sencilla y tienen interfaces de programación de aplicaciones (API) simples. Son los más adecuados para datos no estructurados y aplicaciones que implican grandes volúmenes de datos, por ejemplo, big data. De hecho, muchos de estos sistemas están diseñados para volúmenes extraordinarios de peticiones y datos que pueden aprovechar el escalado horizontal masivo (por ejemplo, miles de servidores) para satisfacer la demanda.

Existen múltiples tipos de bases de datos NoSQL, siendo las más frecuentes las de documentos, clave-valor, grafos y columnas anchas. Los distintos tipos se refieren principalmente a cómo se almacenan los datos y a las características del propio sistema de base de datos. Merece la pena destacar otro tipo de sistema de base de datos que está recibiendo cierta atención en los últimos años. Los sistemas de bases de datos NewSQL son sistemas de bases de datos relacionales que combinan garantías tipo RDBMS con escalabilidad y rendimiento tipo NoSQL.

Fuentes de datos específicas

Hay muchos tipos específicos de fuentes de datos, y muchos se utilizan simultáneamente en cualquier gran empresa. Algunos tipos de datos pueden utilizarse para automatizar y optimizar los productos y servicios orientados al cliente, mientras que otros son más adecuados para optimizar las aplicaciones internas. He aquí una lista de posibles fuentes de datos, que examinaremos individualmente:

  • Clientes

  • Ventas y marketing

  • Operativo

  • Eventos y transacciones

  • IoT

  • No estructurado

  • Terceros

  • Público

La mayoría de las empresas utilizan una herramienta de gestión de las relaciones con los clientes, o CRM. Estas herramientas gestionan las interacciones y relaciones con clientes, proveedores y proveedores de servicios existentes y potenciales. Además, muchas herramientas CRM son capaces de gestionar el marketing multicanal con los clientes, las comunicaciones, la orientación y la personalización, ya sea de forma nativa y/o mediante integraciones. Como resultado, las herramientas CRM pueden ser una fuente de datos muy importante para las aplicaciones de IA centradas en el cliente.

Aunque muchas empresas utilizan herramientas de CRM como base de datos de clientes principal, las herramientas de plataforma de datos de clientes (CDP), como AgilOne, se utilizan para crear una base de datos de clientes única y unificada, combinando fuentes de datos sobre el comportamiento, el compromiso y las ventas de los clientes. Las herramientas CDP están pensadas para ser utilizadas por personas sin conocimientos técnicos, y son similares a los almacenes de datos en el sentido de que se utilizan para impulsar un análisis eficaz, la recopilación de información y el marketing dirigido.

Los datos de ventas son algunos de los más importantes, si no los más importantes, que tiene una empresa. Las fuentes de datos típicas incluyen los datos de los puntos de venta para las empresas con establecimientos físicos, los datos de comercio electrónico para las aplicaciones de compras online y las cuentas por cobrar para las ventas de servicios. Muchas empresas que venden productos en locales físicos también venden productos online y, por tanto, pueden utilizar ambas fuentes de datos.

Los departamentos de marketing comunican y ofrecen ofertas a los clientes a través de múltiples canales y generan datos específicos de cada canal en consecuencia. Las fuentes habituales de datos de marketing pueden incluir el correo electrónico, las redes sociales, la búsqueda de pago, la publicidad programática, la participación en medios digitales (por ejemplo, blogs, libros blancos, seminarios web, infografías) y las notificaciones push para aplicaciones móviles.

Los datos operativos se centran en las funciones y procesos empresariales. Algunos ejemplos son los datos asociados al servicio al cliente, la cadena de suministro, el inventario, los pedidos, la TI (por ejemplo, red, registros, servidores), la fabricación, la logística y la contabilidad. Los datos operativos suelen aprovecharse mejor para obtener una visión profunda de las operaciones internas de la empresa, con el fin de mejorar y potencialmente automatizar los procesos para lograr objetivos como el aumento de la eficiencia operativa y la reducción de costes.

Para las empresas creadas principalmente en torno a productos digitales, como aplicaciones de Software como Servicio (SaaS) y aplicaciones móviles, normalmente se generan y recopilan muchos datos transaccionales basados en eventos y en . Vale la pena señalar que, aunque las ventas individuales pueden considerarse ciertamente transaccionales, no todos los datos transaccionales están asociados a las ventas. Los datos de eventos y transacciones pueden incluir transferencias bancarias, el envío de una solicitud, el abandono de un carrito de la compra en línea, y datos de interacción y compromiso del usuario, como el flujo de clics y los datos recogidos por aplicaciones como Google Analytics.

Con la revolución del IoT en pleno apogeo, las investigaciones indican que generará hasta 11 billones de dólares en valor económico a través de más de 75.000 millones de dispositivos conectados en todo el mundo para 2025. Ni que decir tiene que los dispositivos y sensores conectados generan una cantidad enorme y creciente de datos. Estos datos pueden ser muy útiles para las aplicaciones de la IA.

Las empresas también tienen muchos datos no estructurados de gran valor que a menudo no se utilizan. Los datos no estructurados, como ya se ha dicho, pueden incluir imágenes, vídeos, audio y texto. Los datos de texto pueden ser especialmente útiles para las aplicaciones de procesamiento del lenguaje natural cuando proceden de opiniones, comentarios y resultados de encuestas de clientes sobre productos o servicios.

Por último, las empresas suelen emplear múltiples herramientas de software de terceros que quizá no se hayan mencionado en esta sección. Muchas herramientas de software permiten integrar los datos con otras herramientas y también exportarlos para su análisis y portabilidad. En muchos casos también se pueden comprar datos de terceros. Por último, con la explosión de Internet y el movimiento del código abierto, también hay una enorme cantidad de datos de acceso público, gratuitos y muy útiles, que podemos utilizar.

Las claves para utilizar los datos con el fin de ayudar a generar ideas profundas y procesables y potenciar las soluciones de IA son la disponibilidad y el acceso a los datos, si centralizarlos o no, y todas las consideraciones sobre la preparación y la calidad de los datos, que trataré en la siguiente sección.

Preparación y calidad de los datos (los datos "correctos")

Cerremos este capítulo con un concepto crítico que es una consideración importante en la AIPB: el concepto de preparación y calidad de los datos. Los datos de alta calidad y listos (como los definiremos) que pueden alimentar con éxito una determinada solución de IA es lo que yo llamo los datos "correctos". Esto es primordial para el éxito de la solución.

Utilizo el término disponibilidad de datos para referirme colectivamente a lo siguiente:

  • Cantidad adecuada de datos

  • Profundidad de datos adecuada

  • Datos equilibrados

  • Datos altamente representativos e imparciales

  • Datos completos

  • Datos limpios

Discutamos el concepto de espacio de características antes de repasar sucesivamente cada uno de estos puntos de preparación de los datos. El término "espacio de características" se refiere al número de posibles combinaciones de valores de características entre todas las características incluidas en un conjunto de datos que se utiliza para un problema concreto. En muchos casos, añadir más características provoca un aumento exponencial de la cantidad de datos necesarios para un problema dado, debido a un fenómeno conocido como la maldición de la dimensionalidad, que trataremos más adelante en la barra lateral.

Cantidad adecuada de datos

Empecemos por la necesidad de una cantidad adecuada de datos. Se necesitan datos suficientes para garantizar que las relaciones descubiertas durante el proceso de aprendizaje sean representativas y estadísticamente significativas. Además, cuantos más datos tengas, más preciso será probablemente el modelo. Más datos también permiten modelos más sencillos y una menor necesidad de crear nuevas características a partir de las existentes, que es un proceso conocido comoingeniería de características . La ingeniería de características puede ser tan sencilla como convertir unidades; otras veces, implica crear métricas totalmente nuevas a partir de combinaciones de otras características.

Profundidad adecuada de los datos

No basta con tener cantidades adecuadas de datos en general: Las aplicaciones de IA también requieren suficientes datos variados. Aquí es donde entra en juego una profundidad de datos adecuada. Profundidad significa que hay suficientes datos variados que llenan adecuadamente el espacio de características: un conjunto suficientemente bueno de combinaciones de diferentes valores de características para que un modelo sea capaz de aprender adecuadamente las relaciones subyacentes entre las propias características de los datos, así como entre las características de los datos y la variable objetivo cuando están presentes en los datos etiquetados.

Además, imagina que tienes una tabla de datos formada por miles de filas de datos. Supongamos que la gran mayoría de las filas consiste exactamente en los mismos valores de característica repetidos. En este caso, tener muchos datos no nos sirve de nada si el modelo sólo es capaz de aprender las relaciones que se representan entre los datos de características repetidas y el objetivo. Una cosa que hay que tener en cuenta es que es muy poco probable que un conjunto de datos determinado tenga todas las combinaciones de todos los valores de características y, por tanto, llene por completo el espacio de características dado. Eso está bien y suele ser lo esperado. A menudo puedes obtener resultados adecuados con suficiente variación en los datos.

Datos equilibrados

Un concepto relacionado es el de tener datos equilibrados, que se aplica a los conjuntos de datos etiquetados. El grado de equilibrio de un conjunto de datos se refiere a la proporción de valores objetivo en el conjunto de datos. Supón que tienes un conjunto de datos de spam y no spam con el que quieres entrenar un clasificador de spam de correo electrónico. Si el 98% de los datos son correos electrónicos no spam y sólo el 2% son correos electrónicos spam, es posible que el clasificador no tenga suficientes ejemplos de spam para aprender lo que pueden contener los correos electrónicos spam del mundo real, a fin de clasificar eficazmente todos los futuros correos electrónicos nuevos y aún no vistos como spam o no spam. Tener proporciones iguales de valores objetivo es lo ideal, pero puede ser difícil de conseguir. A menudo, ciertos valores o clases son simplemente más raros y, por tanto, están representados de forma desigual. Hay algunas técnicas de preparación de modelos de datos que puedes utilizar para intentar compensar esto, pero están fuera del alcance de este debate.

Datos altamente representativos e imparciales

Otro concepto relacionado es tener datos representativos. Esto es similar a tener suficiente profundidad de datos para llenar adecuadamente el espacio de características. Tener datos representativos significa no sólo llenar el espacio de características tanto como sea posible, sino también representar la gama y variedad de valores de características que un modelo dado probablemente verá en el mundo real en todas las circunstancias, presentes y futuras. Desde esta perspectiva, es importante asegurarse de que los datos no sólo tienen suficiente variedad y combinaciones de valores de características, sino que también cubren los rangos y combinaciones del mundo real que probablemente se verán después de su puesta en producción.

Si trabajas con datos que son una muestra o selección de un conjunto de datos mucho mayor, es importante evitar el sesgo de selección de la muestra, o simplemente el sesgo de muestreo (un tipo de sesgo de selección). Si se evitan las muestras de datos sesgadas o sesgadas, se obtienen datos muy representativos, como ya se ha dicho. La aleatorización es una técnica eficaz para ayudar a mitigar el sesgo de muestreo. Otra forma de sesgo mucho más grave que debe evitarse se conoce como sesgo algorítmico, tema que trataremos más adelante en el Capítulo 13.

Datos completos

La exhaustividad de los datos significa disponer de todos los datos que incluyen factores principales, contribuyentes, indicadores u otras formas de describir el hecho de tener los datos que tienen la mayor relación e influencia sobre la variable objetivo en las aplicaciones de aprendizaje supervisado. Puede ser muy difícil crear un modelo para predecir algo cuando los datos disponibles no incluyen los factores que más contribuyen al valor de ese algo.

A veces, basta con añadir características adicionales a los datos, mientras que otras veces hay que crear nuevas características a partir de las existentes y de los datos brutos; en otras palabras, el proceso de ingeniería de características, como ya se ha mencionado. Parte de la garantía de que tus datos están completos también incluye asegurarte de que tratas los valores que faltan. Hay muchas formas de tratar los valores que faltan, como la imputación y la interpolación, pero no es el momento de profundizar en ello.

Datos limpios

Por último, la limpieza de datos es una parte fundamental de la preparación de datos. Combinadas con la ingeniería y la selección de características, la limpieza y la preparación de los datos son dos de las tareas más críticas en el desarrollo de la IA y el aprendizaje automático. La limpieza y la preparación de los datos -a menudo denominadas también manipulación, procesamiento, transformación y limpieza de los datos-suelen tratarse como parte del proceso real de ciencia de datos y modelado, que cubro en profundidad en el Apéndice B. Los datos rara vez están limpios y son adecuados para las tareas de aprendizaje automático e IA. Suelen requerir mucho trabajo de limpieza y procesamiento, y los profesionales suelen decir que el 80% del trabajo de la IA y el aprendizaje automático consiste en limpiar los datos, y el 20% restante son las cosas interesantes; por ejemplo, el análisis predictivo y el procesamiento del lenguaje natural (PLN). Este es el clásico ejemplo del Principio de Pareto en funcionamiento.

Podemos considerar que los datos están "sucios" por muchas razones diferentes. A menudo, los datos consisten en errores manifiestos. Por ejemplo, puede haberse cometido un error al preparar el conjunto de datos, y la cabecera no coincide con los valores reales de los datos. Otro ejemplo sería un dato de dirección de correo electrónico etiquetado como "Correo electrónico", pero todos los valores consisten en un número de teléfono. A veces los valores están incompletos, corruptos o mal formateados. Un ejemplo podrían ser los números de teléfono a los que les falta un dígito por alguna razón. Tal vez tengas cadenas de texto en los datos que deberían ser números. Los conjuntos de datos también suelen contener valores extraños, como NA o NaN (no es un número). Los datos fiables y sin errores son una medida de la veracidad de los datos y son muy buscados.

Una nota sobre la causa y el efecto

Un concepto muy importante que merece la pena mencionar es la diferencia entre causa y efecto y cómo se relaciona con la IA, el aprendizaje automático y la ciencia de datos. Aunque medir los efectos tal y como se recogen en los datos puede ser relativamente fácil, encontrar las causas subyacentes que dan lugar a los efectos observados suele ser mucho más difícil.

En el análisis predictivo, hay formas de utilizar los parámetros de ciertos tipos de modelos (que cubro en el Apéndice A) como una estimación del efecto que una determinada característica o factor tiene sobre un resultado concreto, y por tanto del impacto relativo y cuantitativo que un predictor tiene sobre la variable objetivo que nos interesa y que estamos intentando predecir. Del mismo modo, podemos utilizar técnicas estadísticas para medir las correlaciones entre rasgos, como el grado de vinculación entre ellos. Ambas son técnicas muy útiles y proporcionan información útil, pero esa información puede ser engañosa.

Como ejemplo totalmente artificioso para ilustrar el punto, quizá determinemos que el aumento de las ventas de malvaviscos está directamente relacionado con el aumento de los precios de la vivienda, y la correlación entre ambos parece muy fuerte. Podríamos concluir que la venta de malvaviscos causa el efecto del aumento del precio de la vivienda, pero somos inteligentes y sabemos que esto es muy improbable y que debe haber algo más en juego. Normalmente hay otros factores en juego que no medimos ni conocemos (es decir, las variables de confusión antes mencionadas).

En este ejemplo, quizá los s'mores se han convertido en un postre de supertendencia en los restaurantes de una zona que está experimentando un enorme aumento de la demanda y el crecimiento inmobiliarios debido a la afluencia de grandes corporaciones. La verdadera causa subyacente del aumento del precio de la vivienda aquí es la afluencia de empresas, y el aumento de las ventas de malvaviscos es simplemente una tendencia de la zona, pero ambas cosas están ocurriendo al mismo tiempo.

Comprender las verdaderas causas subyacentes de un efecto concreto es ideal porque nos permite obtener la comprensión y el entendimiento más profundos, y también realizar los cambios más apropiados y óptimos (es decir, tirar de las palancas adecuadas en la medida adecuada), para lograr un determinado resultado. Se han ideado varios métodos de prueba y experimentación (por ejemplo, A/B y multivariante) para determinar las relaciones causales, pero estas técnicas pueden ser difíciles o imposibles de realizar en la práctica para determinados escenarios (por ejemplo, intentar determinar las causas del cáncer de pulmón). En consecuencia, se han ideado otras técnicas, como la inferencia causal observacional, que intenta obtener los mismos conocimientos a partir de datos observados.

Resumen

Esperamos que este capítulo te haya ayudado a comprender mejor las definiciones, tipos y diferencias entre la IA y sus campos afines. Hemos hablado de cómo aprenden los humanos y las máquinas, y de que la IA y el aprendizaje automático representan las técnicas utilizadas por las máquinas para aprender de los datos sin necesidad de programación explícita, y luego utilizar los conocimientos adquiridos para realizar determinadas tareas. Esto es lo que hace que las máquinas exhiban inteligencia; es la salsa secreta. Permite a los humanos utilizar la analítica de formas que de otro modo no podrían por sí solos.

La ciencia de datos, por otra parte, representa lo que yo llamo los cuatro pilares de la experiencia en ciencia de datos (negocio/dominio, matemáticas/estadística, programación y comunicación efectiva) junto con un proceso científico para cultivar los datos adecuados y generar iterativamente perspectivas profundas procesables y desarrollar soluciones de IA.

También hablamos de cómo los datos potencian las soluciones de IA y de las importantes características y consideraciones de los datos necesarias para el éxito de la IA. Lo más importante son los conceptos de disponibilidad y calidad de los datos. Ambos son necesarios para el éxito de la IA.

Con los conocimientos adquiridos en este capítulo, vamos a hablar a continuación de las oportunidades y aplicaciones de la IA en el mundo real. Esto debería ayudar a generar ideas y proporcionar el contexto necesario para desarrollar una visión de la IA, que es el tema de la Parte II de este libro.

1 Domingos, Pedro. El Algoritmo Maestro: Cómo la búsqueda de la máquina de aprendizaje definitiva remodelará nuestro mundo. Nueva York: Basic Books, 2015.

2 Pearl, Judea y Dana Mackenzie. El Libro del Por Qué: La Nueva Ciencia de la Causa y el Efecto. Nueva York: Basic Books, 2018.

Get IA para las personas y las empresas now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.