Está en la página 1de 70

Introducción a la IA

Índice de contenidos
Introducción ......................................................................................................................................................................... 2
Objetivos .............................................................................................................................................................................. 3
Definición. Historia ............................................................................................................................................................... 3
¿Qué es la inteligencia artificial? ................................................................................................................................ 3
¿Cómo empezó la inteligencia artificial? .................................................................................................................. 11
En resumen .............................................................................................................................................................. 20
Ramas de la IA. Algoritmos................................................................................................................................................. 20
Búsqueda en la IA ..................................................................................................................................................... 20
Reconocimiento de patrones ................................................................................................................................... 21
Representación del conocimiento ............................................................................................................................ 22
El papel de los algoritmos ........................................................................................................................................ 25
¿Qué significa algoritmo? ......................................................................................................................................... 26
Machine/Deep Learning ..................................................................................................................................................... 26
Machine Learning ..................................................................................................................................................... 26
Comprender la historia de la IA y el Machine Learning ............................................................................................ 31
Tipos de Machine Learning ...................................................................................................................................... 35
Visión por ordenador ............................................................................................................................................... 42
Ventajas y desventajas del Machine Learning .......................................................................................................... 43
Fundamentos del Machine Learning ........................................................................................................................ 47
Lenguajes de programación ..................................................................................................................................... 48
Aplicaciones y usos del Machine Learning ............................................................................................................... 48
Principales retos del aprendizaje automático .......................................................................................................... 50
Prueba y validación .................................................................................................................................................. 52
Procesamiento de datos ........................................................................................................................................... 54
Deep Learning .......................................................................................................................................................... 57
Modelos de aprendizaje profundo ........................................................................................................................... 59
Big data: el cambio en la IA ................................................................................................................................................ 63
Definiendo el papel del dato .................................................................................................................................... 63
La era de los datos masivos ...................................................................................................................................... 66
Retos e implicaciones ............................................................................................................................................... 68

Introducción
La inteligencia artificial está por todas partes. Si quieres formar parte de la comunidad de desarrolladores de IA, primero debes
conocer sus fundamentos; familiarizarte con el proceso de desarrollo de algoritmos de Machine Learning; conocer la
importancia de entender los datos, de visualizarlos y normalizarlos, y a partir de ahí decidir que tipo de algoritmo de ML utilizar.

En este curso lo aprenderás y obtendrás un sólido conocimiento de los conceptos básicos de la IA y Big Data.

Página 2 de 70
Objetivos
Al finalizar esta unidad didáctica, serás capaz de...

Conocer las diferencias entre inteligencia artificial, machine learning y Deep learning.

Entender la evolución y los fundamentos de la inteligencia artificial.

Comprender el papel de los datos en la IA.

Identificar y entender cómo se definen los datos, qué es información y qué es conocimiento.

Identificar las ramas de la IA.

Definición. Historia

¿Qué es la inteligencia artificial?

¿Es posible hacer máquinas inteligentes? ¿Es el cerebro una máquina? Estas son dos preguntas que han atormentado a los
grandes pensadores durante siglos.

El desarrollo de la inteligencia artificial (IA) ha acercado estas dos cuestiones e incluso, para muchos investigadores, las ha
unido ya que se utilizan los mismos conceptos, técnicas y experimentos para intentar diseñar máquinas inteligentes y estudiar
la naturaleza de la inteligencia.

Actualmente, sabemos muy poco sobre el cerebro aún, sin embargo, estamos siguiendo un camino que pasa por considerarlo
un sistema computacional, y hemos comenzado a explorar el espacio de posibles modelos computacionales que nos permitan
simular su funcionamiento.

El objetivo final de la IA, lograr una máquina con una inteligencia general similar a la de un humano, es uno de los más
ambiciosos que se ha propuesto la ciencia. Por su dificultad, se puede comparar con otros grandes objetivos científicos como
explicar el origen de la vida, el origen del universo o conocer la estructura de la materia.
Durante los últimos siglos, el deseo de construir máquinas inteligentes nos ha llevado a inventar modelos o metáforas del
cerebro humano. Por ejemplo, en el siglo XVII, Descartes se preguntó si un sistema mecánico complejo formado por engranajes,
poleas y tubos podría, en principio, imitar el pensamiento. Dos siglos después, la metáfora es el sistema telefónico, ya que sus
conexiones parecen asimilarse a una red neuronal.

Aunque es posible crear algoritmos y proporcionar acceso a datos para respaldar este proceso en los ordenadores, la capacidad
del ordenador para lograr inteligencia es muy limitada.

Por ejemplo, una computadora no puede dar sentido a nada porque depende de los procesos de la máquina para
manipular datos utilizando matemáticas mecánicas puras.

Además, las computadoras no pueden distinguir fácilmente la verdad de la falsedad. De hecho, ningún ordenador
puede realizar completamente ninguna de las operaciones mentales descritas en la lista que describe la
inteligencia.

Para decidir qué implica realmente la inteligencia, también es útil categorizarla. Los humanos no usan un solo tipo de
inteligencia, sino que dependen de muchos tipos de inteligencia para completar sus tareas.

Página 3 de 70
En general, las personas definen la inteligencia de diferentes maneras. Sin embargo, se puede decir que la inteligencia está
relacionada con ciertas actividades mentales, incluidas las siguientes:

Aprendizaje

Ser capaz de absorber y procesar nueva información.

Razonamiento

La información se puede manipular de varias maneras.

Integral

Revisión de los resultados de la manipulación de la información.

Captar realidades

Determinar la validez de la información manipulada.

Observar las conexiones

Adivinar cómo los datos validados interactúan con otros datos.

Separar los hechos de las opiniones

Determinar si los datos se apoyan adecuadamente en fuentes comprobables que puedan demostrar su validez de forma
consistente.

La lista podría ser bastante larga fácilmente, pero incluso esta lista tiende, relativamente, a la interpretación por parte de
cualquiera que la acepte como viable.

No obstante, como se puede ver en la lista, la inteligencia suele seguir un proceso que un sistema informático puede imitar
como parte de una simulación:

1. Establecer un objetivo basado en necesidades o deseos.

2. Evaluar el valor de cualquier información conocida en relación al objetivo.

3. Recopilar información adicional que pueda apoyar el objetivo.

4. Manipular los datos de forma que sean coherentes con la información existente.

5. Definir las relaciones y los valores entre la información existente y la nueva.

Página 4 de 70
6. Determinar si se ha alcanzado el objetivo.

7. Modificar el objetivo a la luz de los nuevos datos y su efecto en la probabilidad de éxito.

8. Repita los pasos 2 a 7 según sea necesario hasta que se logre el objetivo
(se considere verdadero) o se agoten las posibilidades de lograrlo (se considere falso).

El primer concepto que es importante se entienda es que la IA no tiene realmente nada que ver con la inteligencia humana. Sí,
parte de la IA se modela para simular la inteligencia humana, pero eso es lo que es: una simulación.
Cuando se piensa en la IA, se observa una interacción entre la búsqueda de objetivos, el procesamiento de datos utilizado para
lograr ese objetivo y la adquisición de datos utilizados para comprender mejor el objetivo. La IA se basa en algoritmos para
lograr un resultado que puede o no tener algo que ver con los objetivos humanos o los métodos para lograr esos
objetivos.Teniendo esto en cuenta, se puede clasificar la IA de cuatro maneras.

¡Haz clic en siguiente para verlas!


1. Actuar como un humano

Cuando un ordenador se comporta como un humano, es lo que mejor refleja el Test de Turing, en la que el ordenador tiene
éxito cuando no es posible la diferenciación entre el ordenador y un humano. Esta categoría también refleja lo que los medios
de comunicación quieren hacer creer que es la IA.

La vemos aplicada a tecnologías como el procesamiento del lenguaje natural, la representación del conocimiento, el
razonamiento automatizado y el aprendizaje automático (las cuatro cosas deben estar presentes para superar la prueba).

El Test de Turing
El Test de Turing original no incluía ningún contacto físico. El nuevo Test de Turing Total sí incluye el contacto físico en forma
de interrogación de la capacidad perceptiva, lo que significa que el ordenador debe emplear tanto la visión por ordenador y la
robótica para tener éxito. Las técnicas modernas incluyen la idea de lograr el objetivo en lugar de imitar completamente a los
humanos.

Por ejemplo, los hermanos Wright no lograron crear un avión copiando con precisión la trayectoria de vuelo de las aves; por el
contrario, las aves trajeron ideas que llevaron a la aerodinámica, que finalmente condujo al vuelo humano. El objetivo es volar.
Las aves y los humanos logran este objetivo, pero utilizan enfoques diferentes.

2. Pensar como un humano

Cuando un ordenador piensa como un humano, realiza tareas que requieren la inteligencia humana (a diferencia de los procesos
de memorización) para tener éxito, como conducir un coche. Para determinar si un programa piensa como un humano, hay
que disponer de algún método para determinar cómo piensan los humanos, lo que define el enfoque del modelo cognitivo.
Este modelo se basa en tres técnicas:

Introspección
Detección y documentación de las técnicas utilizadas para lograr los objetivos mediante el seguimiento de los propios procesos
de pensamiento.

Pruebas psicológicas
Observar el comportamiento de una persona y añadirlo a una base de datos de comportamientos similares de otras personas
dadas una serie de circunstancias, objetivos, recursos y condiciones ambientales similares
(entre otros).

Página 5 de 70
Imágenes cerebrales
Monitoreo directo de la actividad cerebral por varios medios mecánicos, como la tomografía axial computarizada (TAC), la
tomografía por emisión de positrones (PET), imágenes por resonancia magnética (MRI) y la magnetoencefalografía (MEG).
Después de crear un modelo, se puede escribir un programa para simularlo.

Debido la cantidad de variación entre los procesos de pensamiento humano y la dificultad de representar con precisión estos
procesos de pensamiento como parte de un programa, los resultados son experimentales en el mejor de los casos. Este tipo de
pensamiento humano se utiliza a menudo en psicología y otros campos donde el modelado de procesos de pensamiento
humano es esencial para crear simulaciones realistas.

3. Pensar racionalmente

Al estudiar cómo piensan los seres humanos utilizando algunos estándares, se pueden crear pautas que describan los
comportamientos típicos del ser humano. Se considera que una persona es racional cuando sigue estos comportamientos
dentro de determinados niveles de variación.

Un ordenador que piensa racionalmente se basa en los comportamientos registrados para crear una guía sobre cómo
interactuar con un entorno en función de los datos de que dispone. El objetivo de este enfoque es resolver los problemas de
forma lógica, siempre que sea posible.

En muchos casos, este enfoque permitiría crear una técnica de referencia para resolver un problema, que luego se modificaría
para resolverlo realmente. En otras palabras, resolver un problema, en principio, suele ser diferente de resolverlo en la práctica,
pero siempre es necesario un punto de partida.

4. Actuar racionalmente

Al estudiar cómo actúan las personas en ciertas situaciones bajo restricciones específicas es posible determinar qué técnicas
son efectivas y eficientes.
Un ordenador que funciona racionalmente se basa en las acciones registradas para interactuar con el entorno en función de las
condiciones existentes, los factores ambientales y los datos.Al igual que el pensamiento racional, los actos racionales dependen
de una solución que, en principio, pueden no ser útiles en la práctica. Sin embargo, el comportamiento lógico proporciona la
base sobre la cual la computadora puede iniciar negociaciones para lograr el objetivo.

En la siguiente tabla vemos ocho definiciones de IA, dispuestas en dos dimensiones. Las definiciones de la parte superior se
refieren a los procesos de pensamiento y razonamiento, mientras que las de la parte inferior abordan el comportamiento. Las
definiciones de la izquierda miden el éxito en términos de fidelidad a la actuación humana, mientras que las de la derecha lo
hacen en función de una medida de actuación ideal, denominada racionalidad. Un sistema es racional si hace lo "correcto",
teniendo en cuenta lo que sabe.

DEFINICIONES DE IA
Sistemas que piensan como humanos Sistemas que piensan racionalmente

• “El nuevo y emocionante esfuerzo por hacer que los • “El estudio de las facultades mentales ordenadores piensen...
máquinas con mente, en el sentido pleno mediante el uso de modelos y literal”. (Haugeland, 1985) computacionales”
(Charniak and

• “La automatización de actividades que asociamos con el McDermott, 1985) pensamiento humano, actividades como la
toma de decisiones, • “El estudio de los procesos de cálculo la resolución de problemas, el aprendizaje...” (Bellman, 1978)
que permiten percibir, razonar y actuar.” (Winston, 1992)

Sistemas que actúan como humanos Sistemas que actúan racionalmente

Página 6 de 70
• "El arte de desarrollar máquinas con capacidad para realizar
• "La Inteligencia Computacional es el
funciones que cuando son realizadas por personas requieren de estudio del diseño de agentes inteligencia". (Kurzweil,
1990) inteligentes". (Poole et al., 1998)

• "El estudio de cómo hacer que los ordenadores realicen tareas • "La IA... se ocupa del comportamiento en las que, de
momento, las personas son mejores". (Rich y
Knight, 1991) inteligente en los artefactos1998)". (Nilsson,

Hay expertos que la definen como “la habilidad de los ordenadores para hacer actividades que normalmente requieren
inteligencia humana”. Pero, más detalladamente, se puede decir que la IA es la “capacidad de las máquinas para usar
algoritmos, aprender de los datos y utilizar lo aprendido en la toma de decisiones tal y como lo haría un ser humano”.
Sin embargo, a diferencia de las personas, los dispositivos basados en IA pueden analizar grandes volúmenes de información a
la vez sin necesidad de descansar. Asimismo, la proporción de errores es significativamente menor en las máquinas que realizan
las mismas tareas que sus contrapartes humanas.

Responde la siguiente pregunta.


Define con tus propias palabras qué es la inteligencia artificial.
Hay expertos que la definen como “la habilidad de los ordenadores para hacer actividades que normalmente requieren
inteligencia humana”. Pero, más detalladamente, se puede decir que la IA es la “capacidad de las máquinas para usar
algoritmos, aprender de los datos y utilizar lo aprendido en la toma de decisiones tal y como lo haría un ser humano”.

La idea de que los ordenadores o los programas informáticos puedan aprender como tomar decisiones es particularmente
importante y algo sobre lo que deberíamos ser conscientes, ya que sus procesos están creciendo exponencialmente con el
tiempo. Gracias a estas dos capacidades, los sistemas de inteligencia artificial ahora pueden realizar muchas de las tareas que
antes solo estaban disponibles para los humanos.

La IA se puede aplicar en casi cualquier situación. Estas son algunas de las aplicaciones técnicas de la IA en rápido crecimiento
en la actualidad:

Reconocimiento de imágenes estáticas, clasificación y etiquetado

Estas herramientas son útiles para una amplia gama de industrias.

Mejoras del desempeño de la estrategia algorítmica comercial

Ya ha sido implementada de diversas maneras en el sector financiero.

Procesamiento eficiente y escalable de datos de pacientes

Esto ayudará a que la atención médica sea más efectiva y eficiente.

Página 7 de 70
Mantenimiento predictivo

Otra herramienta ampliamente aplicable en diferentes sectores industriales.

Detección y clasificación de objetos

Puede verse en la industria de vehículos autónomos, aunque también tiene potencial para muchos otros campos.

Distribución de contenido en las redes sociales

Se trata principalmente de una herramienta de marketing utilizada en las redes sociales, pero también puede usarse para crear
conciencia entre las organizaciones sin ánimo de lucro o para difundir información rápidamente como servicio público.

Protección contra amenazas de seguridad cibernética

Es una herramienta importante para los bancos y los sistemas que envían y reciben pagos en línea.

En el portal de noticias del Parlamento Europeo es posible ver la siguiente infografía sobre la inteligencia artificial. Haz clic aquí
sobre la imagen para acceder a la noticia.

Página 8 de 70
Fuente: europarl.europa.eu

• La IA también será capaz de ofrecernos sugerencias y predicciones relacionadas con asuntos importantes de nuestra vida,
lo que tendrá su impacto en áreas como la salud, el bienestar, la educación, el trabajo y las relaciones interpersonales.

• De la misma manera, cambiará la forma de hacer negocios al proporcionar ventajas competitivas a las empresas que
busquen entender y aplicar estas herramientas de forma rápida y eficaz.

La siguiente imagen muestra lo dicho anteriormente. Antes, estas eran habilidades que le pertenecían únicamente a los seres
humanos, pero en un futuro cercano, las máquinas y los robots podrán desarrollarlas gracias a la IA.

Página 9 de 70
Reconocimiento de voz
Podemos encontrar herramientas de reconocimiento de voz en Google ya que son capaces de entender nuestro idioma con el
95% de precisión y la visión artificial, que puede ser la más importante por los beneficios que ofrece, la vemos en los vehículos
autónomos, reconocimiento facial, seguridad pública y robótica.

Procesos humanos vs Procesos racionales

Los procesos humanos difieren de los procesos racionales en sus resultados. Un proceso es racional si siempre hace lo correcto
en función de la información actual, dada una medida ideal de rendimiento. En resumen, los procesos racionales se basan en
lo establecido y asumen que esto es lo correcto. Los procesos humanos implican instinto, intuición y otras variables que no
necesariamente reflejan las reglas y es posible que ni siquiera tengan en cuenta los datos existentes.

Por ejemplo, la forma racional de conducir un coche es obedecer las leyes. Sin embargo, el tráfico no es racional.
Si sigues estrictamente las reglas, se quedará en un atasco en el tráfico porque otros conductores no las siguen con
precisión. Por tanto, para tener éxito, un coche autónomo debe actuar con humanidad, en lugar de racionalmente.

Las categorías utilizadas para definir la IA brindan una manera de ver los diferentes usos o formas de aplicar la IA.
Algunos de los sistemas utilizados para clasificar la IA en categorías por tipos son arbitrarios e indiferenciados. Por ejemplo,
algunos expertos consideran que la IA es fuerte (inteligencia general que puede adaptarse a diferentes situaciones) o débil
(inteligencia específica diseñada para realizar bien una tarea concreta).El Visto lo anterior, solo dos clasificaciones de tipos no
servirán ni siquiera en un sentido general. Los cuatro tipos de clasificación promovidos por Arend brindan una mejor base
para comprender la IA:

Máquinas reactivas
Las máquinas que se puede ver ganando a los humanos en el ajedrez o jugando en los programas de juegos son ejemplos de
máquinas reactivas. Una máquina reactiva no tiene memoria ni experiencia en la que basar una decisión. En su lugar, confía en

Página 10 de 70
la pura potencia de cálculo y en algoritmos inteligentes para recrear cada decisión. Este es un ejemplo de una IA débil utilizada
para un propósito específico.

Memoria limitada
Un coche autónomo o un robot autónomo no pueden darse el lujo de tomar todas las decisiones desde cero. Estas máquinas
se basan en una pequeña cantidad de memoria que les proporciona un conocimiento experimental de diferentes situaciones.
Cuando la máquina ve la una situación similar, puede confiar en la experiencia para reducir los tiempos de reacción y disponer
de más recursos para tomar nuevas decisiones que aún no se han tomado. Este es un ejemplo del nivel que tiene actualmente
la IA fuerte.

Teoría de la mente
Una máquina que puede evaluar tanto sus objetivos necesarios como los objetivos potenciales de otras entidades en el mismo
entorno tiene un tipo de comprensión que es factible hasta cierto punto hoy en día, pero no de forma comercial. Sin embargo,
para que los coches de autoconducción lleguen a ser verdaderamente autónomos, este nivel de IA debe estar plenamente
desarrollado. Un coche autoconducido no sólo tendría que saber que debe ir de un punto a otro, sino también intuir los
objetivos potencialmente conflictivos de los conductores que le rodean y reaccionar en consecuencia.

Autoconciencia
Este es el tipo de IA que se ve en las películas. Sin embargo, requiere tecnologías que no son ni remotamente posibles ahora,
porque una máquina así tendría sentido del yo y de la conciencia. Además, en lugar de limitarse a intuir los objetivos de los
demás basándose en el entorno y las reacciones de otras entidades, este tipo de máquina sería capaz de inferir la intención de
los demás basándose en el conocimiento de la experiencia.

¿Cómo empezó la inteligencia artificial?

Cimientos de la inteligencia artificial

Diferentes disciplinas están involucradas en la inteligencia artificial, cada una de las cuales responde a una serie de preguntas.
La filosofía responde a ¿Pueden usarse reglas formales para sacar conclusiones válidas? ¿Cómo surge la inteligencia mental del
cerebro físico? ¿De dónde viene el conocimiento? ¿Cómo pasar del conocimiento a la acción?

De Aristóteles a Da Vinci
• Aristóteles (384-322 a. C.) fue el primero en formular un conjunto preciso de leyes que rigen la parte racional de la mente.
Desarrolló un sistema informal de silogismos para la argumentación completa, que en principio permitía sacar
conclusiones mecánicas a partir de premisas iniciales.

• Mucho más tarde, Ramón Lull (1315) argumentó que se podía obtener un razonamiento útil por medios artificiales.

• Por otro lado, Thomas Hobbes (1588 - 1679) propuso que el razonamiento es como el cálculo numérico: "sumamos y
restamos silenciosamente en nuestros pensamientos".

• La computación en sí misma estaba en marcha; hacia 1500 Leonardo da Vinci (1452-1519) diseñó, pero no construyó una
calculadora mecánica. Construcciones recientes demuestran que su diseño era funcional.

Relación entre el conocimiento y la acción


El elemento final en esta discusión filosófica de la mente es la relación entre el conocimiento y la acción. Esta pregunta es
importante para la IA porque la inteligencia requiere acción y razonamiento. Además, solo entendiendo cómo se justifica el
Página 11 de 70
comportamiento podemos entender cómo construir un agente que se comporte racionalmente (o que su comportamiento sea
justificable).

Asimismo, debe decirse que el cerebro obedece, al menos parcialmente, las reglas de la lógica y construir sistemas físicos que
emulan algunas de esas reglas. Otra cosa es decir que la mente es un sistema físico de
este tipo. (Russell & Norvig, 2016)

Las matemáticas, en especial la lógica, el cálculo y la probabilidad responden a la pregunta: ¿Cuáles son las reglas formales para
sacar conclusiones correctas? ¿Qué se puede calcular? ¿Cómo inferir información incierta? Los filósofos delimitaron las ideas
más importantes de la IA, pero pasar de ahí a la ciencia formal requiere una fórmula matemática en tres áreas fundamentales:
lógica, cálculo y probabilidad.

¿Cuándo surge el concepto de lógica formal?


El concepto de lógica formal tiene sus raíces en los antiguos filósofos griegos, pero su desarrollo matemático realmente
comenzó con el trabajo de George Boole (1815-1925), quien extendió la lógica booleana a objetos y relaciones y generó la
lógica de primer orden utilizada en la actualidad (Ledesma, Pérez, Borrajo & Laita, 1997). Es el sistema de representación del
conocimiento más básico. Alfred Tarski (1902-1983) introdujo la teoría de la referencia, que enseña cómo relacionar objetos
en lógica con objetos en el mundo real. El siguiente paso es definir los límites de la lógica y la informática.

En 1930, Kurt Gödel (1906-1978) demostró que en la lógica de primer orden de Frege y Russell existe un programa eficiente
que puede probar que cualquier enunciado es verdadero, pero la lógica de primer orden no puede comprender el principio. Se
requiere inducción matemática para caracterizar los números naturales.

En 1931 demostró que existen límites reales. Su teorema de incompletitud mostró que, en cualquier lenguaje capaz de expresar
las propiedades de los números naturales, existen teoremas que son verdaderamente indeterminables porque no existe un
algoritmo que pueda determinar su validez.

El resultado principal anterior también se puede interpretar como una señal de que algunas funciones de números enteros no
se pueden expresar en algoritmos, es decir, no se puede calcular. Esto llevó a Alan Turing (1912 - 1954) a intentar presentar
con precisión estas funciones que eran susceptibles de ser caracterizadas. Esta noción es problemática porque no es posible
dar una definición formal a la noción de cálculo o procedimiento efectivo.
La economía también es parte de AI de parte de Adam Smith (1723-1790), que es el primero en considerar la economía una
ciencia, utilizando la idea de que la economía puede concebirse como un conjunto de agentes individuales que intentan
maximizar su propio estado de bienestar económico.

Los economistas afirman que realmente aprenden cómo las personas toman decisiones para dirigirlas a los beneficios
esperados.

Para que la inteligencia artificial pueda llegar a ser una realidad se necesitan dos cosas: inteligencia y artefactos.
El equipo de Alan Turing construyó, en 1940, el primer ordenador operacional de carácter electromecánico con un único
propósito: descifrar mensajes alemanes durante la Segunda Guerra Mundial.
La IA también está en deuda con la parte software de la informática que proporciona los sistemas operativos, los lenguajes de
programación, y las herramientas necesarias para escribir programas modernos.

Sin embargo, en esta área la deuda se ha saldado: la investigación en IA ha generado muchas ideas nuevas de las
que se ha beneficiado la informática en general, como por ejemplo el tiempo compartido, los intérpretes
imperativos, los computadores personales con interfaces gráficas y ratones, entornos de desarrollo rápido, listas
enlazadas, administración automática de memoria, y conceptos claves de la programación simbólica, funcional,
dinámica y orientada a objetos.
(Muthukrishnan et al., 2020)

Página 12 de 70
Historia de la inteligencia artificial

Una vez habiendo estudiado las bases de la Inteligencia Artificial, vamos a descubrir el desarrollo de la IA propiamente dicha.
Los orígenes de la IA no pueden entenderse sin hablar de Alan Turing.

Alan Turing
Alan Turing fue un científico cuya relación con la IA no se limita al famoso test que lleva su nombre, sino que anticipó futuros
desarrollos de la IA y, lo que es más importante, intuyó la importancia que jugaría el aprendizaje automático en el desarrollo
de la IA, afirmando que, en lugar de intentar emular mediante una máquina la mente de un adulto, quizá sería más factible
intentar emular la mente de un niño y luego someter a la máquina a un proceso de aprendizaje que diera lugar a un desarrollo
cognitivo de dicha mente hasta alcanzar el equivalente de una mente adulta; es decir, lo que actualmente propone la robótica
de desarrollo.

A continuación, hablamos del nacimiento oficial de la IA en 1956 en una reunión científica en el Dartmouth College, aunque,
como veremos, un año antes ya había tenido lugar una sesión dedicada al tema del aprendizaje automático en un congreso
celebrado en Los Ángeles. Después describimos los primeros programas capaces de demostrar teoremas y resolver una
variedad de problemas relativamente sencillos. (López de Mántaras Badia & Meseguer González, 2017)

A Turing se le considera el padre de la informática por su famosa máquina de Turing, un mecanismo teórico para modelar
cualquier actividad computacional. Este elemento se ha tomado como la base teórica de los ordenadores y como tal se enseña
en todas las universidades del mundo. Este sistema imaginario construye y modifica combinaciones de símbolos binarios
representados como "0" y "1". Turing quería que las nuevas máquinas hicieran cosas útiles que normalmente requerían de
inteligencia y que replicaran procesos que ocurren en la mente humana. (Russell & Norvig, 2016)

La convicción de Turing de que la Inteligencia Artificial era posible, de algún modo fue reforzada a principios de los años 40 por
el neurólogo y psiquiatra Warren McCulloch y el matemático Walter Pitts. En su artículo A Logical Calculus of the Ideas
Immanent in Nervous Activity (Un cálculo lógico de las ideas inmanentes a la actividad nerviosa), unieron el trabajo de Turing
con otros dos interesantes conceptos (ambos de principios del siglo XX): la lógica proposicional de Bertrand Russell y la teoría
de las sinapsis neuronales de Charles Sherrington.

Partieron de tres fuentes: conocimientos sobre la fisiología básica y funcionamiento de las neuronas en el cerebro, el análisis
formal de la lógica preposicional de Russell y Whitehead y la teoría de la computación de Turing.

¿Cuál fue la propuesta?


Propusieron un modelo formado por neuronas artificiales, en el que cada una de ellas se caracterizaba por estar “activada” o
“desactivada”; la “activación” se produce en respuesta a un estimulo producido por una cantidad suficiente de neuronas
vecinas. De hecho, el estado de una neurona se veía como “equivalente a una proposición con unos estímulos apropiados”.

Por ejemplo, mostraron, que cualquier función computacional puede ser calculada por una red neuronal interconectada y que
todos los conectores lógicos (y, o, no, etc.) se podrían implementar usando una estructura de red simple. (Russell & Norvig,
2016)

El punto clave de la lógica proposicional es que es binaria. Se supone que cada frase (también llamada proposición) es verdadera
o falsa. No hay un término medio, ni reconocimiento de la incertidumbre o la probabilidad. Solo se permiten dos "valores de
verdad"; verdadero y falso.

Además, se construyen las proposiciones complejas y se realizan argumentos deductivos, utilizando operadores lógicos (como
y, o, sí y entonces) cuyo significado está determinado por el verdadero/falso de las proposiciones que las componen.
Por ejemplo, si dos (o más) proposiciones se unen con y, se supone que ambas o todas ellas son verdaderas. Entonces, "María
se casó con Tomás y Alicia se casó con Pedro" es verdadera si, y solo si, tanto "María se casó con Tomás" como "Alicia se casó
con Pedro" son verdaderas.

Página 13 de 70
Russell y Sherrington pudieron ser unidos por McCulloch y Pitts porque ambos habían descrito sistemas binarios. Los valores
verdaderos/falsos de la lógica se plasmaron en la actividad de activación/desactivación de las células cerebrales y el 0/1 de los
estados individuales en las máquinas de Turing.

Sherrington creía que las neuronas no solo estaban estrictamente activadas o desactivadas, sino que también tenían umbrales
fijos. Así, los conectores lógicos (que calculan "y", "o" y "no") se definieron como pequeñas redes neuronales que podían
interconectarse para representar proposiciones muy complejas.
Todo lo que se puede expresar en lógica proposicional puede ser calculado por alguna red neuronal y por alguna máquina de
Turing.
En resumen, la neurofisiología, la lógica y la computación se unieron, y la psicología también participó. McCulloch y Pitts creían
(como muchos filósofos de entonces) que el lenguaje natural se reduce, en esencia, a la lógica.

Por tanto, todos los razonamientos y opiniones, desde los argumentos científicos hasta los delirios Volviendo a Turing, trabajó
para la inteligencia británica durante la Segunda Guerra Mundial, descifrando códigos secretos utilizados por el ejército alemán
para cifrar sus comunicaciones con la infame máquina Enigma. Se dice que sus contribuciones fueron decisivas para decidir el
curso de la guerra. (López de Mántaras Badia & Meseguer González, 2017)
Con respecto a la IA, Turing, como hemos visto, fue un precursor y un visionario. Fue la primera persona en diseñar un programa
de ordenador para jugar al ajedrez, a finales de la década de 1940 (y buena parte de las ideas que usaba en su programa se
siguen utilizando en los programas de ajedrez por ordenador).

El juego de imitación
En el artículo Computing machinery and intelligence, publicado en 1950 en la revista Mind, Turing defendía la idea de que los
ordenadores podían tener comportamientos inteligentes; y proponía su famoso test de Turing para determinar si un
computador exhibía inteligencia, mediante lo que llamaba “el juego de imitación”: un evaluador humano interaccionaba
mediante un teletipo con un ente inteligente (ordenador u otro humano) que estaba en otra habitación. Al cabo de un tiempo
limitado, si el evaluador era incapaz de diferenciar un ordenador de otro humano, Turing consideraba que el ordenador exhibía
un comportamiento inteligente. Actualmente, este test se considera demasiado superficial y se han sugerido diversas versiones
complementarias del mismo.

Turing se alineaba con lo que después se ha dado en llamar la IA fuerte. Además de los juegos por ordenador como el ajedrez,
él propuso el aprendizaje como un mecanismo básico para las máquinas inteligentes. Consideró la importancia de interfaces
humanizadas, concibió la idea de creatividad computacional y propuso las ideas que hoy están en la base de la robótica del
desarrollo. (Russell & Norvig, 2016) (Russell & Norvig, 2016)

Poco después de que Turing publicara sus primeras ideas sobre máquinas inteligentes, los investigadores del otro lado del
Atlántico tenían inquietudes similares. En 1955, hubo una sesión sobre el aprendizaje automático (learning machines) en la
Western Joint Computer Conference, en Los Ángeles. En esta sesión se presentaron cuatro trabajos, tres sobre reconocimiento
de patrones y el cuarto acerca de máquinas para jugar al ajedrez.

Propuesta de Clark y Farley


En uno de los trabajos sobre reconocimiento de patrones, Clark y Farley describieron diferentes formas de ajustar el peso de
las conexiones entre neuronas de una red neuronal artificial para que pudiera aprender a reconocer patrones. Este trabajo
se inspiró en el modelo de reforzamiento de las sinapsis entre neuronas biológicas propuesto por el neuropsicólogo Donald
Hebb. (López de Mántaras Badia & Meseguer
González, 2017)

Propuesta de Gerald Dinneen


En otro trabajo, también inspirado en el funcionamiento del sistema nervioso humano, Gerald Dinneen presentó una
aproximación al reconocimiento de patrones consistente en detectar los bordes de los objetos, asignando valores numéricos
a los distintos niveles de gris, aunque Dinneen se limitó a la fase de detección de los bordes sin llegar “realmente a la fase de
reconocer los objetos.

Página 14 de 70
Propuesta de Oliver Selfridge
Oliver Selfridge presentó el tercer trabajo sobre el reconocimiento de patrones y, en cierta medida, complementa al de Dinneen
porque clasifica las imágenes identificando los elementos clave que contienen, por ejemplo, distinguiendo entre triángulos y
rectángulos identificando ángulos y contando cuántos hay. Es interesante notar que las ideas de Dinneen y Selfridge siguen
siendo relevantes para el procesamiento de imágenes. (López de Mántaras Badia & Meseguer González, 2017)

Propuesta de Allen Newell


Otro trabajo, el de Allen Newell, describe la posibilidad de programar ordenadores para jugar al ajedrez al estilo humano, es
decir, incorporando conceptos como la descomposición de un objetivo en sub-objetivos más simples, criterios para detener el
proceso de búsqueda del siguiente movimiento a efectuar y utilizar la función heurística de evaluación de los movimientos para
seleccionar un movimiento suficientemente bueno de acuerdo con el concepto de satisficing solution propuesto por Herbert
Simón (1956).

Este concepto es una estrategia heurística de toma de decisiones: cuando la decisión óptima es prácticamente imposible de
determinar debido a que existe un número demasiado elevado de posibilidades a tener en cuenta, entonces se toma una
decisión suficientemente satisfactoria, aunque no sea óptima.

En su trabajo, Newell daba a entender que “estas técnicas, basadas en procesamiento simbólico, podrían servir no solamente
para jugar al ajedrez, sino también para tratar otros problemas de alta complejidad. “Una función de evaluación heurística es
una función que hace corresponder situaciones del problema con números. Es decir, ofrece una medida conceptual de la
distancia entre un estado dado y el estado objetivo.” (Galindo Gonzalez, 2009)

Una solución satisfactoria es aquella que es suficientemente buena en función de una descripción de cuáles son las soluciones
adecuadas. Por ejemplo, una persona puede decirle a un robot que debe sacar toda la basura o decirle que saque tres elementos
de la basura. (Poole & Mackworth, 2018)

Un año después, John McCarthy organizó un encuentro en el Dartmouth College en New Hampshire con la idea de que cualquier
aspecto del aprendizaje o cualquier otro rasgo de la inteligencia podía, en principio, ser descrito con un nivel de detalle
suficiente para ser simulado en una máquina.

McCarthy convenció a Claude Shannon, de los laboratorios Boíl, y a Marvin Minsky, entonces en Harvard, para redactar una
propuesta a partir de esta idea. Se tituló Summer Research Project in Artificial Intelligence y solicitaron financiación a la
Fundación Rockefeller. Fue financiada y el encuentro, que duró seis semanas, tuvo lugar en verano de 1956.

¿En qué consistía la propuesta?


En la propuesta se afirmaba que, en solo unos pocos meses, un grupo de científicos cuidadosamente seleccionados podrían
conseguir avances significativos en aspectos tales como la comprensión del lenguaje, la abstracción de conceptos mediante
aprendizaje o la resolución de problemas que hasta entonces solo habían sido resueltos por seres humanos. Este era un
pronóstico aún más optimista, ya que fueron necesarias varias décadas para poder hablar efectivamente de progresos
significativos en dichos temas.

Una de las constantes de los pioneros de la IA era precisamente su excesivo optimismo, consecuencia de subestimar la
complejidad del problema de modelar los procesos cognitivos. (López de Mántaras Badia & Meseguer González, 2017) (Russell
& Norvig, 2016)

Además de los tres promotores anteriores, Dartmouth también contó con los siguientes investigadores: Nathaniel Rochester,
Arthur Samuel y Alex Bernstein, de IBM; Oliver Selfridge y Ray Solomonoff, del MIT; Allen Newell, de Rand Corporation; y
Herbert Simón, de la Universidad de Carnegie Mellon.

Página 15 de 70
Rochester estaba interesado en el enfoque conexionista a la IA. Samuel diseñó un programa que jugaba a un juego parecido a
las damas españolas, de forma que jugando contra una copia de sí mismo era capaz de aprender a mejorar su juego mediante
una técnica de actualización de una función matemática que evaluaba las jugadas.

Bernstein también estaba interesado en los juegos y había trabajado en un programa para jugar al ajedrez.

McCarthy, además de proponer con éxito un nuevo campo de estudio que se llamaría inteligencia artificial, estaba interesado
en diseñar un lenguaje artificial que se utilizaría para programar aspectos tales como la autoreferencia, que con el paso de los
años dio lugar al lenguaje de programación LISP.

Shannon estaba interesado en aplicar su teoría de la información para modelar el cerebro, pero después de la reunión de
Dartmouth perdió el interés por la IA.

Al final, Minsky diseñó una máquina que podía crear un modelo abstracto de su entorno, de forma que a la hora de resolver
cualquier problema primero intentara solucionarlo usando dicho modelo abstracto interno y, si eso no resultaba, intentara
planificar experimentos externos para resolverlo. (Russell & Norvig, 2016)

Como hemos mencionado, Allen Newell y Herbert Simón fueron a la reunión de Dartmouth no solo para discutir ideas más o
menos abstractas, sino con un programa ya en funcionamiento (Feigenbaum y Feldman, 1963) llamado Logic Theorist (LT), que
es capaz de demostrar algunos teoremas sobre lógica proposicional contenidos en el libro Principia Mathematica de Bertrand
Russell.

Logic Theorist (LT)


Partiendo de cinco axiomas y tres reglas de inferencia, entre ellas la regla del modus ponens, LT pudo demostrar los primeros
teoremas que se basaban únicamente en los axiomas de partida. A continuación, LT usaba los axiomas y, de forma similar a
como lo haría un matemático, también los teoremas ya demostrados para expresar otros nuevos. A pesar de que no lo pudo
hacer con teoremas bastante obvios, LT abrió la puerta al desarrollo de demostradores de teoremas. Algunos de estos han
mostrado teoremas de mucha complejidad.

LT es el primer hallazgo de que el procesamiento simbólico y el uso de heurísticas eran fundamentales para la resolución de
problemas. Efectivamente, LT esencialmente representa axiomas y los teoremas utilizando estructuras simbólicas que eran
transformadas, mediante las reglas de inferencia, hasta llegar a una estructura que coincidiera con la del teorema a demostrar
de forma que la secuencia de transformaciones aplicadas constituyera la demostración. Dado que existía un número muy
elevado de secuencias posibles, el problema era encontrar las que conducían al teorema a demostrar mediante heurísticas que
seleccionaban las transformaciones más prometedoras.

Poco tiempo después, en una conferencia celebrada en París en 1959, Herb Gelernter (Feigenbaum y Feldman, 1963) presentó
un programa capaz de demostrar teoremas de geometría.

La idea principal era una estrategia conocida ahora por “divide y vencerás”, consistente en descomponer el objetivo inicial —
teorema a demostrar— en uno o más sub-objetivos que podían a su vez ser divididos en sub-sub-objetivos, y así sucesivamente,
hasta llegar a cuestiones triviales cuya solución conjunta implicaba inmediatamente la demostración del objetivo inicial.

Por ejemplo, para demostrar que dos ángulos son iguales, el programa comprobaba que dichos ángulos correspondían a ángulos
de dos triángulos congruentes; por lo tanto, el nuevo sub-objetivo era demostrar que los triángulos son congruentes y para ello
el programa disponía de varios métodos para trivialmente comprobar congruencias entre triángulos. ¡Haz clic en siguiente para
continuar sabiendo más sobre el LT!

Responde la siguiente pregunta:


Explica con tus palabras en qué consistía la estrategia llamada "Divide y vencerás" presentada por Herb Gelernter.

Página 16 de 70
La idea principal era una estrategia conocida ahora por “divide y vencerás”, consistente en descomponer el objetivo inicial —
teorema a demostrar— en uno o más sub-objetivos que podían a su vez ser divididos en sub-sub-objetivos, y así sucesivamente,
hasta llegar a cuestiones triviales cuya solución conjunta implicaba inmediatamente la demostración del objetivo inicial.

En demostraciones complejas, este proceso de división en sub-objetivos puede dar lugar a un número elevado de posibilidades
(representadas mediante un árbol cuyo tronco principal es el objetivo inicial y las ramas los sub-objetivos, sub-sub-objetivos,
etc.), por lo que el programa de Gelernter usaba heurísticas para elegir el orden de demostración de los sub-objetivos y
descartar lo antes posible aquellas alternativas que no podían conducir a la solución del problema, debido a que alguno de los
sub-objetivos implicados era falso.
Esta estrategia de resolución de problemas ha sido, y sigue siendo, muy utilizada en IA, ya que es efectiva para tratar problemas
que se caracterizan por lo que se conoce como explosión combinatoria.

Otro conocido programa de resolución de problemas, también de finales de los años cincuenta y presentado por primera vez
en la conferencia de París de 1959, es el solucionador general de problemas (General
Problem Solver, GPS).

El adjetivo “general” en el nombre del programa es coherente con las ideas sobre la IA fuerte de los pioneros de la IA. De hecho,
GPS no era solamente un programa de ordenador, sino una teoría de cómo los humanos resolvemos problemas.

Para Newell y Simon, igual que para la mayoría de los pioneros de la IA, el objetivo principal no era construir máquinas
inteligentes, sino explicar el comportamiento inteligente humano. De hecho, la construcción de máquinas inteligentes, más
que un objetivo en sí, era el medio para explicar la inteligencia humana; por este motivo, el GPS era presentado como una
teoría sobre la manera en que los humanos resolvemos problemas.

Igual que el LT, el GPS procesaba estructuras simbólicas, ya que los seres humanos somos procesadores de símbolos. El GPS
incorporaba además una estrategia de dividir problemas en subproblemas, llamada means-ends analysis.

¿En qué consistía esta estrategia?


Esta estrategia consistía en calcular la diferencia entre la representación simbólica del problema a resolver y la representación
simbólica del estado actual del problema.

Identificada la diferencia, el programa consultaba una tabla de diferencias donde a cada una le correspondía un
operador que, aplicado sobre la estructura simbólica que representaba el estado actual, obtenía otra estructura
simbólica más próxima —menos diferente— a la del problema a resolver. Para poder aplicar un operador de
transformación, el programa tenía que verificar que se satisficieran unas condiciones de aplicabilidad, lo cual daba
lugar a tener que resolver un subproblema, de ahí la similitud con la estrategia usada por Gelernter.

En estas transformaciones de estructuras simbólicas hay también similitudes con el LT. Además, igual que el LT y el programa
de Gelernter, en problemas complejos, el GPS también tiene el problema de la explosión combinatoria, por lo que usaba
heurísticas relativas al orden de aplicación de los operadores con el fin de podar el árbol de posibilidades. La solución del GPS
para un problema dado consistía en la secuencia de operadores de trasformación que conducían del estado inicial al estado
final.

Primeros programas capaces de aprender

En 1959, Arthur Samuel desarrolló el primer programa capaz de jugar a un juego de tablero a un nivel avanzado. Se trataba del
juego de checkers, muy similar a las damas. La gran contribución de Samuel fue que mejoraba su nivel de juego ajustando los
pesos de las variables de una función heurística de evaluación de los movimientos, que tenía en cuenta el valor de cada pieza
y la posición de las piezas en el tablero, en particular la movilidad de las piezas o el control del centro del tablero.

Página 17 de 70
Funcionamiento
El programa representaba todos los posibles movimientos (así como todas las posibles respuestas del contrincante y sus
respuestas a las respuestas, y así sucesivamente) mediante un árbol de búsqueda y calculaba, para cada posible movimiento,
su valor heurístico y seleccionaba el movimiento de más valor. Dado que hay del orden de 5 × 1020 posiciones posibles, era
completamente imposible evaluar todo el árbol de búsqueda. El programa tenía que limitar la profundidad del árbol, por lo
que cada movimiento seleccionado podía no ser óptimo. Mediante aprendizaje, la calidad de la función heurística mejoraba,
aunque nunca llegaba a ser perfecta.

En 1962, el programa de Samuel llegó a vencer a algunos maestros de checkers y tuvo una importante repercusión en los medios
de comunicación.

Otra clase de dificultades de aquella época que motivaron los primeros programas capaces de aprender, eran los de
reconocimiento y clasificación de patrones. Ya hemos aludido al trabajo de Clark y Farley sobre el reconocimiento de patrones
mediante una red neuronal artificial y también a los trabajos de Dinneen y Selfridge que se inspiraron en redes neuronales.

Muchos participantes en Dartmouth estaban interesados en modelos de aprendizaje basados en redes neuronales:

Marvin Minsky
En particular, Marvin Minsky, cuya tesis doctoral versaba sobre redes neuronales analógicas como posible modelo teórico del
cerebro. Minsky diseñó y construyó una red neuronal analógica de 40 neuronas usando 3 000 tubos de vacío y otros
componentes electrónicos, y la aplicó para simular cómo un ratón encuentra la salida en un laberinto. Los modelos de
aprendizaje basados en redes neuronales era la aproximación dominante en los primeros programas capaces de aprender.

Oliver Selfridge
Los trabajos posteriores de Oliver Selfridge, en reconocimiento de patrones con su sistema Pandemonium, también estaban
basados en redes neuronales, aunque los procesos computacionales pueden adoptar tanto la forma de neuronas artificiales
como de elementos de procesamiento simbólico para modelizar funciones cognitivas de más alto nivel. Se trataba, pues, de
una arquitectura multinivel donde los procesos se ejecutarían en paralelo. Las ideas expuestas por Selfridge en Pandemonium
eran avanzadas para su tiempo y no tuvieron el reconocimiento que merecían. Más tarde, el estudio de arquitecturas multinivel
integrando procesamiento simbólico y subsimbólico fue objeto de atención en IA.

Frank Rosenblatt
De mediados de los años cincuenta a mediados de los sesenta hubo mucha actividad en sistemas capaces de aprender a
reconocer patrones mediante redes neuronales. Reconocían patrones bidimensionales como, por ejemplo, caracteres alfa-
numéricos o fotografías, que se podían representar mediante matrices de números (posteriormente llamados píxeles). El
reconocimiento óptico de caracteres alfanuméricos atrajo la atención del sector bancario debido a su aplicación a la lectura
automática de los números de cuenta impresos en los cheques.

Frank Rosenblatt desarrolló un tipo de red neuronal, llamada perceptron, basada en el modelo de McCulloch y Pitts. De nuevo,
la aplicación en la que estaba interesado Rosenblatt era el reconocimiento de caracteres alfanuméricos. Igual que Minsky,
Rosenblatt construyó sus redes neuronales en hardware, ya que el software de aquella época era demasiado lento para las
aplicaciones en las que estaba interesado Rosenblatt, que incluían además el reconocimiento automático del habla. Otra
contribución pionera al aprendizaje mediante modelos neuronales, también realizada en hardware, fueron los dispositivos
Adaline de Bernard Widrow, que se aplicaron para desarrollar controladores adaptativos en el campo de la automática.

Página 18 de 70
Primeros intentos de procesar el lenguaje natural

En este apartado hablaremos sobre entender el significado de los términos y frases que se forman a partir de dichos caracteres.
Este es el objetivo de lo que en IA se conoce por procesamiento del lenguaje natural, en contraposición de los lenguajes
artificiales de programación. Los primeros intentos de procesar el lenguaje natural estuvieron motivados por la necesidad, en
plena guerra fría, de llevar a cabo traducciones automáticas entre el ruso y el inglés.

Primera conferencia sobre traducción mecánica


La primera conferencia sobre traducción mecánica tuvo lugar en 1952 en MIT. Sus organizadores eran muy optimistas acerca
de la factibilidad de llevar a cabo traducciones completamente automatizadas basadas con diccionarios en formato electrónico
y análisis sintáctico. Se obtuvieron buenos resultados con algunos programas traduciendo del ruso al inglés con un vocabulario
limitado y usando reglas gramaticales sencillas. Sin embargo, no tardaron en darse cuenta de que la traducción de alta calidad,
sin restricciones limitativas sobre vocabulario y gramática, era mucho más compleja.
Algunos pioneros llegaron incluso a afirmar que la traducción automática no era posible ni a corto ni a largo plazo. El argumento
principal era que las máquinas no poseen los conocimientos de sentido común necesarios para comprender el significado del
lenguaje.

Bar-Hillel
Bar-Hillel ejemplificó esta imposibilidad con la frase en inglés: “Little John was looking for his toy box. Finally, he found it. The
box was in the pen. John was very happy”. La dificultad para traducir este texto a otro idioma radica en la frase “the box was
in the pen”, ya que pen en inglés significa bolígrafo (instrumento de escritura) y también parque infantil (pequeño recinto
donde juegan los niños). Incluso proporcionado al programa ambas definiciones no es posible que pueda determinar cuál de
los dos significados es el correcto, pues para ello tendría que tener conocimientos de sentido común sobre tamaños relativos
de objetos en general y en este caso concreto de los tamaños de caja, pluma y parque infantil.

Bar-Hillel tenía mucha razón: el problema de dotar de conocimientos de sentido común a las máquinas sigue siendo
la principal dificultad en IA. A mediados de los años sesenta, los principales organismos financiadores de la actividad
investigadora en Estados Unidos dejaron de apoyar los proyectos de traducción automática y los orientaron hacia
el desarrollo de herramientas de ayuda al traductor humano. A pesar de ello, la actividad investigadora en
procesamiento del lenguaje natural continuó y sigue siendo un área muy importante en IA.

Los primeros lenguajes de programación

Recordemos que un SSF consiste en un conjunto de entidades, denominadas símbolos que pueden combinarse, mediante
relaciones, dando lugar a estructuras más grandes y pueden transformarse aplicando un conjunto de procesos. En coherencia
con ello, Newell y Simón vieron la necesidad de disponer de lenguajes de programación capaces de procesar símbolos de
manera eficiente y diseñaron una serie de lenguajes de programación que llamaron Information Processing Language (IPL).
IPL-I era una especificación de las funcionalidades que debían poseer este tipo de lenguaje. A continuación, IPL-II, IPL-III e IPL-
IV fueron ya la serie de lenguajes capaces de llevar a cabo un procesamiento de símbolos según una estructura simple llamada
lista de símbolos, mediante la cual se pueden construir estructuras más complejas tales como listas de listas de símbolos, listas
de listas de listas, y así sucesivamente. Los primeros programas heurísticos LT y GPS se programaron mediante estos lenguajes.

Poco después, John McCarthy diseñó el lenguaje LISt Processing (LISP) basado también en una estructura de listas de símbolos,
con operadores para extraer símbolos de una lista, añadir símbolos a una lista, verificar si un símbolo pertenece o no a una
lista, copiar una lista, etc.

Combinando estos operadores se pueden llevar a cabo complejos procesamientos simbólicos. La funcionalidad más importante
de LISP es que los programas se representan a su vez mediante listas y, por consiguiente, pueden procesarse dentro de otro
programa del cual son subprogramas.

Página 19 de 70
De hecho, un programa puede incluso tener como subprograma una versión de sí mismo, lo que se conoce por recursividad.
Esta es posiblemente una de las características más importantes en la programación de IA.

Prácticamente todos los primeros programas de procesamiento del lenguaje natural mencionados anteriormente se
programaron usando LISP.
La comunidad de investigadores en IA todavía usa extensiones mejoradas de LISP.
A mediados de los años sesenta, en la Universidad de Edimburgo se desarrolló un lenguaje de programación también para
procesar listas llamado POP-2. El uso de este lenguaje quedó limitado al entorno de Reino Unido, ya que LISP se impuso como
el lenguaje principal en IA a nivel mundial.

En resumen

• Cada uno tiene una visión distinta de lo que es la IA. Es importante responder a las dos preguntas siguientes: ¿Está
interesado en el razonamiento y el comportamiento? ¿Desea modelar seres humanos o trabajar a partir de un ideal
estándar?

• Los filósofos (desde el año 400 a.C.) facilitaron el poder imaginar la IA, al concebir la idea de que la mente es de alguna
manera como una máquina que funciona a partir del conocimiento codificado en un lenguaje interno, y al considerar que
el pensamiento servía para seleccionar la acción a llevar a cabo.

• Las matemáticas proporcionaron las herramientas para manipular tanto las aseveraciones de certeza lógicas, como las
inciertas de tipo probabilista. Asimismo, prepararon el terreno para un entendimiento de lo que es el cálculo y el
razonamiento con algoritmos.

• Los psicólogos adoptaron la idea de que los humanos y los animales podían considerarse máquinas de procesamiento de
información. Los lingüistas demostraron que el uso del lenguaje se ajusta a ese modelo.

• Las historia de la IA ha pasado por ciclos de éxito, injustificado optimismo y consecuente desaparición de entusiasmo y
apoyos financieros. También ha habido ciclos caracterizados por la introducción de enfoques nuevos y creativos y de un
perfeccionamiento sistemático de los mejores.

• La IA ha avanzado más rápidamente en la década pasada debido al mayor uso del método científico en la experimentación
y comparación de propuestas.

• Los avances recientes logrados en el entendimiento de las bases teóricas de la inteligencia han ido aparejados con las
mejoras realizadas en la optimización de los sistemas reales. Los subcampos de la IA se han integrado más y la IA ha
encontrado elementos comunes con otras disciplinas.

Ramas de la IA. Algoritmos

Búsqueda en la IA

La búsqueda es una técnica de solución de problemas que sistemáticamente considera todas las posibles acciones para
encontrar un camino desde el estado inicial al estado objetivo.

Existen muchas técnicas de búsqueda, pero las fundamentales son:


Página 20 de 70
• Primero en profundidad (Depth first)

• Hill climbing

• Primero en anchura (Breadth first)

• Costo mínimo (Least cost)

Los componentes de la búsqueda son:


• Estado inicial – primera ubicación.

• Acciones disponibles – Función sucesor: estados alcanzables.

• Probar la meta – Condiciones para satisfacer la meta.

• Costo del camino – Costo de la secuencia desde el estado inicial hasta el estado alcanzado.

El objetivo de la búsqueda es la transformación el estado inicial en estado meta, por lo tanto, encuentra una secuencia de
acciones. La solución de la búsqueda es el camino desde el estado inicial hasta la meta, es óptimo si el costo es mínimo.

Reconocimiento de patrones

La definición del reconocimiento de patrones varía para cada experto.

• Para Duda y Hart es la asignación de un objeto físico o evento a una categoría pre-especificada. Mientras que para
Schalkoff es la ciencia que trata con la descripción o clasificación de mediciones.

• Para Schurmann es el proceso de dar nombres X a observaciones Y.

• Por otro lado, según Morse el reconocimiento de patrones es el reconocimiento de patrones trata con la respuesta a la
pregunta “¿Que es esto?”.

• Por último, para Fukunaga, el problema de estimar funciones de densidad en un espacio de alta dimensión dividiendo el
espacio en regiones de categorías o clases.

Algunos de los problemas donde se aplica el reconocimiento de patrones son:

Visión de maquina

Inspeccion visual, ATR

Reconocimiento de caracteres

Ordenamiento de correo, proceso de cheques bancarios.

Asistente computacional para diagnostico

Imágenes medicas/EEG/Analisis de señalaes ECG.

Página 21 de 70
Reconocimiento del habla

Interaccion humano computadora, acceso.

Redes neuronales

Las redes neuronales son vistas como grafos dirigidos con pesos en las que los nodos son neuronas artificiales y aristas dirigidas
(con pesos) que son conexiones entre neuronas de entrada-salida.

Las redes neuronales tienen la habilidad de aprender complejas relaciones no lineales a partir de los procedimientos
secuenciales de entrenamiento, y adaptar a si mismas al dato de entrada.

Entre las aplicaciones que requieren reconocimiento de patrones están el procesamiento y segmentación de imágenes, el
análisis sísmico, la visión computacional, supervisión industrial, diagnostico medico, presupuestos financieros y diagnósticos
hombre y maquina.

Representación del conocimiento

¿Cómo representamos lo que conocemos?

El conocimiento es una colección de hechos. Para manipular estos hechos por un programa, se requiere de una buena
representación. Una buena representación facilita la solución de problemas. Diferentes tipos de conocimiento requieren
diferentes tipos de representación:

1. Lógica de predicados
Un predicado es una función que puede ser verdadera para algunos argumentos, y falsa para otros.

2. Redes semánticas
Una red semántica es un grafo, donde los nodos representan conceptos.

3. Frames y scripts
Un frame es una estructura de datos que típicamente consiste de:

• Nombre del Frame

• Ranura para llenar (relaciones objetivo)

• Apuntadores (enlaces) a otros Frames

• Instanciacion del procedimiento (herencia, default, consistencia).

Los scripts son sentencias enlazadas utilizando estructuras como los Frames; Ej. Un archivo de secuencia de eventos por una
ocurrencia de un tipo dado.

4. Reglas de producción
Consiste de un conjunto de reglas acerca del comportamiento; una producción consta de una precondición (IF) y una acción
(THEN). Si una producción de una precondición se correlaciona con el estado actual del mundo, entonces se dice que la
producción debe ser disparada.

Página 22 de 70
¡Haz clic en siguiente para conocer más representaciones del conocimiento!

5. Inferencia

La inferencia es el acto o proceso de derivar conclusiones basadas solamente en lo que al momento se conoce; es una deducción
de nuevos hechos basados en hechos anteriores. La lógica expresa a la inferencia.

Inferencia deductiva
Nunca es falsa; la inferencia es verdadera si las premisas son verdaderas. Una lógica tradicional esta basada en la deducción; es
un método de inferencia exacta; no hay posibilidad de error si las reglas son seguidas exactamente. La información requerida
es completa, precisa, y consistente. Una lógica es monotónica, si la verdad de una proposición no cambia cuando nueva
información es agregada al sistema.

Inferencia inductiva
Puede ser una inferencia correcta o incorrecta, porque en el mundo real la información es incompleta, inexacta, inconsistente.
Una lógica es inductiva, también llamada inducción o razonamiento inductivo, si el proceso de razonamiento en el que las
premisas de un argumento son creídas para apoyar la conclusión, pero no la garantizan. Una lógica es no-monotónica, si la
verdad de sus proposiciones puede cambiar a nueva información (axiomas) es añadido a o la vieja información es borrada del
sistema.

El razonador traza conclusiones tentativamente reservándose el derecho de retraerla si se presenta mas información. Ejemplo:
cuando escuchamos un ave, los humanos inferimos que esa ave puede volar, pero esta conclusión puede ir en reversa cuando
escuchamos que es un pingüino; el ave pingüino no puede volar.

6. Sentido común

El sentido común es la habilidad mental que la mayoría de la gente tiene, habilidad para analizar una situación basada en su
contexto. La gente puede pensar porque el cerebro contiene vastas librerías de conocimiento de sentido común y tiene sentido
para organizarla, adquirirla, y usar tal conocimiento. Las computadoras no pueden pensar; los programas de computadora
hacen muchas cosas, pueden jugar ajedrez a nivel de los mejores jugadores, pero no pueden emparejarse a las capacidades de
un niño de tres años que reconoce objetos. Actualmente las computadoras carecen de sentido común.

Enseñando a las computadoras el sentido común


• La meta del proyecto “OpenMind” del MIT es enseñar a las computadoras cosas que los humanos dan por hecho. El
conocimiento es representado en forma de red semantica, modelos graficos probabilisticos e historias en scripts.

• El proyecto “Cyc” es una tentativa para construir manualmente una base de datos del conocimiento de sentido común
humano; tiene una colección de 1.5 millones de hechos de sentido común, pero se queda corto ante los varios cientos de
millones que se necesitan.

7. Aprendizaje

Hay diferentes definiciones para cada experto. Para Herbert Simon (1983)`, por ejemplo, el aprendizaje "denota cambios en el
sistema que son adaprivos en el sentido de que habilitan al sistema para hacer la misma tarea o tareas mas eficientemente y
mas efectivamente la siguiente vez.” Sin embargo, para Marvin Minsky (1986), el aprendizaje "esta haciendo cambios útiles en
nuestra mente.”

Veamos, a continuación, los principales paradigmas de las máquinas de aprendizaje:

Página 23 de 70
Aprendizaje de memoria

El aprendizaje por memorización; guardando el conocimiento que puede ser usado otra vez.

Inducción

Aprendizaje mediante ejemplos: el proceso de aprendizaje mediante ejemplos donde un sistema trata de inducir una regla
general desde un conjunto de instancias observadas.

Analogía

Aprendizaje con similitudes. Reconocer las similitudes en la información almacenada hoy. Puede determinar correspondencia
entre dos diferentes representaciones.

Algoritmos genéticos

Utiliza el Aprendizaje mediante el proceso de imitación de la naturaleza. Parte del computo evolutivo, una forma de resolver
problemas mediante el proceso de imitación, lo usa la naturaleza, selección, cruza, mutación y aceptación para “evolucionar”
a la solución de un problema.

Refuerzo

El aprendizaje de las acciones; asignar recompensas; +ve o –ve; al final de la secuencia de pasos, se aprende con acciones que
son buenas o malas.

Continuemos viendo más representaciones del conocimiento:

8. Planificación
Un plan es una representación de un curso de acción. La planificación es una técnica de solución de problemas. La planificación
es una serie de acciones razonables que acompañan una meta.

Programas de planificación: Inicia con hechos acerca del mundo, particularmente hechos acerca de los efectos de
las acciones, hechos acerca de una situación particular, y declaraciones de una meta.

Como beneficios de la planificación tenemos la reducción de la búsqueda, resolución de conflictos de meta, y suministra una
base para recuperarse del error. Una estrategia de planificación es una secuencia de acciones. Desde los hechos el programa
genera una estrategia para alcanzar la meta.

9. Epistemología
La epistemología es la teoría del conocimiento, el estudio del conocimiento y creencias justificadas. Estudio de las clases de
conocimiento que son requeridas para resolver problemas en el mundo. Hay varias clases de conocimiento como conocer como
hacer algunas cosas, por ejemplo, como andar en bicicleta; conocer a alguien en persona, y conocer un lugar o una ciudad.

Página 24 de 70
10. Ontología
La ontología estudia la existencia; es un estudio de las categorías de las cosas que existen o pueden existir en algún dominio. Es
un modelo de datos que representa un dominio y es usado para razonar acerca de los objetos en ese dominio y las relaciones
entre ellos. La ontología es usada en inteligencia artificial, como una forma de representación del conocimiento acerca del
mundo o una parte de el.

La ontología generalmente describe:

• Individuos (instancias): el nivel básico de los objetos.

• Clases: conjuntos, colecciones, o tipos de objetos.

• Atributos: Las propiedades, rasgos, características, o parámetros de los objetos que pueden tener y compartir.

• Relaciones: las formas en que los objetos pueden ser relacionados con cada uno de los otros.

11. Heurísticas
Las heurísticas son simplemente reglas eficientes. En ciencias de la computación, una heurística es un algoritmo con
probabilidad de tener buenos tiempos de ejecución y con probabilidad de tener buenas soluciones o soluciones optimas. Las
heurísticas prometen tener buen desempeño computacional o simplicidad conceptual, potencialmente en los costos de
exactitud o precisión.

Las personas utilizamos las heurísticas para tomar decisiones, tomar juicios, y solución de problemas, cuando se encaran
problemas complejos o con información incompleta. Estas reglas trabajan bien bajo la mayoría de las circunstancias. En
programas de AI, las funciones heurísticas son usadas para medir qué tan lejos esta un nodo de su estado meta y utilizadas
para comparar dos nodos, encontrando si uno es mejor que otro.

12. Programación genética


La programación genética (PG) es un método automatizado para crear programas a partir de la declaración del problema en
un alto nivel. La PG inicia a partir de una declaración de alto nivel de los requerimientos de un problema e intenta producir un
programa de computadora que resuelva el problema.

El usuario comunica las declaraciones de alto nivel del problema al sistema PG mediante el desarrollo de ciertos pasos
preparatorios bien definidos. Los cinco pasos principales preparatorios, que el usuario humano requiere especificar al sistema
de PG son:

1. Conjunto de terminales (variables, funciones, y constantes)


2. Conjunto de funciones primitivas
3. Medida de desempeño (para el desempeño de los individuos de la población)
4. Control de los parámetros para la ejecución
5. Criterio de terminación para la designación de los resultados de la ejecución

El papel de los algoritmos

La gente tiende a reconocer la IA cuando una herramienta ofrece un enfoque novedoso e interactúa con el usuario de forma
similar a la humana. Algunos ejemplos son los asistentes digitales como Siri o Alexa.

Sin embargo, algunas otras herramientas comunes, como los routers GPS y los planificadores especializados (como los que se
utilizan para evitar colisiones en el sector automovilístico, los aviones con piloto automático y los planes de producción) ni
siquiera parecen IA porque son demasiado comunes y se dan por sentado, ya que actúan entre bastidores.
Página 25 de 70
Se trata claramente del efecto de la IA, como lo denominó y describió Pamela McCorduck, una autora estadounidense que
escribió una notable historia de la IA en 1979.

El efecto de la IA afirma que los programas informáticos inteligentes de éxito pronto pierden el reconocimiento de la gente y
se convierten en actores silenciosos, mientras que la atención se desplaza a los problemas de la IA que todavía requieren una
resolución.

La gente se desentiende de la importancia de los algoritmos clásicos de la IA y empieza a fantasear con la IA creada a partir de
tecnología esotérica o la equipara a los avances recientes, como el machine learning y el deep learning.
Un algoritmo es un procedimiento, que es una secuencia de operaciones, habitualmente tratada por un

¿Qué significa algoritmo?

Un algoritmo siempre presenta una serie de pasos, pero no necesariamente realiza todos estos pasos para resolver un
problema. El ámbito de los algoritmos es increíblemente amplio.Las operaciones pueden implicar el almacenamiento de datos,
la exploración de los mismos y la ordenación o disposición en estructuras de datos. Se pueden encontrar algoritmos que
resuelven problemas en la ciencia, la medicina, las finanzas, la producción y el suministro industrial, y la comunicación.

Todos los algoritmos son secuencias de operaciones para encontrar la solución correcta a un problema en un tiempo razonable
(o informar si no se encuentra la solución). Los algoritmos de IA se distinguen de los algoritmos genéricos por resolver
problemas cuya resolución se considera típicamente (o incluso exclusivamente) producto del comportamiento inteligente
humano.
Los algoritmos de IA tienden a tratar problemas complejos, que a menudo forman parte de la clase de problemas NP-completos
(donde NP es el tiempo polinómico no determinista) que los humanos resuelven habitualmente utilizando una mezcla de
enfoque racional e intuición. Veamos algunos ejemplos:

Planificación de problemas y asignación de recursos limitados.

Búsqueda de rutas en espacios físicos o ficticios complejos.

Reconocimiento de patrones en la visión de imágenes (frente a algo como la restauración o el procesamiento de imágenes) o
la percepción del sonido.

Procesar el lenguaje (tanto la comprensión de


textos como la traducción del lenguaje)

Jugar (y ganar) juegos competitivos.

Los problemas NP-completos se distinguen de otros problemas algorítmicos porque aún no es posible encontrar una solución
para ellos en un tiempo razonable. NP-completo no es el tipo de problema que se resuelve probando todas las combinaciones
o posibilidades posibles. Incluso si se dispusiera de ordenadores más potentes que los que existen hoy en día, la búsqueda de
la solución duraría casi una eternidad. De forma similar, en la IA, este tipo de problema se llama AI-completo.

Machine/Deep Learning

Machine Learning

Aunque el término Machine Learning o aprendizaje automático pueda parecernos una fantasía futurista, existe desde hace
décadas en algunas aplicaciones especializadas, por ejemplo, en el Reconocimiento Óptico de Caracteres (OCR). La primera
aplicación de Machine Learning (ML) que realmente se convirtió en la corriente principal se hizo en la década de los 90 con el
filtro de spam.
El aprendizaje automático (en inglés, machine learning) es uno de los principales enfoques de la inteligencia artificial. En
resumen, es un aspecto de la informática en el que los ordenadores o máquinas tienen la capacidad de aprender sin estar
programados para ello. Un resultado típico serían las sugerencias o

Página 26 de 70
predicciones en una situación particular. (Rouhiainen, 2018)

Empecemos por considerar un par de ejemplos del aprendizaje animal natural. Algunas de las cuestiones más fundamentales
del ML surgen ya en ese contexto, que todos conocemos.

Inspirándonos en el ejemplo anterior de aprendizaje exitoso, demostremos una tarea típica de machine learning. Supongamos
que queremos programar una machine learning que aprenda a filtrar los correos electrónicos basura. Una solución ingenua
sería aparentemente similar a la forma en que las ratas aprenden a evitar los cebos venenosos.

La máquina se limitaría a memorizar todos los correos electrónicos anteriores que el usuario humano hubiera etiquetado como
spam. Cuando llegue un nuevo correo electrónico, la máquina lo buscará en el conjunto de correos electrónicos spam
anteriores. Si coincide con uno de ellos, se eliminará. En caso contrario, se trasladará a la carpeta de entrada del usuario.

Aunque el enfoque anterior de aprendizaje por memorización es a veces útil, carece de un aspecto importante de los sistemas
de aprendizaje: la capacidad de etiquetar mensajes de correo electrónico no vistos. Un alumno con éxito debe ser capaz de
progresar desde los ejemplos individuales hasta una generalización más amplia. Esto también se conoce como razonamiento
inductivo o inferencia inductiva.

En el ejemplo de la timidez del cebo presentado anteriormente, después de que las ratas encuentren un ejemplo de un
determinado tipo de comida, aplican su actitud hacia él en nuevos ejemplos no vistos de comida de olor y sabor similares.

Para lograr la generalización en la tarea de filtrado de spam, el alumno puede escanear los correos electrónicos vistos
anteriormente y extraer un conjunto de palabras cuya aparición en un mensaje de correo electrónico es indicativa de spam.

A continuación, cuando llega un nuevo correo electrónico, la máquina puede comprobar si aparece en él una de las palabras
sospechosas y predecir su etiqueta en consecuencia. Un sistema de este tipo podría predecir correctamente la etiqueta de
correos electrónicos no vistos. Sin embargo, el razonamiento inductivo puede llevarnos a conclusiones falsas. Para ilustrar esto,
consideremos de nuevo un ejemplo del aprendizaje animal.

Ejemplo 2. La superstición de las palomas. En un experimento realizado por el psicólogo B. F. Skinner, colocó un
grupo de palomas hambrientas en una jaula. En la jaula se había colocado un mecanismo automático que
suministraba comida a las palomas a intervalos regulares, sin ninguna referencia al comportamiento de las aves.
Las palomas hambrientas daban vueltas a la jaula y, cuando se les entregaba la comida por primera vez, cada
paloma realizaba alguna actividad
(picotear, girar la cabeza, etc.).

La llegada de la comida reforzaba la acción específica de cada pájaro y, en consecuencia, cada pájaro tendía a pasar
más tiempo haciendo esa misma acción. Esto, a su vez, aumentó la probabilidad de que la siguiente entrega de
comida al azar encontrara a cada pájaro dedicado a esa actividad de nuevo. El resultado es una cadena de
acontecimientos que refuerza la asociación de las palomas de la entrega de la comida con las acciones fortuitas
que habían realizado cuando se les entregó por primera vez. Posteriormente, siguen realizando esas mismas
acciones con diligencia.

¿Qué distingue los mecanismos de aprendizaje que dan


lugar a la superstición del aprendizaje útil?

Esta pregunta es crucial para el desarrollo de aprendices automatizados. Mientras que los aprendices humanos pueden confiar
en el sentido común para filtrar las conclusiones aleatorias del aprendizaje sin sentido, una vez que exportamos la tarea de
aprendizaje a una máquina, debemos proporcionar principios nítidos bien definidos que protejan al programa de llegar a
conclusiones sin sentido o inútiles. El desarrollo de tales principios es un objetivo central de la teoría del machine learning.

Página 27 de 70
Entonces, ¿qué hizo que el aprendizaje de las ratas tuviera más éxito que el de las palomas? Como primer paso para responder
a esta pregunta, analicemos el fenómeno de la timidez del cebo en las ratas. ¡Haz clic en siguiente para continuar!

Revisando la timidez al cebo: las ratas no adquieren el condicionamiento entre la comida y la descarga eléctrica o entre el
sonido y las náuseas. El mecanismo de la timidez al cebo en las ratas resulta ser más complejo de lo que cabría esperar.

En los experimentos llevados a cabo por García (García y Koelling 1996), se demostró que si el estímulo desagradable que sigue
al consumo de comida se sustituye, por ejemplo, por una descarga eléctrica (en lugar de náuseas), no se produce ningún
condicionamiento. Incluso después de repetidos ensayos en los que el consumo de algún alimento va seguido de la
administración de una descarga eléctrica desagradable, las ratas no tienden a evitar ese alimento.

Un fracaso similar del condicionamiento se produce cuando la característica del alimento que implica náuseas (como el sabor
o el olor) se sustituye por una señal vocal. Las ratas parecen tener algún conocimiento previo "incorporado" que les dice que,
aunque la correlación temporal entre la comida y las náuseas puede ser causal, es es poco probable que haya una relación
causal entre el consumo de comida y las descargas eléctricas o entre los sonidos y las náuseas.
Concluimos que un rasgo distintivo entre el aprendizaje de la timidez del cebo y la superstición de la paloma es la incorporación
de conocimientos previos que sesgan el mecanismo de aprendizaje. Esto también se denomina sesgo inductivo.

Las palomas del experimento están dispuestas a adoptar cualquier explicación sobre la aparición de la comida. Sin embargo, las
ratas "saben" que la comida no puede causar una descarga eléctrica y que la coocurrencia del ruido con algún alimento no es
probable que afecte al valor nutricional de ese alimento. El proceso de aprendizaje de las ratas está sesgado hacia la detección
de algún tipo de patrón, mientras que ignora otras correlaciones temporales entre eventos.

Resulta que la incorporación de conocimientos previos, que sesgan el proceso de aprendizaje, es inevitable para el éxito de los
algoritmos de aprendizaje.

El desarrollo de herramientas para expresar el conocimiento previo del dominio, traducirlo en un sesgo de aprendizaje y
cuantificar el efecto de dicho sesgo en el éxito del aprendizaje es un tema central de la teoría del Machine Learning.
A grandes rasgos, cuanto mayor sea el conocimiento previo (o las suposiciones previas) con el que se inicia el proceso de
aprendizaje, más fácil será aprender a partir de otros ejemplos. Sin embargo, cuanto más fuertes sean estas suposiciones
previas, menos flexible será el aprendizaje, ya que está limitado, a priori, por el compromiso con estas suposiciones. (Shwartz)
¿Qué es el machine learning?

El machine learning es la ciencia (y el arte) de programar ordenadores para que puedan aprender de los datos. He aquí una
definición un poco más general: “El machine learning es el campo de estudio que da a los ordenadores la capacidad de aprender
sin ser programados explícitamente” - Arthur Samuel, 1959. Y otra más orientada a la ingeniería: “Se dice que un programa
informático aprende de la experiencia E con respecto a una tarea T y una medida de rendimiento P, si su rendimiento en T,
medido por P, mejora con la experiencia E” -Tom Mitchell, 1997-, marcados por los usuarios) y ejemplos de correos electrónicos
normales (no spam, también llamados "ham").

Por ejemplo
Su filtro de spam es un programa de Machine Learning que puede aprender a marcar el spam a partir de ejemplos de correos
electrónicos de spam (por ejemplo, marcados por los usuarios) y de ejemplos de correos electrónicos normales (no spam,
también llamados "ham"). Los ejemplos que el sistema utiliza para aprender se denominan conjunto de entrenamiento. En este
caso, la tarea T es marcar el spam de los nuevos correos electrónicos, la experiencia E son los datos de entrenamiento y hay
que definir la medida de rendimiento P; por ejemplo, se puede utilizar la proporción de correos electrónicos clasificados
correctamente. Esta medida de rendimiento se denomina precisión y se utiliza a menudo en las tareas de clasificación.

Si solo se descarga una copia de Wikipedia, el ordenador tiene muchos más datos, pero no es mejor de repente en ninguna
tarea. Por lo tanto, no se trata de aprendizaje automático.

¿Cuándo necesitamos el Machine Learning?


Página 28 de 70
Dos aspectos de un problema determinado pueden requerir el uso de programas que aprendan y mejoren en función de su
"experiencia": la complejidad del problema y la necesidad de adaptabilidad. (Shwartz) Veamos las tareas que son demasiado
complejas para programar:

Tareas realizadas por animales/humanos


Hay numerosas tareas que los seres humanos realizamos de forma rutinaria, pero nuestra introspección sobre cómo las
hacemos no es lo suficientemente elaborada como para extraer un programa bien definido. En todas estas tareas, los
programas de machine learning más avanzados, que "aprenden de su experiencia", consiguen resultados bastante
satisfactorios, una vez expuestos a un número suficiente de ejemplos de entrenamiento.

Tareas más allá de las capacidades humanas


Otra amplia familia de tareas que se benefician de las técnicas de machine learning están relacionadas con el análisis de
conjuntos de datos muy grandes y complejos: datos astronómicos, conversión de archivos médicos en conocimiento médico,
predicción meteorológica, análisis de datos genómicos, motores de búsqueda en la web y comercio electrónico.

Al haber cada vez más datos registrados digitalmente, resulta evidente que hay tesoros de información significativa enterrados
en archivos de datos que son demasiado grandes y complejos para que los humanos puedan darles sentido. Aprender a detectar
patrones significativos en conjuntos de datos grandes y complejos es un ámbito prometedor en el que la combinación de
programas que aprenden con la capacidad de memoria casi ilimitada y la velocidad de procesamiento cada vez mayor de los
ordenadores abre nuevos horizontes.

¿Por qué utilizar el Machine Learning?

Piensa cómo escribirías un filtro de spam utilizando técnicas de programación tradicionales:

En primer lugar...

Observarías el aspecto que suele tener el spam. Podrías notar que algunas palabras o frases (como "4U", "tarjeta de crédito",
"gratis" y "increíble") tienden a aparecer mucho en el asunto. Tal vez también notes algunos otros patrones en el nombre del
remitente, el cuerpo del correo electrónico, etc.

En segundo lugar...

Escribirías un algoritmo de detección para cada uno de los patrones que hayas observado, y tu programa marcaría los correos
electrónicos como spam si se detectan varios de estos patrones.
Página 29 de 70
En tercer lugar...

Probarías tu programa y repetirías los pasos 1 y 2 hasta que fuesen lo suficientemente buenos.

Como el problema no es trivial, su programa se convertirá probablemente en una larga lista de reglas complejas, muy difíciles
de mantener. Por el contrario, un filtro de spam basado en técnicas de Machine Learning aprende automáticamente qué
palabras y frases son buenos predictores de spam al detectar patrones de palabras inusualmente frecuentes en los ejemplos
de spam en comparación con los ejemplos de ham. El programa es mucho más corto, más fácil de mantener y probablemente
más preciso.

Además, si los spammers se dan cuenta de que todos sus correos que contienen "4U" están bloqueados, podrían empezar a
escribir "For U" en su lugar. Un filtro de spam que utilice técnicas de programación tradicionales tendría que actualizarse para
marcar los mensajes "For U ".

Por el contrario, un filtro de spam basado en técnicas de aprendizaje automático se da cuenta de que "For U " se ha vuelto
inusualmente frecuente en el spam marcado por los usuarios, y empieza a marcarlos sin que usted intervenga.

Otro ámbito en el que brilla el aprendizaje automático es el de los problemas que son demasiado complejos para los enfoques
tradicionales o que no tienen un algoritmo conocido.

Página 30 de 70
Por ejemplo, consideremos el reconocimiento del habla: supongamos que queremos empezar de forma sencilla y
escribir un programa capaz de distinguir las palabras "uno" y "dos". Puede que se dé cuenta de que la palabra "dos"
empieza con un sonido agudo (“D"), por lo que podría codificar un algoritmo que midiera la intensidad del sonido
agudo y lo utilizara para distinguir unos y dos.

Evidentemente, esta técnica no se adapta a miles de palabras pronunciadas por millones de personas muy diferentes en
entornos ruidosos y en decenas de idiomas. La mejor solución (al menos hoy en día) es escribir un algoritmo que aprenda por
sí mismo, dadas muchas grabaciones de ejemplo para cada palabra.
Por último, el machine learning puede ayudar a los humanos a aprender. Los algoritmos de ML pueden ser inspeccionados para
ver lo que han aprendido (aunque para algunos algoritmos esto puede ser difícil).

Por ejemplo, una vez que el filtro de spam ha sido entrenado con suficiente spam, se puede inspeccionar fácilmente
para revelar la lista de palabras y combinaciones de palabras que cree que son los mejores predictores de spam. A
veces, esto revela correlaciones insospechadas o nuevas tendencias, lo que permite comprender mejor el
problema. Esto se denomina Data Mining o minería de datos.

En resumen, el Machine Learning es ideal para:

Problemas para los que las soluciones existentes requieren mucho ajuste manual o largas listas de reglas: un algoritmo de
Machine Learning a menudo puede simplificar el código y rendir mejor.

Problemas complejos para los que no existe una buena solución utilizando un enfoque tradicional: las mejores técnicas de
aprendizaje automático pueden encontrar una solución.

Entornos fluctuantes: un sistema de aprendizaje automático puede adaptarse a los nuevos datos.

Obtener información sobre problemas complejos y grandes cantidades de datos.

Los primeros ordenadores personales, que se pusieron a disposición de los consumidores en la década de 1980, fueron
programados explícitamente para realizar ciertas acciones. En cambio, gracias al Machine Learning, muchos de los dispositivos
que veremos en el futuro adquieren experiencia y conocimientos a partir de la manera en la que son utilizados para poder
ofrecer una experiencia personalizada a los usuarios. Ejemplos de ello en la actualidad son la personalización de los sitios de
medios sociales como Facebook o los resultados del motor de búsqueda de Google.

El Machine Learning usa algoritmos para aprender de los patrones de datos. Como vimos, los filtros de spam de correo
electrónico, por ejemplo, usan este tipo de aprendizaje con el fin de detectar qué mensajes son correo basura y separarlos de
aquellos que no lo son. Este es un simple ejemplo de cómo los algoritmos pueden usarse para aprender patrones y utilizar el
conocimiento adquirido para tomar decisiones.

Comprender la historia de la IA y el Machine Learning

La IA se basa en la hipótesis de que es posible mecanizar el pensamiento. Durante el primer milenio, los filósofos griegos, indios
y chinos trabajaron en formas de realizar esta tarea. Ya en el siglo XVII, Gottfried Leibniz, Thomas Hobbes y René Descartes
discutieron la posibilidad de racionalizar todo el pensamiento como simples símbolos matemáticos. Por supuesto, la
complejidad del problema se les escapó. La cuestión es que la visión de la IA ha existido durante mucho tiempo, pero su
aplicación es relativamente nueva.

El verdadero nacimiento de la IA tal y como la conocemos hoy comenzó con la publicación de Alan Turing de "Computing
Machinery and Intelligence" en 1950. En este documento, Turing exploró la idea de cómo determinar si las máquinas pueden
pensar. Por supuesto, este trabajo dio lugar al Juego de la Imitación, en el que participan tres jugadores. El jugador A es un
Página 31 de 70
ordenador y el jugador B es un humano. Cada uno debe convencer al jugador C (un humano que no puede ver ni al jugador A
ni al B) de que son humanos. Si el jugador C no puede determinar quién es humano y quién no, el ordenador gana.

Un problema constante de la IA es el exceso de optimismo. El problema que los científicos intentan resolver con la IA es
increíblemente complejo. Sin embargo, el optimismo inicial de los años 50 y 60 llevó a los científicos a creer que el mundo
produciría máquinas inteligentes en tan solo 20 años. Después de todo, las máquinas hacían todo tipo de cosas sorprendentes,
como jugar a juegos complejos. Actualmente, la IA tiene su mayor éxito en áreas como la logística, la extracción de datos y el
diagnóstico médico.

El Machine Learning se basa en algoritmos para analizar enormes conjuntos de datos. Actualmente, el Machine Learning no
puede proporcionar el tipo de IA que presentan las películas.
Ni siquiera los mejores algoritmos pueden pensar, sentir, tener conciencia de sí mismos o ejercer el libre albedrío. Lo que sí
puede hacer el Machine Learning es realizar análisis predictivos mucho más rápido que cualquier humano.
El Machine Learning puede ayudar a los humanos a trabajar de forma más eficiente. El estado actual de la IA, por tanto, es el
de realizar análisis, pero los humanos deben seguir considerando las implicaciones de ese análisis, tomando las decisiones
morales y éticas necesarias.

La esencia del asunto es que el Machine Learning solo proporciona la parte de aprendizaje de la IA, y esa parte no está ni
mucho menos preparada para crear una IA del tipo que se ve en las películas. El principal punto de confusión entre el
aprendizaje y la inteligencia es que la gente asume que simplemente porque una máquina mejora en su trabajo (aprendizaje)
también es consciente (inteligencia). No hay nada que apoye esta visión del aprendizaje de las máquinas.

El mismo fenómeno se produce cuando la gente asume que un ordenador le causa problemas a propósito. El ordenador no
puede asignar emociones y, por lo tanto, solo actúa en función de la información proporcionada y de las instrucciones
contenidas en una aplicación para procesar dicha información.

Una verdadera IA se producirá cuando los ordenadores puedan finalmente emular la combinación inteligente utilizada por la
naturaleza:

Genética
Aprendizaje lento de una generación a otra.

Enseñanza
Aprendizaje rápido a partir de fuentes organizadas.

Exploración
Aprendizaje espontáneo a través de medios e interacciones con otros.

En la actualidad, la IA se basa en el aprendizaje automático, y éste es esencialmente diferente de la estadística. Sí, el machine
learning tiene una base estadística, pero hace algunas suposiciones diferentes a las de la estadística porque los objetivos son
distintos.

Los grandes conjuntos de datos requieren enormes cantidades de memoria. Por desgracia, los requisitos no acaban ahí.
Cuando se tienen grandes cantidades de datos y memoria, también hay que tener procesadores con múltiples núcleos y altas
velocidades.

Uno de los problemas que los científicos se esfuerzan por resolver es cómo utilizar el hardware existente de forma más
eficiente. En algunos casos, esperar días para obtener un resultado a un problema de machine learning simplemente no es
posible. Los científicos que quieren saber la respuesta la necesitan rápidamente, aunque el resultado no sea del todo correcto.
Teniendo esto en cuenta, las inversiones en mejor hardware también requieren inversiones en mejor ciencia.

Página 32 de 70
Como ocurre con muchas otras tecnologías, tanto la IA como el aprendizaje automático tienen sus usos de fantasía o de moda.
Por ejemplo, algunas personas utilizan el Machine Learning para crear arte similar al de
Picasso a partir de fotos.

La IA está entrando en una era de innovación sobre la que antes solo se leía en la ciencia ficción. Puede ser difícil determinar si
un uso concreto de la IA es real o simplemente el fruto de un sueño de un científico decidido.

The Six Million Dollar Man


Por ejemplo, The Six Million Dollar Man es una serie de televisión que en su momento parecía fantasiosa. Cuando se presentó,
nadie pensaba que en algún momento tendríamos biónicos en el mundo real. Sin embargo, Hugh Herrh tiene otras ideas: las
piernas biónicas ya son posibles. Por supuesto, todavía no están disponibles para todo el mundo; la tecnología sólo está
empezando a ser útil.

Para que los usos de moda de la IA y el aprendizaje automático se conviertan en usos del mundo real, los programadores, los
científicos de datos y otras personas deben seguir creando herramientas del mundo real que pueden ser difíciles de imaginar
en este momento.

El Machine Learning es solo una parte de lo que necesita un sistema para convertirse en una IA. La parte del Machine Learning
permite a una IA realizar estas tareas:

a. Adaptarse a nuevas circunstancias que el desarrollador original no había previsto.

b. Detectar patrones en todo tipo de fuentes de datos.

c. Crear nuevos comportamientos basados en los patrones reconocidos.

d. Tomar decisiones basadas en el éxito o el fracaso de estos comportamientos.

El uso de algoritmos para manipular los datos es la pieza central del machine learning: para tener éxito, una sesión de machine
learning debe utilizar un algoritmo adecuado para lograr el resultado deseado. Además, los datos deben prestarse a ser
analizados utilizando el algoritmo deseado, o requieren una cuidadosa preparación por parte de los científicos.

La IA abarca muchas otras disciplinas para simular con éxito el proceso de pensamiento. Además del machine learning, la IA
incluye normalmente:

Procesamiento del lenguaje natural

El acto de permitir la entrada de lenguaje y ponerlo en una forma que un ordenador pueda utilizar.

Comprensión del lenguaje natural

El acto de descifrar el lenguaje para actuar sobre el significado que proporciona.

Representación del conocimiento

La capacidad de almacenar información en una forma que permita un acceso rápido.

Página 33 de 70
Planificación (en forma de búsqueda de objetivos)

La capacidad de utilizar la información almacenada para sacar conclusiones casi en tiempo real (casi en el momento en que se
produce, pero con un ligero retraso, a veces tan corto que un humano no se da cuenta, pero el ordenador sí).

Robótica

La capacidad de actuar ante las peticiones de un usuario de alguna forma física.

A medida que los científicos siguen trabajando con una tecnología y convierten las hipótesis en teorías, la tecnología se
relaciona más con la ingeniería (donde se aplican las teorías) que con la ciencia (donde se crean las teorías). A medida que las
reglas que rigen una tecnología se hacen más claras, grupos de expertos trabajan juntos para definir esas reglas por escrito. El
resultado son las especificaciones (un conjunto de reglas con las que todos están de acuerdo).

Con el tiempo, las implementaciones de las especificaciones se convierten en normas que gestiona un organismo rector, como
el IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) o una combinación de la ISO/IEC (Organización Internacional de
Normalización/Comisión Electrotécnica Internacional). Tanto la IA como La base del Machine Learning son las matemáticas. Los
algoritmos determinan cómo interpretar los datos grandes de maneras específicas. Se descubre que los algoritmos procesan
los datos de entrada de maneras específicas y crean resultados predecibles basados en los patrones de los datos. Lo que no es
predecible son los propios datos.

La razón por la que se necesita la IA y el ML es para descifrar los datos de tal manera que se puedan ver los patrones en ellos y
darles sentido. La razón por la que la IA y el ML son ciencias y no disciplinas de ingeniería es que ambas requieren cierto nivel
de arte para lograr buenos resultados.

Por ejemplo, hay que tener en cuenta cómo se utilizan los datos. Algunos datos actúan como una línea de base que entrena a
un algoritmo para lograr resultados específicos. Los datos restantes proporcionan el resultado utilizado para comprender los
patrones subyacentes. No existen reglas específicas que rijan el equilibrio de los datos Los científicos que trabajan con los datos
deben descubrir si un equilibrio específico produce un resultado óptimo.
La limpieza de los datos también confiere cierta calidad artística al resultado. La forma en que un científico prepara los datos
para su uso es importante. Algunas tareas, como la eliminación de registros duplicados, se realizan con regularidad. Sin
embargo, un científico también puede optar por filtrar los datos de alguna manera o mirar sólo un subconjunto de los datos.
En consecuencia, el conjunto de datos depurados que utiliza un científico para las tareas de machine learning puede no coincidir
exactamente con el conjunto de datos depurados que utiliza otro.

También se pueden ajustar los algoritmos de determinadas maneras o perfeccionar su funcionamiento. De nuevo, la idea es
crear una salida que realmente exponga los patrones deseados para que pueda dar sentido a los datos. Por ejemplo, al ver una
imagen, un robot puede tener que determinar con qué elementos de la imagen puede interactuar y con cuáles no. La respuesta
a esta pregunta es importante si el robot debe evitar algunos elementos para mantenerse en el camino o para lograr objetivos
específicos.
Cuando se trabaja en un entorno de machine learning, también hay que tener en cuenta el problema de los datos de entrada.

Por ejemplo, el micrófono que se encuentra en un smartphone no producirá precisamente los mismos datos de
entrada que el micrófono de otro smartphone. Las características de los micrófonos difieren, pero el resultado de
la interpretación de las órdenes vocales proporcionadas por el usuario debe ser el mismo. Asimismo, el ruido
ambiental cambia la calidad de la entrada del comando vocal, y el smartphone puede experimentar ciertas formas
de interferencia electromagnética.

Está claro que las variables a las que se enfrenta un diseñador al crear un entorno de machine learning son grandes y complejas.

Página 34 de 70
El arte detrás de la ingeniería es una parte esencial del machine learning. La experiencia que adquiere un científico al trabajar
con problemas de datos es esencial porque le proporciona los medios para añadir valores que hacen que el algoritmo funcione
mejor.
Un algoritmo bien ajustado puede marcar la diferencia entre que un robot recorra con éxito un camino a través de los obstáculos
y que choque con cada uno de ellos.

Tipos de Machine Learning

Hay tantos tipos diferentes de sistemas de aprendizaje automático que es útil clasificarlos en amplias categorías en función de:

1.

Si se entrenan o no con supervisión humana (supervisados, no supervisados semisupervisados y de aprendizaje por refuerzo).

2.

Si pueden o no aprender de forma incremental sobre la marcha (aprendizaje en línea o por lotes).

3.
Si funcionan simplemente comparando nuevos puntos de datos con puntos de datos conocidos, o si detectan patrones en los
datos de entrenamiento y construyen un modelo predictivo, como hacen los científicos
(aprendizaje basado en instancias frente a aprendizaje basado en modelos).

Estos criterios no son excluyentes, puedes combinarlos como quieras. Por ejemplo, un filtro de spam de última generación
puede aprender sobre la marcha utilizando una red neuronal profunda de redes neuronales profundas entrenadas con ejemplos
de spam y de spam; esto lo convierte en un sistema de aprendizaje en línea basado en un modelo, basado en modelos y
supervisado.

En este cuadro podemos ver los tres subconjuntos del aprendizaje automático que pueden utilizarse: aprendizaje supervisado,
no supervisado y de refuerzo.

Tipos de aprendizaje automático Aprendizaje


supervisado Basado en tareas.
Aprendizaje no supervisadoBasado en datos.
Aprendizaje de refuerzo Aprende a reaccionar a su entorno.

Veamos con más detalle cada uno de estos tipos de aprendizaje. ¡Haz clic en siguiente para continuar!

A lo largo de este epígrafe intentaremos explicar la diferencia entre estas tres clases de aprendizaje automático. Imaginemos
que hay que organizar 10000 fotografías y los algoritmos tienen que identificar las fotos en las que aparece un gato.

1. Aprendizaje supervisado

En el aprendizaje supervisado, los algoritmos usan datos que ya han sido etiquetados u organizados previamente para indicar
cómo tendría que ser categorizada la nueva información. Con este método, se requiere la intervención humana para
proporcionar retroalimentación. Volviendo a nuestro ejemplo, enseñaríamos previamente al algoritmo fotos donde apareciera
un gato para que luego pudiera identificar imágenes similares.

Página 35 de 70
Despliega para saber más
Una tarea típica de aprendizaje supervisado es la clasificación. El filtro de spam es un buen ejemplo de ello: se entrena con
muchos correos electrónicos de ejemplo junto con su clase (spam o ham), y debe aprender a clasificar nuevos correos
electrónicos.

Otra tarea típica es predecir un valor numérico objetivo, como el precio de un coche, dado un conjunto de características
(kilometraje, edad, marca, etc.) llamados predictores. Este tipo de tarea se denomina regresión. Para entrenar el sistema, hay
que darle muchos ejemplos de coches, incluyendo sus predictores y sus etiquetas (es decir, sus precios).

2. Aprendizaje no supervisado

En el aprendizaje no supervisado, los algoritmos no usan ningún dato etiquetado u organizado previamente para indicar cómo
tendría que ser categorizada la nueva información, sino que tienen que encontrar la manera de clasificarlas ellos mismos.
Por tanto, este método no requiere la intervención humana. En el ejemplo, los algoritmos tendrían que clasificar ellos mismos
todas las fotos en las que apareciera un gato en una categoría.

Por ejemplo, supongamos que tiene muchos datos sobre los visitantes de su blog. Puede que quiera ejecutar un algoritmo de
clustering para intentar detectar grupos de visitantes similares. En ningún momento le dices al algoritmo a qué grupo pertenece
un visitante: él encuentra esas conexiones sin tu ayuda.

Por ejemplo
Supongamos que tiene muchos datos sobre los visitantes de su blog. Puede que quiera ejecutar un algoritmo de clustering para
intentar detectar grupos de visitantes similares. En ningún momento le dices al algoritmo a qué grupo pertenece un visitante:
él encuentra esas conexiones sin tu ayuda. Puede darse cuenta de que el 40 % de sus visitantes son hombres a los que les
gustan los cómics y suelen leer su blog por la noche, mientras que el 20 % son jóvenes amantes de la ciencia ficción que lo
visitan durante los fines de semana, etc. Si utiliza un algoritmo de agrupación jerárquica, también puede subdividir cada grupo
en otros más pequeños. Esto puede ayudarle a orientar sus publicaciones a cada grupo.

Página 36 de 70
Ejemplos de algoritmos de aprendizaje no supervisado

Algoritmos de visualización
Los algoritmos de visualización también son buenos ejemplos de algoritmos de aprendizaje no supervisado: se les alimenta
con una gran cantidad de datos complejos y sin etiquetar, y dan como resultado una representación en 2D o 3D de los datos
que se puede trazar fácilmente. Estos algoritmos intentan preservar toda la estructura que pueden (por ejemplo, tratando de
evitar que los clusters separados en el espacio de entrada se superpongan en la visualización), para que usted pueda entender
cómo están organizados los datos y quizás identificar patrones insospechados.

Una cuestión relacionada es la reducción de la dimensionalidad, en la que el objetivo es simplificar los datos sin
perder demasiada información. Una forma de hacerlo es fusionar varias características correlacionadas en una sola.
Por ejemplo, el kilometraje de un coche puede estar muy correlacionado con su edad, por lo que el algoritmo de
reducción de la dimensionalidad los fusionará en una sola característica que represente el desgaste del coche. Esto
se llama extracción de características. (Geron, 2020)

Detección de anomalías
Por ejemplo, la detección de transacciones inusuales con tarjetas de crédito para prevenir el fraude, la detección de defectos
de fabricación o la eliminación automática de valores atípicos de un conjunto de datos antes de alimentar otro algoritmo de
aprendizaje. Durante el entrenamiento, al sistema se le muestran la mayoría de los casos normales, por lo que aprende a
reconocerlos y, cuando ve un nuevo caso, puede decir si se parece a uno normal o si es probable que sea una anomalía.

Una tarea muy similar es la detección de novedades: la diferencia es que los algoritmos de detección de novedades esperan ver
solo datos normales durante el entrenamiento, mientras que los algoritmos de detección de anomalías suelen ser más
tolerantes, a menudo pueden funcionar bien incluso con un pequeño porcentaje de valores atípicos en el conjunto de
entrenamiento.

Página 37 de 70
Reglas de asociación
Otra tarea no supervisada habitual es el aprendizaje de reglas de asociación, en el que el objetivo es indagar una gran cantidad
de datos y descubrir relaciones interesantes entre atributos. Por ejemplo, supongamos que tenemos un supermercado. La
ejecución de una regla de asociación en sus registros de ventas puede revelar que las personas que compran salsa barbacoa y
patatas fritas también tienden a comprar filetes. Por lo tanto, es posible que quiera colocar estos artículos cerca unos de otros.

3. Aprendizaje por refuerzo

Con el aprendizaje por refuerzo, los algoritmos aprenden de la experiencia. En otras palabras, tenemos que darles “un refuerzo
positivo” cada vez que aciertan. La forma en que estos algoritmos aprenden se puede comparar con la de los perros cuando
les damos «recompensas» al aprender a sentarse, por ejemplo. El sistema de aprendizaje, llamado agente en este contexto,
puede observar el entorno, seleccionar y realizar acciones, y obtener recompensas a cambio o penalizaciones en forma de
recompensas negativas. A continuación, debe aprender por sí mismo cuál es la mejor estrategia, llamada política, para obtener
la mayor recompensa a lo largo del tiempo. Una política define qué acción debe elegir el agente cuando se encuentra en una
situación determinada.

Por ejemplo
Muchos robots implementan algoritmos de Aprendizaje por Refuerzo para aprender a caminar. El programa AlphaGo de

DeepMind también es un buen ejemplo de aprendizaje por refuerzo: fue noticia en mayo de 2017 cuando venció al campeón

mundial Ke Jie en el juego del Go. Aprendió su política ganadora analizando millones de partidas, y luego jugando muchas

partidas contra sí mismo. Ten en cuenta que el aprendizaje se desactivó durante las partidas contra el campeón; AlphaGo solo

aplicaba la política que había aprendido. (Geron, 2020) 4. Aprendizaje por lotes y en línea

Afortunadamente, todo el proceso de formación, evaluación y puesta en marcha de un sistema de Machine Learning puede
automatizarse con bastante facilidad, por lo que incluso un sistema de aprendizaje por lotes puede adaptarse a los cambios.
Basta con actualizar los datos y entrenar una nueva versión del sistema desde cero tantas veces como sea necesario.

Página 38 de 70
Esta solución es sencilla y suele funcionar bien, pero el entrenamiento con el conjunto completo de datos puede llevar muchas
horas, por lo que lo normal es entrenar un nuevo sistema solo cada 24 horas o incluso solo semanalmente. Si su sistema necesita
adaptarse a datos que cambian rápidamente (por ejemplo, para predecir los precios de las acciones), entonces necesita una
solución más reactiva.

Además, el entrenamiento sobre el conjunto completo de datos requiere muchos recursos informáticos (CPU, espacio de
memoria, espacio de disco, E/S de disco, E/S de red, etc.). Si tienes muchos datos y automatizas tu sistema para entrenar desde
cero cada día, acabará costándote mucho dinero.

Por último, si el sistema debe aprender de forma autónoma y dispone de recursos limitados (por ejemplo, una aplicación para
teléfonos inteligentes o un vehículo explorador en Marte), cargar con grandes cantidades de datos de entrenamiento y
consumir muchos recursos para entrenar cada día es un obstáculo.
En el aprendizaje online se entrena al sistema de forma incremental, alimentándolo con instancias de datos de forma
secuencial, ya sea individualmente o por pequeños grupos llamados minilotes. Cada paso de aprendizaje es rápido y barato,
por lo que el sistema puede aprender sobre los nuevos datos sobre la marcha, a medida que van llegando.

Este aprendizaje es idóneo para los sistemas que reciben datos en forma de flujo continuo (por ejemplo, los precios de las
acciones) y necesitan adaptarse a los cambios de forma rápida o autónoma.

También es una buena opción si tiene recursos informáticos limitados: una vez que un sistema de aprendizaje en línea ha
aprendido sobre nuevas instancias de datos, ya no las necesita, por lo que puede descartarlas (a no ser que quiera poder volver
a un estado anterior y "reproducir" los datos). Este puede ahorrar una gran cantidad de espacio.

Los algoritmos de aprendizaje en línea también pueden utilizarse para entrenar sistemas en conjuntos de datos enormes que
no caben en la memoria principal de una máquina (esto se llama aprendizaje fuera del núcleo).El algoritmo carga parte de los
datos, ejecuta un paso de entrenamiento en esos datos y repite el proceso hasta que se haya ejecutado en todos los datos. Un
parámetro importante de los sistemas de aprendizaje online es la rapidez con la que deben adaptarse a los datos cambiantes:
esto se llama tasa de aprendizaje. Si se establece una tasa de aprendizaje alta, el sistema se adaptará rápidamente a los nuevos
datos, pero también tenderá a olvidar rápidamente los datos antiguos (no se quiere que un filtro de spam marque solo los
últimos tipos de spam que se le han mostrado). (Geron, 2020)

Uno de los grandes retos del aprendizaje online es que, si se introducen datos erróneos en el sistema, su rendimiento disminuirá
gradualmente. Si hablamos de un sistema en vivo, los clientes lo notarán.

Por ejemplo, los datos erróneos pueden provenir de un sensor que funciona mal en un robot, o de alguien que hace spam en
un motor de búsqueda para tratar de posicionarse en los resultados de búsqueda.
Para reducir este riesgo, debe supervisar su sistema de cerca y desactivar rápidamente el aprendizaje (y posiblemente
revertirlo) si detecta un rendimiento. También debe supervisar los datos de entrada y reaccionar ante datos anormales (por
ejemplo, utilizando un algoritmo de detección de anomalías).
Otra forma de clasificar los sistemas de machine learning es por la forma en que generalizan. La mayoría de las tareas de
Machine Learning consisten en hacer predicciones. Esto significa que, dado un número de ejemplos de entrenamiento, el
sistema tiene que ser capaz de generalizar a ejemplos que nunca ha visto antes. Tener una buena medida de rendimiento en
los datos de entrenamiento es bueno, pero insuficiente; el verdadero objetivo es tener un buen rendimiento en las nuevas
instancias.

Hay dos enfoques principales para la generalización: el aprendizaje basado en instancias y el aprendizaje basado en modelos.

1. Aprendizaje basado en instancias


Posiblemente, la forma más trivial de aprendizaje sea simplemente aprender de memoria. Si se creara un filtro de spam de esta
manera, se marcarían todos los correos electrónicos idénticos a los que ya han sido marcados por los usuarios, lo que no es la
peor solución, pero tampoco la mejor. En lugar de marcar solo los correos electrónicos idénticos a los conocidos, el filtro de
spam podría programarse para marcar también los correos electrónicos muy similares a los conocidos.

Página 39 de 70
Esto requiere una medida de similitud entre dos correos electrónicos. Una medida de similitud (muy básica) entre dos correos
electrónicos podría consistir en contar el número de palabras que tienen en común. El sistema marcaría un correo electrónico
como spam si tiene muchas palabras en común con un correo electrónico conocido como spam.

Esto se denomina aprendizaje basado en incidencias: el sistema aprende los ejemplos de memoria, y luego generaliza a los
nuevos casos comparándolos con los ejemplos aprendidos (o con un subconjunto de ellos), utilizando una medida de similitud.

2. Aprendizaje basado en modelos


Otra forma de generalizar a partir de un conjunto de ejemplos es construir un modelo de estos ejemplos, y luego utilizar ese
modelo para hacer predicciones.

En las décadas de 1960 y 1970 el aprendizaje automático se limitaba casi exclusivamente al uso de redes neuronales artificiales
para aprender la clasificación de datos y no ocupaba un lugar central en la investigación de la IA. Sin embargo, a partir de los
años 80, comenzaron a surgir nuevos métodos de aprendizaje, lo que lo convirtieron en una de las áreas más activas de la IA.

Posiblemente el método de aprendizaje más conocido a partir de la década de los ochenta es el aprendizaje inductivo del árbol
de decisión. La mayoría de los métodos de aprendizaje automático extraen conclusiones de los datos. Dichas inferencias son
inductivas, contrariamente a las inferencias deductivas típicas de la lógica matemática. (López de Mántaras Badia & Meseguer
González, 2017)

Página 40 de 70
Inferencias deductivas
La diferencia es que las inferencias deductivas son consecuencias lógicas de un conjunto de premisas y, por tanto, son
conclusiones infalibles, mientras que las inferencias inductivas son solo hipótesis susceptibles de ser falseadas según datos
adicionales.

Un buen ejemplo es que, si un conjunto grande de datos de aves solo contiene información sobre aves blancas, entonces la
hipótesis a la que llegaría un algoritmo de aprendizaje inductivo es que todas las aves son blancas. Si más adelante se
proporcionan datos adicionales que contienen información sobre aves negras, entonces la hipótesis anterior queda falseada.

La construcción automática de árboles de decisión es sin duda el método de aprendizaje más conocido y aplicado. Un árbol de
decisiones consiste en una secuencia de decisiones que determinan una categoría o asignan valores numéricos a un atributo
objetivo en función de valores numéricos o categorías conocidas de otros atributos. Por ejemplo, el árbol de decisión de la
siguiente figura es útil para decidir entre tres posibles niveles de descuento a aplicar según los atributos forma de pago (con
dos posibles valores) y monto (tres posibles valores).

Explicación
El primer atributo, “forma de pago”, divide los datos en dos clases: una para aquellos casos en que el pago es al contado y otra
para pago aplazado. En este último caso ya no se requiere volver a particionar el conjunto de datos, puesto que, en todos ellos,
la decisión es pagar el monto total, es decir, “sin descuento”.

Sin embargo, en el otro caso todavía se requiere otra interacción con base en el atributo “monto” para determinar el descuento
aplicable mediante una nueva partición de los datos restantes de acuerdo a los tres valores posibles del atributo. El proceso
termina aquí, ya que estos dos atributos son suficientes para determinar si se debe o no aplicar un descuento y, en caso positivo,
de cuánto debe ser dicho descuento. ID3 decide el orden de aparición de los atributos en el árbol (en el ejemplo, primero la
forma de pago y después el monto) mediante el cálculo de cuál de los atributos discrimina mejor los datos.
Esta medida de discriminación se llama ganancia de información y se basa en la teoría de la información de
Shannon. (López de Mántaras Badia & Meseguer González, 2017)

Responde la siguiente pregunta.


¿Qué es un árbol de decisiones?
Un árbol de decisiones consiste en una secuencia de decisiones que determinan una categoría o asignan valores numéricos a
un atributo objetivo en función de valores numéricos o categorías conocidas de otros atributos.

Página 41 de 70
Visión por ordenador

Vision por ordenador

Los seres humanos y otros animales adquirimos una gran cantidad de información mediante nuestra capacidad visual. El
objetivo de la visión por ordenador es dotar de esta capacidad a las máquinas. Durante los años sesenta, la motivación principal
para desarrollar sistemas de visión era poder proporcionar información para guiar brazos robóticos. Es lo que se conocía por
hand-eye research.

A lo largo de más de una década, una serie de estudiantes del MIT desarrollaron sus tesis doctorales alrededor de lo que se
conoce como el mundo de los bloques, consistente en escenas que contenían simples objetos geométricos tridimensionales
similares a los ya mencionados anteriormente. Los primeros algoritmos que se desarrollaron encontraban los bordes de los
objetos mediante buscadores de líneas. Con base en estas líneas, otros algoritmos identificaban los distintos objetos presentes
en la imagen y, una vez identificados, un brazo robótico ejecutaba un plan que consistía en montar y desmontar estructuras
según dichos objetos (por ejemplo, agarrar una pirámide y colocarla encima de un cubo).

La secuencia de acciones y movimientos necesarios para ejecutar el plan se planificaban mediante algoritmos de planificación.
En 1972, Winston utilizó el mundo de los bloques para desarrollar algoritmos con el fin La modificación de la estructura de
una máquina para mejorar su rendimiento y eficiencia generalmente se considera una forma de aprendizaje. Sin embargo, a
medida que nos sumergimos en el campo del aprendizaje automático, solo se aceptan ciertos cambios como aprendizaje.

Por ejemplo:
Supongamos que una máquina debe predecir si el Manchester United ganará un partido o no. Puede proporcionar
a la máquina información histórica del equipo e información sobre los jugadores. Según la información que tiene
sobre el equipo y su competidor, la máquina puede predecir quién será el ganador. Esta instancia es una forma de
aprendizaje automático.

El aprendizaje automático es un concepto que solo se puede aplicar a máquinas con inteligencia artificial. Las máquinas
asociadas con la inteligencia artificial a menudo se encargan del diagnóstico, la predicción y el reconocimiento.

Estas máquinas a menudo aprenden de los datos que se les proporcionan. Los datos conocidos como datos de entrenamiento
pueden ser datos de muestra o datos históricos que ayudan a entrenar el sistema.

Estas máquinas aprenden a analizar patrones en los datos y utilizan esos patrones para derivar sus análisis. Se utilizan
diferentes mecanismos de aprendizaje para entrenar máquinas. Entre estos mecanismos, los más utilizados son el aprendizaje
supervisado y el aprendizaje no supervisado. (Dark, 2019)

Los escépticos del aprendizaje automático a menudo se preguntan por qué las máquinas deberían aprender. Creen que las
máquinas solo deben construirse para “realizar ciertas tareas; sin embargo, hay muchas razones por las que el aprendizaje
automático es esencial. Uno de los mayores beneficios es que se puede aprender más sobre el aprendizaje humano a través
del aprendizaje automático. El aprendizaje automático también ayuda a mejorar la eficiencia y la precisión de las
máquinas.Algunas otras razones son:

En primer lugar

Un ingeniero o desarrollador no puede definir ciertas tareas independientemente del esfuerzo que realice; por lo tanto, estas
tareas deben explicarse a la máquina mediante ejemplos. La idea es tomar algunos datos de entrenamiento como entrada y
enseñarle a la máquina cómo puede obtener la salida. La máquina aprenderá a manejar y darle respuesta a las entradas
similares en el futuro.

En segundo lugar

Página 42 de 70
El aprendizaje automático y la ciencia de datos están estrechamente vinculadas. La ciencia de datos es un sistema que analiza
grandes cantidades de datos y crea relaciones entre variables; así, a través del aprendizaje automático, se puede extraer
información importante.

En tercer lugar

Hay ocasiones en que las personas diseñan máquinas sin anticipar las condiciones en las que se espera que funcionen. Por lo
tanto, el aprendizaje automático puede ayudar a las máquinas a adaptarse a su entorno sin comprometer su rendimiento.
Puede haber momentos en que las máquinas puedan adaptarse a los cambios en su entorno para mejorar su rendimiento.
(Dark, 2019)

En cuarto lugar

Cuando las personas desarrollan una máquina, la programan de manera que ayuda a la máquina a lograr una tarea específica;
sin embargo, estos programas pueden ser elaborados y el programador puede olvidar incluir todos los detalles. Por lo tanto, es
mejor dejar que la máquina aprenda sus procesos.

En quinto lugar

La tecnología está en constante cambio, y se están desarrollando múltiples lenguajes de programación para atender ese cambio.
Es imposible rediseñar los sistemas para adaptarse a cada cambio. Es mejor utilizar métodos de aprendizaje automático para
que las propias máquinas se adapten y aprendan a adaptarse a los cambios. (Dark, 2019)

Ventajas y desventajas del Machine Learning

Ventajas del Machine Learning

El aprendizaje automático se utiliza en numerosas aplicaciones en los sectores bancario y financiero, minorista, salud y muchas
otras industrias. Facebook y Google lo usan para mostrar anuncios basados en el comportamiento pasado del usuario.

A través del aprendizaje automático, uno puede manejar múltiples dimensiones de datos y múltiples dimensiones en entornos
inciertos o dinámicos. Este proceso permite reducir el tiempo del ciclo y hace
hincapié en el uso eficiente de los recursos. (Dark, 2019)

El aprendizaje automático ha ayudado a desarrollar herramientas que proporcionan una mejora continua de la calidad en
entornos de procesos pequeños y grandes.

En la empresa, el aprendizaje automático se usa para tomar mejores decisiones de negocio a través de la
identificación de patrones entre los datos para enfocar el análisis y así mejorar los KPI. (Humet, 2020)

Además, ayuda a mejorar la atención al cliente automatizando procesos para lograr ser más eficientes y mejorar la experiencia
de usuarios (UX). Optimiza el ecommerce ya que extrae grandes cantidades de datos y patrones de compra de los clientes, así
podemos definir las predicciones de consumo y tomarlos para decidir el mejor momento para subir o bajar precios dependiendo
de la demanda.

Asimismo, fortalece la ciberseguridad con el uso de algoritmos inteligentes, incorpora patrones de comportamiento a sus
sistemas que son capaces de predecir ataques o identificar posibles infracciones.

Página 43 de 70
Impulsa el Marketing y la Comunicación Digital porque agiliza el negocio con la automatización de campañas de marketing y
comunicación con los clientes.

Página 44 de 70
En la siguiente infografía verás las ventajas del machine learning:

Fuente: Iberdrola

Desventajas del machine learning

En primer lugar

El uso de la Inteligencia Artificial también supone inconvenientes. Es difícil adquirir datos para entrenar la máquina. También
es importante procesar los datos según el algoritmo que se utilizará. Puede haber un impacto significativo en los resultados
que deben obtenerse. (Dark, 2019)

En segundo lugar

Página 45 de 70
También es difícil interpretar los resultados con precisión para determinar la efectividad del algoritmo de aprendizaje
automático. Se deben probar diferentes técnicas de aprendizaje automático antes de usar un algoritmo para realizar una acción
específica. Al basar su aprendizaje y comportamiento en datos informáticos sus respuestas pueden no adaptarse a las
necesidades reales. (Universidad de Alcalá, 2018) (Dark,2019)

En tercer lugar

Se está investigando la tecnología que supera el aprendizaje automático; por lo tanto, será necesario cambiar las máquinas
para permitir el cambio en la tecnología. Además, se llegará a la sustitución del trabajo humano por la de las máquinas, lo que
llevará al desempleo de personas y pérdida de la creatividad.

Página 46 de 70
Fundamentos del Machine Learning

Así como la propia inteligencia artificial, el aprendizaje automático, al estar dentro de la IA, también es un proceso que utiliza
conceptos de diferentes disciplinas. Cada uno de estos temas ayuda a los programadores a desarrollar un nuevo método que
se puede usar en el aprendizaje automático. Todos estos conceptos juntos forman la disciplina del aprendizaje automático. Esta
sección cubre algunos de los temas y lenguajes utilizados en el aprendizaje automático. (Dark, 2019)

Estadística
Uno de los problemas comunes que se tratan en estadística es probar una hipótesis y luego determinar una distribución de
probabilidad para un conjunto de datos específicos. Esto permite al estadístico predecir los parámetros para un conjunto de
datos desconocido. La prueba de hipótesis es uno de los muchos conceptos de estadística que se utilizan en el aprendizaje
automático.

Otro concepto estadístico utilizado es predecir el valor de una función utilizando valores de muestra de esta. Las soluciones a
estos problemas son ejemplos de aprendizaje automático, ya que los problemas en cuestión utilizan datos históricos o pasados
para predecir eventos futuros. Como hemos dicho, la estadística es una gran parte del machine learning.

Modelado cerebral
Las redes neuronales están interrelacionadas con el machine learning. Los científicos han sugerido que se pueden usar
elementos no lineales con entradas ponderadas para crear una red neuronal. Se están realizando amplios estudios para
evaluar estos elementos no lineales. Los científicos y los psicólogos están tratando de reunir más información sobre la mente
humana a través de estas redes neuronales. El conexionismo, el procesamiento sub-simbólico y el cálculo del estilo cerebral
son algunas esferas asociadas con este tipo de estudios.

Teoría del control adaptativo


La teoría del control adaptativo es una disciplina asociada al control de los sistemas. Como el sistema difícilmente puede
adaptarse al cambio del entorno circundante. La teoría del control adaptativo es parte de esta disciplina que se ocupa de los
métodos que ayudan a los sistemas a adaptarse a dichos cambios y mantener un rendimiento óptimo. La idea es que los
sistemas deberían anticiparse a los cambios y modificarse a sí mismos en consecuencia.

Modelado psicológico
Los psicólogos han tratado de entender el aprendizaje humano durante años. La red EPAM (Perceptor y Memorizador
Elemental) es un método que se utiliza a menudo para comprender el aprendizaje humano. Esta red es utilizada para almacenar
y recuperar palabras de una base de datos cuando a la máquina se le proporciona una función.

El concepto de redes semánticas y árboles de decisión se introdujo más tarde. En los últimos tiempos, la investigación en
psicología está influenciada por la inteligencia artificial. El aprendizaje por refuerzo, otro aspecto de la psicología, se ha
estudiado ampliamente recientemente y este concepto también se utiliza en el machine learning.

Inteligencia artificial
Como se mencionó anteriormente, una gran parte del machine learning trata el tema de la inteligencia artificial. La investigación
en inteligencia artificial se ha centrado en el uso de la analogía con fines de aprendizaje, y en cómo las experiencias pasadas
pueden ayudar a predecir y adaptarse a eventos futuros.

En los últimos años, la investigación se ha centrado en diseñar de reglas para sistemas “que utilizan los conceptos de
programación de lógica inductiva y métodos de árbol de decisión”.

Modelos evolutivos

Página 47 de 70
Una teoría evolutiva popular es que los animales no solo disfrutan aprendiendo más en la vida, sino que también aprenden a
adaptarse mejor a su entorno para mejorar su desempeño. Por ejemplo, los primeros humanos comenzaron a usar arcos y
flechas para protegerse de los depredadores más rápidos y fuertes.

Para las máquinas, los conceptos de aprendizaje y evolución pueden ser sinónimos. Por lo tanto, los modelos utilizados para
explicar la evolución se pueden utilizar para diseñar técnicas de machine learning. La técnica más importante que se ha
desarrollado utilizando modelos evolutivos son los algoritmos genéticos.

Lenguajes de programación

R es un lenguaje de programación, creado en 1990, que se estima que tiene casi de 2 millones de usuarios. En general, se cree
que R no es solo es un lenguaje de programación para el análisis estadístico, sino que también se puede usar para diferentes
funciones. R es un lenguaje de programación que no es solo una herramienta que no se limita a la estadística.

Es posible que ahora se entienda que R es un lenguaje que puede usarse para muchos propósitos, especialmente por los
científicos de datos para analizar y predecir información a través de los datos. La idea detrás de desarrollar R fue facilitar el
análisis estadístico, sin embargo se emplea en diversos campos.

De hecho, se han venido desarrollando muchos paquetes en R que permiten realizar funciones como el procesamiento de datos,
las visualizaciones gráficas y demás análisis. R es un lenguaje de programación utilizado actualmente en finanzas, genética,
procesamiento del lenguaje, biología e investigación de mercado.
Python es un lenguaje de programación que encierra varios paradigmas. Este lenguaje admite la programación estructurada, la
programación orientada a objetos, la programación funcional y otros tipos de programación. Python es el segundo mejor
lenguaje de programación del mundo porque puede ser usado para escribir programas en todas las industrias y se puede usar
para la extracción de datos y la creación de sitios web.

Su creador, Guido Van Possum, nombró le otorgó este nombre en honor a Monty Python, de hecho es posible encontrar algunos
bocetoos de Monty Python en el código o en la documentación.

Python se caracteriza por su simplicidad y legibilidad. Como Python puede extenderse para funcionar mejor para diferentes
programas, los científicos de datos han comenzado a utilizarlo para analizar datos. Aprender a codificar en Python tiene sus
ventajas, pues ayuda a analizar e interpretar los datos e identificar las soluciones que funcionarán mejor para los negocios.

Aplicaciones y usos del Machine Learning

El aprendizaje automático ahora es una solución para completar tareas manuales que son imposibles de completar en un corto
período de tiempo para la gran cantidad de datos que se tienen.

En esta década, estamos superados con datos e información y no tenemos una forma manual de procesar esta información,
allanando el camino para que los procesos y las máquinas automatizadas hagan ese trabajo por nosotros.

Se puede derivar información útil cuando el proceso de análisis y descubrimiento se automatiza. Esto nos ayudará a conducir
nuestras acciones futuras en un proceso automatizado. Por lo tanto, hemos llegado al mundo del big data, análisis de negocios
y ciencia de datos. El análisis predictivo y la inteligencia empresarial ya no son solo para la élite, sino también para las empresas
y las pequeñas empresas. Esto ha creado oportunidades para que estas pequeñas empresas participen en el proceso de
recopilación y uso de la información de manera efectiva.

Aplicaciones técnicas del Machine Learning

Veamos ahora algunas aplicaciones técnicas del machine learning y veamos cómo se pueden aplicar estos usos a problemas del
mundo real.

Página 48 de 70
Estimación de densidad
Este uso del aprendizaje automático permite que el sistema utilice los datos proporcionados para crear un producto similar.
Por ejemplo, si tomas la novela Guerra y Paz del estante de una librería y la ejecutas en una máquina, puedes dejar que la
máquina determine la densidad de las palabras en el libro y que proporcione un trabajo que sea exactamente como la Guerra
y la Paz.

Variables latentes
Cuando trabaja con variables latentes, la máquina utiliza la agrupación en clústeres para determinar si las variables están
relacionadas entre sí. Esta es una herramienta útil cuando no sabe qué está causando el cambio en diferentes variables y cuando
no conoce la relación entre las variables. Además, cuando el conjunto de datos es grande, es mejor buscar variables latentes,
ya que eso ayuda a comprender los datos obtenidos. Un clúster es un conjunto de ordenadores poco o muy conectados que
trabajan juntos como un recurso
informático unificado que puede crear la ilusión de ser una sola máquina. (Acervo Lima, 2021)

Reducción de la dimensionalidad
Normalmente, los datos resultantes incluyen variables y dimensiones. Si hay más de tres dimensiones, la mente humana no
puede visualizar los datos. En estos casos, el aprendizaje automático puede ayudar a reducir los datos en un número de
dimensiones manejables para que sea más fácil para los usuarios comprender relaciones entre variables.

Visualización
Hay ocasiones en los que los usuarios quieren visualizar las relaciones que existen entre las variables u obtener un resumen de
los datos de forma visual. El aprendizaje automático ayuda en estos dos procesos al resumir los datos para los usuarios
mediante el uso de parámetros especificados o no especificados.

¿De qué concepto se habla?


Es un conjunto de ordenadores poco o muy conectados que trabajan juntos como un recurso informático unificado que puede
crear la ilusión de ser una sola máquina.
Clúster

Es una solución para completar tareas manuales que son imposibles de completar en un corto período de tiempo para la gran
cantidad de datos que se tienen. Aprendizaje automático o machine learning

¿En qué ámbitos se puede aplicar el machine learning?

Atención de salud
Los médicos y especialistas ahora pueden predecir con gran precisión cuánto tiempo vivirá un paciente que padece
enfermedades terminales. Los sistemas de salud son diseñados para aprender de los datos de entrenamiento. Estas máquinas
también ayudan a los pacientes a ahorrar dinero al evitar pruebas innecesarias. Los algoritmos de aprendizaje automático ahora
pueden realizar las funciones de un radiólogo. Se cree que el machine learning, cuando se usa para tomar decisiones médicas,
se puede ahorrar hasta $ 100 mil millones, que luego se pueden utilizar para crear nuevas herramientas para aseguradoras,
pacientes y médicos.

Fabricación y descubrimiento de fármacos


Descubrir y producir un nuevo medicamento es un proceso largo y costoso, ya que es necesario probar cientos y miles de
compuestos. Es posible que solo uno de los muchos medicamentos probados pueda usarse como medicamento. Se pueden
utilizar varios algoritmos de aprendizaje automático pueden utilizarse para mejorar el proceso.

Página 49 de 70
Medicamentos o tratamientos personalizados
Cuando tenemos malestar estomacal o dolor de cabeza, entramos al consultorio de nuestro médico y le contamos nuestros
síntomas. El médico ingresa estos síntomas en el ordenador y los reduce a una posible causa. El sistema también puede
proporcionar al médico las últimas investigaciones sobre lo que necesita saber sobre el problema. El ordenador utilizará sus
registros de salud e historial médico familiar; lo comparará con los últimos resultados y aconsejará un tratamiento adecuado.

El machine learning ayuda a que el tratamiento y la medicación sean más personales. El tratamiento personalizado crecerá en
el futuro, y el aprendizaje automático jugará un papel vital para encontrar qué genes o marcadores genéticos son responsables
de las enfermedades y cuáles responderán al tratamiento.

Finanzas
Más del 90 % de las principales instituciones y organizaciones financieras del mundo utilizan el machine learning y el análisis de
datos avanzados. Utilizando el machine learning, los bancos han desarrollado la capacidad de proporcionar servicios
personalizados a los clientes con un mejor cumplimiento y costos más bajos. También son capaces de generar mayores
ingresos.

El machine learning también permite detectar el fraude en las operaciones bancarias que se realizan a través de internet sin el
consentimiento de la persona propietaria de la tarjeta bancaria. Lo mejor es utilizar el machine learning, ya que puede analizar
grandes volúmenes de datos de transacciones y detectar o identificar cualquier comportamiento inusual. Una transacción
realizada por un cliente suele analizarse en tiempo real y se asigna una puntuación a esta transacción para mostrar cuán
fraudulenta es. Si la puntuación es superior de un umbral, la máquina marcará la transacción.

Principales retos del aprendizaje automático

En resumen, dado que su principal tarea es seleccionar un algoritmo de aprendizaje y entrenarlo con algunos datos, las dos
cosas que pueden salir mal son "un mal algoritmo" y "unos malos datos". Empecemos con ejemplos de datos malos.

1. Cantidad insuficiente de datos de entrenamiento


Para que un niño pequeño aprenda lo que es una manzana, basta con que usted señale una manzana y diga "manzana"
(posiblemente repitiendo este procedimiento unas cuantas veces). Ahora el niño es capaz de reconocer manzanas de todo tipo
de colores y formas.

El Machine Learning aún no ha llegado a este punto. Se necesitan muchos datos para que la mayoría de los algoritmos de
machine learning funcionen correctamente. Incluso para problemas muy sencillos se necesitan miles de ejemplos, y para
problemas complejos como el reconocimiento de imágenes o del habla se necesitan millones de ejemplos (a menos que se
puedan reutilizar partes de un modelo existente).

¡Haz clic en siguiente para ver más retos a los que debe hacer frente el aprendizaje automático!

2. Datos de entrenamiento no representativos

Para generalizar bien, es crucial que sus datos de entrenamiento sean representativos de los nuevos casos a los que quiere
generalizar. Esto es así tanto si se utiliza el aprendizaje basado en instancias como el basado en modelos. Si se entrena un
modelo lineal con estos datos, se obtiene la línea sólida, mientras que el modelo antiguo está representado por la línea de
puntos.

Es crucial utilizar un conjunto de entrenamiento que sea representativo de los casos a los que se quiere generalizar. Esto suele
ser más difícil de lo que parece: si la muestra es demasiado pequeña, habrá ruido de muestreo (es decir, datos no
representativos como resultado del azar). Muestras muy grandes pueden ser no representativas si el método de muestreo es
defectuoso. Esto se denomina sesgo de muestreo.

3. Datos de baja calidad


Página 50 de 70
Obviamente, si los datos de entrenamiento están llenos de errores, valores atípicos y ruido (por ejemplo, debido a mediciones
de baja calidad), el sistema tendrá más dificultades para detectar los patrones subyacentes, por lo que es menos probable que
el sistema funcione bien.

A menudo merece la pena dedicar tiempo a limpiar los datos de entrenamiento. La verdad es que la mayoría de los científicos
de datos dedican una parte importante de su tiempo a hacer eso.

Por ejemplo
• Si algunas instancias son claramente atípicas, puede ser útil descartarlas o intentar corregir los errores manualmente.

• Si a algunas instancias les faltan algunas características (por ejemplo, el 5% de sus clientes no especificaron su edad), debe
decidir si quiere ignorar este atributo por completo, ignorar estas instancias, rellenar los valores que faltan (por ejemplo,
con la mediana de la edad), o entrenar un modelo con la característica y otro sin ella, y así sucesivamente.

4. Características irrelevantes

Como dice el refrán: basura que entra, basura que sale. Su sistema solo será capaz de aprender si los datos de entrenamiento
contienen suficientes características relevantes y no demasiadas irrelevantes. Una parte fundamental del éxito de un proyecto
de aprendizaje automático es encontrar un buen conjunto de características para entrenar. Este proceso, llamado ingeniería
de características, implica:

Selección de características
Seleccionar las características más útiles para entrenar entre las existentes.

Extracción de características
Combinar las características existentes para producir una más útil (como hemos visto antes, los algoritmos de reducción de la
dimensionalidad pueden ayudar).

Creación de nuevas características


Creación de nuevas características mediante la recopilación de nuevos datos.

Ahora que hemos visto muchos ejemplos de datos malos, veamos un par de ejemplos de algoritmos malos.

Sobreajuste de los datos de entrenamiento


Supongamos que está de visita en un país extranjero y el taxista le roba. Podrías intentar decir que todos los taxistas de ese país
son ladrones. Los humanos generalizamos demasiado a menudo y, por desgracia, las máquinas pueden caer en la misma trampa
si no tenemos cuidado. En el machine learning, esto se denomina sobreajuste: significa que el modelo funciona bien con los
datos de entrenamiento, pero no se generaliza bien.

Ajuste insuficiente de los datos de entrenamiento


Como se puede adivinar, el infraajuste es lo contrario del sobreajuste: se produce cuando el modelo es demasiado simple para
aprender la estructura subyacente de los datos. Por ejemplo, un modelo lineal de satisfacción con la vida es propenso al
infraajuste; la realidad es simplemente más compleja que el modelo, por lo que sus predicciones serán inexactas, incluso en los
ejemplos de entrenamiento.

Las principales opciones para solucionar este problema son las siguientes:

Página 51 de 70
• Seleccionar un modelo más potente, con más parámetros.

• Introducir mejores características en el algoritmo de aprendizaje (ingeniería de características).

• Reducir las restricciones del modelo (por ejemplo, reducir el hiperparámetro de regularización).

Prueba y validación

La única forma de saber si un modelo se generaliza a nuevos casos es probarlo con ellos. Una forma de hacerlo es poner el
modelo en producción y controlar su rendimiento. Esto funciona bien, pero si el modelo es terriblemente malo, los usuarios se
quejarán, lo que no es la mejor idea.

El conjunto de entrenamiento y el conjunto de prueba


Una mejor opción es dividir los datos en dos conjuntos: el conjunto de entrenamiento y el conjunto de prueba. Como estos
nombres implican, el modelo se entrena con el conjunto de entrenamiento y se prueba con el conjunto de prueba. La tasa de
error en los nuevos casos se denomina error de generalización (o error fuera de la muestra), y al evaluar el modelo en el
conjunto de prueba, se obtiene una estimación de este error. Este valor le indica el rendimiento de su modelo en casos que
nunca ha visto antes. (Geron, 2020)

Si el error de entrenamiento es bajo (es decir, su modelo comete pocos errores en el conjunto de entrenamiento), pero el error
de generalización es alto, significa que su modelo se está ajustando en exceso a los datos de entrenamiento.
Es habitual utilizar el 80 % de los datos para el entrenamiento y retener el 20 % para las pruebas. Sin embargo, esto depende
del tamaño del conjunto de datos: si contiene 10 millones de instancias, retener el 1 % significa que el conjunto de pruebas
contendrá 100.000 instancias: probablemente sea más que suficiente para obtener una buena estimación del error de
generalización.

• Ajuste de hiperparámetros y selección de modelos

Evaluar un modelo es bastante sencillo: basta con utilizar un conjunto de pruebas. Supongamos ahora que está dudando entre
dos modelos (por ejemplo, un modelo lineal y un modelo polinómico): ¿cómo puede decidir? Una opción es entrenar a ambos
y comparar su grado de generalización utilizando el conjunto de pruebas.

Modelo lineal
Supongamos ahora que el modelo lineal generaliza mejor, pero queremos aplicar alguna regularización para evitar el
sobreajuste. La pregunta es: ¿cómo elegir el valor del hiperparámetro de regularización?

Una opción es entrenar 100 modelos diferentes utilizando 100 valores distintos para este hiperparámetro. Supongamos que
encontramos el mejor valor de hiperparámetro que produce un modelo con el menor error de generalización, digamos que
sólo un 5% de error. Entonces se pone en marcha este modelo, pero desgraciadamente no funciona tan bien como se esperaba
y produce un 15 % de errores.

El problema es que ha medido el error de generalización varias veces en el conjunto de pruebas y ha adaptado el modelo y los
hiperparámetros para producir el mejor modelo para ese conjunto concreto. Esto significa que es poco probable que el modelo
funcione tan bien con los nuevos datos.

Validación por retención


Una solución común a este problema es la llamada validación por retención: simplemente se retiene una parte del conjunto
de entrenamiento para evaluar varios modelos candidatos y se selecciona el mejor. Más concretamente, se entrenan múltiples
modelos con varios hiperparámetros en el conjunto de entrenamiento reducido (es decir, el conjunto de entrenamiento
completo menos el conjunto de validación), y se selecciona el modelo que mejor funciona en el conjunto de validación.

Página 52 de 70
Evaluación del modelo final
Después de este proceso de validación, se entrena el mejor modelo en el conjunto de entrenamiento completo (incluyendo el
conjunto de validación) y se obtiene el modelo final. Por último, se evalúa este modelo final en el conjunto de pruebas para
obtener una estimación del error de generalización. Esta solución suele funcionar bastante bien. Sin embargo, si el conjunto de
validación es demasiado pequeño, las evaluaciones del modelo serán imprecisas: puede acabar seleccionando un modelo
subóptimo por error.

Por el contrario, si el conjunto de validación es demasiado grande, el conjunto de entrenamiento restante será mucho más
pequeño que el conjunto de entrenamiento completo. ¿Por qué es esto malo? Bueno, como el modelo final se entrenará con
el conjunto de entrenamiento completo, no es ideal comparar modelos candidatos entrenados con un conjunto de
entrenamiento mucho más pequeño. Sería como seleccionar al impresor más rápido para participar en un maratón.

Validación cruzada repetida


Una forma de resolver este problema es realizar una validación cruzada repetida, utilizando muchos conjuntos de validación
pequeños. Cada modelo se evalúa una vez por cada conjunto de validación, después de haber sido entrenado con el resto de
los datos. Al promediar todas las evaluaciones de un modelo, obtenemos una medida mucho más precisa de su rendimiento,
pero hay un inconveniente: el tiempo de entrenamiento se multiplica por el número de conjuntos de validación.

• Desajuste de datos

En algunos casos, es fácil obtener una gran cantidad de datos para el entrenamiento, pero no son perfectamente
representativos de los datos que se utilizarán en la producción.

Por ejemplo, supongamos que queremos crear una aplicación móvil para tomar fotos de flores y determinar
automáticamente su especie. Se pueden descargar fácilmente millones de fotos de flores en la web, pero no serán
perfectamente representativas de las fotos que realmente se tomarán utilizando la aplicación en un dispositivo
móvil. Quizás sólo tengas 10.000 fotos representativas (es decir, tomadas realmente con la aplicación).

Los datos deben ser lo más representativos posible


Para el ejemplo planteado, la regla más importante es recordar que el conjunto de validación y el de prueba deben ser lo más
representativos posible de los datos que se espera utilizar en la producción, por lo que deben estar compuestos exclusivamente
de imágenes representativas: se pueden mezclar y poner la mitad en el conjunto de validación y la otra mitad en el conjunto
de prueba (asegurándose de que no haya duplicados o casi duplicados en ambos conjuntos).

Después de entrenar el modelo con las imágenes de la web, si se observa que el rendimiento del modelo en el conjunto de
validación es decepcionante, no se sabrá si esto se debe a que el modelo ha ajustado en exceso el conjunto de entrenamiento,
o si se debe simplemente a la falta de correspondencia entre las imágenes de la web y las de la aplicación móvil.

Retener las imágenes en un conjunto de entrenamiento-desarrollo


Una solución es retener parte de las imágenes de entrenamiento (de la web) en otro conjunto que Andrew Ng denomina
conjunto de entrenamiento-desarrollo. Una vez entrenado el modelo (en el conjunto de entrenamiento, no en el conjunto de
entrenamiento y desarrollo), puedes evaluarlo en el conjunto de entrenamiento y desarrollo: si funciona bien, el modelo no se
está ajustando en exceso al conjunto de entrenamiento, así que, si funciona mal en el conjunto de validación, el problema debe
provenir de la falta de coincidencia de datos.

Se puede intentar solucionar este problema preprocesando las imágenes de la web para que se parezcan más a las fotos que
tomará la aplicación móvil, y luego volver a entrenar el modelo. Por el contrario, si el modelo tiene un mal rendimiento en el
conjunto de entrenamiento, entonces el modelo debe haber ajustado en exceso el conjunto de entrenamiento, por lo que debe

Página 53 de 70
tratar de simplificar o regularizar el modelo, obtener más datos de entrenamiento y limpiar los datos de entrenamiento, como
se ha comentado anteriormente.

Procesamiento de datos

Una gran cantidad de datos puede resultar beneficiosa para el aprendizaje cuando la variabilidad de las estimaciones es un
problema, ya que los datos específicos utilizados para el aprendizaje influyen en gran medida en las predicciones (el problema
del sobreajuste). Un mayor número de datos puede ser realmente útil, ya que un mayor número de ejemplos ayuda a los
algoritmos de machine learning a desambiguar el papel de cada señal recogida en los datos y tomada para modelar la
predicción.

Además de la cantidad de datos, la necesidad de limpieza de los mismos es comprensible. Si les alimentas con datos basura,
solo producirás predicciones sin sentido. (Mueller, 2016) Según el Principio de garbage in, garbage out (GIGO para abreviar),
los datos defectuosos pueden ser realmente perjudiciales para el Machine Learning. Los datos erróneos consisten en datos que
faltan, valores atípicos, distribuciones de valores sesgadas, redundancia de información y características no bien explicadas.
Los datos deficientes pueden no ser malos en el sentido de que sean erróneos. Muy a menudo, los datos malos son simplemente
datos que no cumplen las normas que usted ha establecido para sus datos: una etiqueta escrita de muchas maneras diferentes;
valores erráticos desbordados de otros campos de datos; fechas escritas en formatos no válidos; y texto no estructurado que
debería haber estructurado en una variable categórica.
Aplicar reglas de validez de datos en sus bases de datos y trabajar en el diseño de mejores tablas de datos, así como en la
exactitud del proceso que almacena los datos puede resultar de inestimable ayuda para el Machine Learning y permitirle
concentrarse en resolver problemas de datos más complicados.

Aunque se disponga de suficientes ejemplos para entrenar algoritmos de aprendizaje, tanto simples como complejos, estos
deben presentar valores completos en las características, sin que falten datos.

Tener un ejemplo incompleto imposibilita la conexión de todas las señales dentro y entre las características. Los valores
perdidos también dificultan el aprendizaje del algoritmo durante el entrenamiento.

Hay que hacer algo con los datos que faltan. La mayoría de las veces, se pueden ignorar los valores que faltan o repararlos
adivinando un valor de sustitución probable. Sin embargo, un número excesivo de valores perdidos hace que las predicciones
sean más inciertas, ya que la información perdida podría ocultar cualquier cifra posible; en consecuencia, cuantos más valores
perdidos haya en las características, más variables e imprecisas serán las predicciones.

• Identificación de los datos que faltan

Como primer paso, hay que contar el número de casos que faltan en cada variable. Cuando una variable tiene demasiados casos
perdidos, es posible que tenga que eliminarla del conjunto de datos de entrenamiento y prueba. Una buena regla general es
descartar una variable si falta más del 90 % de los casos.

Algunos algoritmos de aprendizaje no saben cómo tratar los valores perdidos e informan de errores tanto en la fase de
entrenamiento como en la de prueba, mientras que otros modelos los tratan como valores cero, lo que provoca una
subestimación del valor o la probabilidad predichos (es como si parte de la fórmula no funcionara correctamente).

Por lo tanto, es necesario sustituir todos los valores que faltan en la matriz de datos por algún valor adecuado para que el
machine learning funcione correctamente.

Existen muchas razones para que falten datos, pero lo esencial es saber si los datos faltan al azar o en un orden específico. Los
datos que faltan al azar son ideales porque se puede adivinar su valor utilizando una media simple, una mediana u otro
algoritmo de machine learning, sin demasiadas preocupaciones. Algunos casos contienen un fuerte sesgo hacia ciertos tipos de
ejemplos.

Página 54 de 70
Por ejemplo
Pensemos en el caso de estudiar los ingresos de una población. Las personas ricas (por razones fiscales, presumiblemente)
tienden a ocultar sus verdaderos ingresos informando de que no lo saben. Los pobres, en cambio, pueden decir que no quieren
informar de sus ingresos por miedo a un juicio negativo. Si se pierde la información de ciertos estratos de la población, reparar
los datos que faltan puede ser difícil y engañoso porque se puede pensar que esos casos son iguales a los demás. En cambio,
son muy diferentes.

Por lo tanto, no puede limitarse a utilizar valores medios para sustituir los valores que faltan, sino que debe utilizar enfoques
complejos y ajustarlos cuidadosamente. Además, identificar los casos en los que no faltan datos al azar es difícil porque requiere
una inspección más detallada de cómo se asocian los valores perdidos con otras variables del conjunto de datos.

Cuando los datos faltan al azar se pueden reparar fácilmente los valores vacíos porque se obtienen indicios de su verdadero
valor a partir de otras variables. Cuando los datos no faltan al azar, no se pueden obtener buenas pistas a partir de otra
información disponible, a menos que se entienda la asociación de los datos con el caso que falta.

Por lo tanto, si tiene que calcular los ingresos que faltan en sus datos, y faltan porque la persona es rica, no puede reemplazar
el valor que falta con una simple media porque lo sustituirá por un ingreso medio. En su lugar, debe utilizar una media de los
ingresos de las personas ricas como reemplazo.

Cuando los datos no faltan al azar, el hecho de que el valor falte es informativo porque ayuda a localizar el grupo que falta.
Puede dejar la tarea de buscar la razón por la que falta a su algoritmo de machine learning construyendo una nueva
característica binaria que informe de cuándo falta el valor de una variable. En consecuencia, el algoritmo de machine learning
averiguará por sí mismo el mejor valor para utilizar como reemplazo.

• Elección de la estrategia de sustitución adecuada

Existen varias estrategias posibles para tratar los datos que faltan de forma eficaz. Su estrategia puede cambiar si tiene que
manejar valores perdidos en características cuantitativas (valores expresados como números) o cualitativas. Las características
cualitativas, aunque también se expresan con números, se refieren en realidad a conceptos, por lo que sus valores son algo
arbitrarios y no se puede hacer una media u otros cálculos con ellos. Cuando se trabaja con rasgos cualitativos, la estimación
de los valores debe producir siempre números enteros, basados en los números utilizados como códigos. Las estrategias
comunes para el manejo de los datos faltantes son las siguientes:

a. Sustituya los valores que faltan por una constante calculada, como la media o la mediana. Si su característicaes una
categoría, debe proporcionar un valor específico porque la numeración es arbitraria, y utilizar la media o la mediana no tiene
sentido. Utilice esta estrategia cuando los valores perdidos sean aleatorios.

b. Sustituya los valores perdidos por un valor fuera del rango de valores normal de la característica. Porejemplo, si la
característica es positiva, sustituya los valores perdidos por valores negativos. Este enfoque funciona bien con algoritmos
basados en árboles de decisión y variables cualitativas.

c. Sustituir los valores perdidos por 0, lo que funciona bien con los modelos de regresión y las variablesestandarizadas.
Este enfoque también es aplicable a las variables cualitativas cuando contienen valores binarios.

d. Interpolar los valores que faltan cuando forman parte de una serie de valores ligados al tiempo. Esteenfoque sólo
funciona para los valores cuantitativos. Por ejemplo, si su característica son las ventas diarias, podría utilizar una media móvil
de los últimos siete días o elegir el valor a la misma hora de la semana anterior.

e. Imputar su valor utilizando la información de otras características de predicción (pero nunca utilizar lavariable de
respuesta).
Página 55 de 70
Otra buena práctica es crear una nueva característica binaria para cada variable cuyos valores haya reparado. La variable binaria
rastreará las variaciones debidas a la sustitución o imputación con un valor positivo, y su algoritmo de machine learning puede
averiguar cuándo debe hacer ajustes adicionales a los valores que realmente utilizó.
En Python, los valores perdidos solo son posibles utilizando la estructura de datos ndarray del paquete NumPy. Python marca
los valores perdidos con un valor especial que aparece impreso en la pantalla como NaN (Not a Number). La estructura de datos
DataFrame del paquete pandas ofrece métodos para reemplazar los valores perdidos y para eliminar las variables.

• Compresión de datos

En el Machine Learning lo ideal es obtener los mejores resultados cuando las características no están completamente
correlacionadas entre sí y cada una tiene cierto poder predictivo con respecto a la respuesta que se está modelando. En
realidad, sus características a menudo se correlacionan entre sí, mostrando un alto grado de redundancia en la información
disponible en el conjunto de datos.
Tener datos redundantes significa que la misma información está repartida entre varias características. Si es exactamente la
misma información, representa una colinealidad perfecta. Si, por el contrario, no es exactamente la misma información, sino
que varía de alguna manera, se tiene colinealidad entre dos variables o multicolinealidad entre más de dos variables.
Los datos redundantes son un problema para el que la teoría estadística creó soluciones hace tiempo (porque los cálculos
estadísticos pueden sufrir mucho por la multicolinealidad). Se puede imaginar que cada característica tiene diferentes
componentes informativos, mezclados en diferentes proporciones:

Varianza única
La redundancia es única para una característica en particular, y cuando se correlaciona o se asocia con la respuesta, puede
añadir una contribución directa en la predicción de la propia respuesta.

Varianza compartida
La redundancia es común con otras características debido a una relación de causalidad entre ellas. En este caso, si la información
compartida es relevante para la respuesta, el algoritmo de aprendizaje tendrá dificultades para elegir qué rasgo escoger. Y
cuando una característica se recoge por su varianza compartida, también trae consigo su ruido aleatorio específico.

Componente de ruido aleatorio


Información debida a problemas de medición o a la aleatoriedad que no es útil para mapear la respuesta, pero que a veces, por
mera casualidad (sí, la suerte o el infortunio forman parte de la aleatoriedad), puede aparecer relacionada con la propia
respuesta.

La varianza única, la varianza compartida y el ruido aleatorio se fusionan y no pueden separarse fácilmente. Con la selección de
características, se reduce el impacto del ruido seleccionando el conjunto mínimo de características que mejor funcionan con el
algoritmo de machine learning. Otro enfoque posible se basa en la idea de que se puede fusionar esa información redundante
utilizando una media ponderada, creando así una nueva característica cuyo componente principal es la varianza compartida de
múltiples características, y su ruido es una media del ruido anterior y la varianza única.

• Cómo delimitar los datos anómalos

A veces, mientras exploras tus datos, puedes tropezar con valores que difieren de los que esperabas en el sentido de que son
demasiado altos o demasiado bajos, o simplemente que son inusuales y altamente improbables. Se trata de valores atípicos,
también llamados anomalías, cuando estás seguro de que son así porque algo ha ido mal en ellos. En cambio, si solo son
inusuales porque es la primera vez que se ven esos valores, pero son información legítima, son novedades, un nuevo tipo de
ejemplo.

Página 56 de 70
En algunos casos, un ejemplo es un valor atípico porque posee una combinación única e inusual de valores. A veces se trata de
una asociación con un valor imposible o altamente improbable (por ejemplo, se encuentra un niño que tiene un título
universitario en adataset). A veces, una sutil mezcla de muchos valores hace que el ejemplo sea raro (tan raro que no puede
ser cierto).
Sin embargo, no todos los algoritmos de Machine Learning son sensibles a los valores atípicos, y hay algunas medidas de
precaución que se pueden tomar cuando un algoritmo está aprendiendo.

Por ejemplo, puede actualizar lentamente los parámetros que el algoritmo está aprendiendo para que no dé por sentado
inmediatamente todos los valores encontrados, sino sólo los más encontrados. Es una buena práctica hacer frente a los
imprevistos antes de que comience el entrenamiento de aprendizaje, adoptando un buen estilo de auditoría de datos, incluso
si se han puesto remedios en el lado del aprendizaje.

Los valores atípicos manifiestos sesgan las distribuciones de datos y afectan profundamente a sus estadísticas descriptivas. La
cifra media suele estar tan desviada en presencia de valores atípicos que se nota una gran diferencia entre la media y la
mediana. Además, los valores atípicos afectan a las relaciones entre las variables y podrían debilitar o reforzar una asociación
entre dos variables, causando así más confusión en su algoritmo de aprendizaje.
También hay valores atípicos sutiles, aquellos que no afectan claramente a las distribuciones pero que pueblan partes del
espacio de datos que de otro modo estarían vacías, obligando al algoritmo de aprendizaje a adaptarse a su presencia. En
realidad, la adaptación a estos casos equivale a aprender información ruidosa, lo que aumenta la varianza de las estimaciones.

Una buena estrategia para encontrar valores atípicos manifiestos es observar algunos estadísticos descriptivos clave y practicar
un poco de análisis exploratorio de datos (AED), un término acuñado por John Tukey, un estadístico estadounidense que
escribió sobre la necesidad de una mayor integración entre el análisis gráfico y las medidas descriptivas en su libro de 1977
Exploratory Data Analysis. Este es el enfoque univariante.

Por ejemplo
Una gran diferencia entre la media y la mediana es una buena señal de que algo va mal en los datos. La media se construye
sumando todos los valores numéricos de una característica, por lo que los valores altos o bajos entran directamente en su
cálculo. La mediana se construye ordenando los valores de la característica y eligiendo el del medio. (Si se tiene un número par
de ejemplos, se toma simplemente la media de las dos observaciones del medio). El orden no se ve afectado por los valores
altos o bajos de los extremos. Muchas otras estadísticas se basan en el ordenamiento y se denominan robustas por su
resistencia a las anomalías.

En cuanto al problema de la medición de la asociación entre variables. Esta medida se basa en la media y se ve afectada por
las observaciones periféricas. Con respecto a las medidas de asociación, también se puede elegir entre medidas de asociación
robustas, como la correlación de clasificación de Spearman, una buena opción cuando se quiere comprobar si las clasificaciones
de dos medidas se corresponden entre sí.

Deep Learning

El aprendizaje profundo es una de las aplicaciones más dinámicas, poderosas y de mayor crecimiento de la inteligencia artificial
(en inglés, deep learning). Se trata de un subcampo del machine learning usado para resolver problemas muy complejos y que
a menudo involucran grandes cantidades de datos.
El aprendizaje profundo se produce mediante el uso de redes neuronales, organizadas en capas para reconocer relaciones y
patrones complejos en los datos. Su aplicación requiere un gran conjunto de información y una potente capacidad de
procesamiento.Actualmente, se utiliza en el reconocimiento de voz, el procesamiento del lenguaje natural, la visión artificial y
la identificación de vehículos en los sistemas de asistencia al conductor.
Podemos ver un ejemplo claro en las traducciones realizadas en Facebook, que reveló recientemente que, gracias al
aprendizaje profundo, había podido efectuar alrededor de 4.500 millones de traducciones diarias.

Estas tienden a ser segmentos de textos cortos, como las actualizaciones de estado publicadas por los usuarios en sus perfiles.
Sin el aprendizaje profundo, sería muy costoso y se requeriría un gran equipo de personas para poder ofrecer el mismo servicio.

Página 57 de 70
De lo que llevamos de contenido, hemos visto que las máquinas usan datos históricos o de entrenamiento para poder generar
evidencia u obtener información que puede usarse para comprender futuros conjuntos de datos.

Sin embargo, empresas como Facebook y Google intentan identificar las palabras y clasificarlas. Estas empresas también
intentan hacer lo mismo con las relaciones y los objetos mediante el uso de conjuntos de datos de entrenamiento para evaluar
las relaciones entre las diferentes variables.
Por ejemplo, si desea que el ordenador interprete "esto es un elefante" exactamente de esta manera en lugar de "esta es una
colección de píxeles", se necesita encontrar la manera de asignar algunas características del elefante a otras características más
complejas.

Puede, por ejemplo, convertir una línea, una curva, píxeles, sonidos de alfabetos y mucho más si sabe cómo transformar las
características de esa entidad en características reconocibles por la máquina. La máquina puede usar indexación o inferencia
para predecir los resultados. Este tipo de aprendizaje se denomina Deep Learning.

El aprendizaje profundo es un método que utiliza redes neuronales para identificar soluciones. Este tipo de aprendizaje utiliza
diferentes capas y nodos de entrada que envían señales a las capas ocultas en la red para determinar la solución a cualquier
entrada.

El deep learning se define por cómo aprende la mente humana. También analiza cómo se realizan los cálculos y cómputos en
la corteza cerebral del cerebro humano.

Hay un peso asociado a cada nodo de la red neuronal, que es el mismo que el peso asociado a las reglas del motor Watson. Si
está utilizando una imagen como entrada, se pueden especificar valores a cada píxel de la imagen utilizada.

Además, los valores de salida también se pueden incluir en el conjunto de datos de entrenamiento. Si el valor de salida derivado
por la red neuronal no es el mismo que los valores en el conjunto de datos de entrenamiento, se pasa un mensaje de error a la
fuente, lo que indica que los pesos en los nodos de la red neuronal deben cambiar.

Estos cambios ayudan a dirigir los nodos de la red hacia un conjunto de pesos que ayudan a la red a evaluar y obtener una salida
para cualquier entrada nueva que se proporciona a la máquina.

Las señales enviadas de un lado a otro de la red neuronal ayudan a la máquina a determinar los valores correctos que deben
proporcionarse como salida. Un sistema puede usar el aprendizaje profundo, ya sea en un modo supervisado o no supervisado.

Página 58 de 70
Modelos de aprendizaje profundo

1. Modelo de perceptrón de una capa (SLP)

En este modelo encontrarás que es una forma bastante sencilla de redes neuronales, y también la base de modelos más
sofisticados que han sido desarrollados en este campo.

Página 59 de 70
Usualmente, usamos este simple modelo en la clasificación de problemas donde tenemos que darles a los datos algo llamado
“etiquetas” (pueden ser binarias o multinomiales, dependiendo de la entrada). Estos valores en tus capas de entrada serán
enviados a la capa de salida luego de la multiplicación por pesos, y se añadirá un sesgo a la suma total.

El SLP es uno de los modelos re red neuronal más sencillos, y fue desarrollado por los científicos McCulloch y Pitts. En la mente
de muchos desarrolladores de aprendizaje automático, el SLP es representado como el inicio de la inteligencia artificial y brindó
inspiración para desarrollar otros modelos redes neuronales y modelos de aprendizaje automático. La arquitectura de SLP es
tal que una sola neurona es conectada por muchas sinapsis, cada una de las cuales contiene un peso.

Entrenando el Modelo de Perceptrón


Empezamos el proceso de entrenamiento al iniciar todos los pesos con valores muestreados aleatoriamente a partir de una
distribución normal. Podemos usar un método de descenso de gradiente para entrenar el modelo, con el objetivo de minimizar
la función error.

Limitaciones de los Modelos de Perceptrón Único


La principal limitación de los modelos SLP que llevó al desarrollo de modelos de redes neuronales subsecuentes es que los
modelos del perceptrón sólo son precisos cuando se trabaja con datos que claramente son linealmente separables. Esto se
vuelve obviamente difícil en situaciones con datos mucho más densos y complejos, y elimina efectivamente la utilidad de esta
técnica a partir de clasificaciones de problemas que encontraríamos en un contexto práctico.

2. Modelo de Perceptrón Multicapa (MLP)

El modelo de perceptrón multicapa tiene muchas capas que son introducidas de manera tal que hagan una red neuronal de
pre-alimentación. Cada neurona en cada capa tiene una conexión directa, o más conexiones, a las neuronas de una capa
separada. Una de las cosas más importantes para distinguir es que hay muchos factores en el modelo multicapa y en el otro
modelo está la propagación hacia atrás. La propagación hacia atrás es una metodología común que nos muestra cómo entrenar
una red neuronal.

Página 60 de 70
Explicación del modelo
Los modelos multicapas se distinguen de los SLP por la acción cuando hay capas escondidas que afectan el resultado del modelo.
Este factor distintivo también resulta ser su fortaleza debido a que les permite manejar mejor los problemas XOR. Toda neurona
en este modelo recibe una entrada de una neurona o del ambiente en el caso de la neurona de entrada.

Cada neurona está conectada por una sinapsis, unida a un peso similar al SLP. Luego de introducir una capa oculta, podemos
hacer que el modelo represente una función Booleana e introducir dos capas permite que la red represente un espacio de
decisión arbitrario. Si pasamos de los modelos SLP, una de las preguntas más difíciles y obvias es lo que debería ser la
arquitectura real del MLP y cómo afecta esto el desempeño del modelo.

Limitaciones y consideraciones para Modelos MLP


Es un problema si estás usando un algoritmo de propagación hacia atrás, cuando el error es una función de los pesos; esa
convergencia sobre un óptimo global puede ser difícil de resolver.

Por ejemplo, cuando estamos tratando de optimizar funciones no lineales, muchos mínimos locales oscurecen al
mínimo global. Podemos por lo tanto ser tentados a pensar que hemos encontrado un modelo que definitivamente
puede resolver el problema cuando en realidad hemos escogido una solución que no alcanza efectivamente el
mínimo global. Para resolver eso, el algoritmo de gradiente conjugado es aplicado. Los Algoritmos de Gradiente
Conjugado difieren del método de descenso de gradiente tradicional en que la tasa de aprendizaje es ajustada
luego de cada iteración. Muchos tipos de gradientes conjugados han sido diseñados, pero todos ellos tienen el
mismo motivo fundamental.

En el contexto de la red MLP, estamos intentando encontrar los pesos que minimicen la función error. Para hacer esto, nos
movemos en la dirección del descenso más pronunciado, pero cambiamos el tamaño del paso de manera tal que minimice
cualquier “paso erróneo” posible en la búsqueda del óptimo global.

3. Redes Neuronales Convolucionales (RNC o CNNs en inglés)

Las RNC o redes neuronales convolucionales son simplemente modelos que son los modelos más populares que se usan para
las aplicaciones de procesamiento de visión e imagen de la computadora. De hecho, son desarrolladas para imitar la estructura
de la corteza visual de los animales. Las redes neuronales convolucionales tienen a las neuronas ordenadas en tres dimensiones
(profundidad, altura, ancho).

Página 61 de 70
Las neuronas en cualquier capa sólo están conectadas a una pequeña parte antes de la capa. Los modelos redes neuronales
convolucionales son los mejores modelos para aplicaciones de procesamiento de visión e imagen de computadoras.

4. Redes Neuronales Recurrentes (RNR o RNN por sus siglas en inglés)

Este tipo de modelo es una red neuronal artificial o RNA (ANN) en las que las conexiones entre unidades forman un ciclo. Un
ciclo dirigido es simplemente una secuencia con vértices y esquinas. Este modelo se usa para reconocimiento de lenguaje y
escritura.

alt="Redes Neuronales Recurrentes"

5. Redes de Creencia Profunda (RCP o DBN en inglés)

Este tipo de modelo es similar a las Maquinas Restringidas de Boltzmann como puedes ver en la siguiente figura. Tiene cada
subred de cada capa escondida. Generalmente son un modelo multicapa.

Página 62 de 70
¿De qué modelo de aprendizaje profundo se habla en cada caso?
Este tipo de modelo es similar a las Maquinas Restringidas de Boltzmann. Tiene cada subred de cada capa Redes de Creencia
Profunda (RCP o DBN en inglés)
Este tipo de modelo es una red neuronal artificial o RNA (ANN) en las que las conexiones entre unidades forman un ciclo.
Redes Neuronales Recurrentes (RNR o RNN por sus siglas en inglés)
Tiene muchas capas que son introducidas de manera tal que hagan una red neuronal de pre-alimentación. Cada neurona en
cada capa tiene una conexión directa, o más conexiones, a las neuronas de una capa separada.
Modelo de Perceptrón Multicapa (MLP)

Big data: el cambio en la IA

Definiendo el papel del dato

Definiendo el papel del dato

Los datos están presentes en todas las aplicaciones que se han desarrollado para ordenadores, algunos vienen organizados y
otros no. A algunos les resulta casi aterrador que tengamos acceso a tantos datos detallados sobre casi todos los aspectos de
la vida de la mayoría de las personas, a veces hasta el punto de que ni siquiera los conocemos en su totalidad. Además, el uso
de hardware avanzado y algoritmos innovadores hacen que los datos sean el recurso común de la IA en la actualidad.

Más que una palabra de moda utilizada por los proveedores para proponer nuevas formas de almacenar datos y analizarlos, la
revolución del big data es una realidad del día a día y un elemento fundamental de nuestra época. Es posible que hayamos
oído hablar de big data en muchas publicaciones científicas y empresariales especializadas e incluso nos hayamos preguntado
qué significa realmente este término. Desde un punto de vista técnico, big data se refiere a cantidades grandes y complejas de
datos informáticos, tan grandes e Intrínsecos que las aplicaciones no pueden lidiar con los datos utilizando almacenamiento
adicional o aumentando la potencia del ordenador.
El big data implica una revolución en el almacenamiento y la manipulación de datos. Afecta a lo que se puede hacer con los
datos en términos más cualitativos (además de hacer más, se pueden realizar mejor las tareas).

Los ordenadores almacenan los grandes volúmenes de datos en diferentes formatos desde la perspectiva humana, pero el
ordenador considera los datos como un flujo de “1” y “0” (el lenguaje principal de los ordenadores).

Página 63 de 70
Los datos se pueden clasificar en dos tipos, dependiendo de cómo se produzcan y consuman. Algunos datos tienen una
estructura clara (se sabe exactamente lo que contienen y dónde se puede encontrar cada dato), mientras que otros datos no
están estructurados (se tiene una idea de lo que contienen, pero no se sabe exactamente cómo están organizados).

Tradicionalmente, los datos estructurados se han utilizado con más frecuencia que los no estructurados. Los primeros incluyen
la introducción de información, como valores numéricos, fechas, monedas o direcciones; los segundos contienen tipos de datos
que son más complicados de analizar, como textos, imágenes y vídeos.
(Rouhiainen, 2018)

Ejemplos típicos de datos estructurados son las tablas de las bases de datos en las que la información se organiza
en columnas y cada columna contiene un determinado tipo de información. Los datos suelen estar estructurados
por diseño. Se recogen de forma selectiva y se registran en su lugar correcto. Por ejemplo, puedes querer colocar
un recuento del número de personas que compran un determinado producto en una columna específica, en una
tabla específica, en una base de datos específica. Al igual que con una biblioteca, si sabes qué datos necesitas, los
puedes encontrar inmediatamente.

Los datos no estructurados consisten en imágenes, vídeos y grabaciones de sonido. Se puede utilizar una forma no estructurada
para el texto de manera que se pueda etiquetar con características, como el tamaño, la fecha o el tipo de contenido.

Por lo general, no se sabe exactamente dónde aparecen los datos en un conjunto de datos no estructurados porque los datos
aparecen como secuencias de “1” y “0” que una aplicación debe interpretar o visualizar.

Transformar los datos no estructurados en una forma estructurada puede costar mucho tiempo y esfuerzo y puede implicar el
trabajo de muchas personas. La mayoría de los datos del big data no están estructurados y se almacenan tal cual, a menos
que alguien los convierta en estructurados.
Merrill Lynch ha estimado que entre el 80-90 % de todos los datos comerciales del mundo no están estructurados, lo que
significa que es extremadamente valioso analizar este tipo particular de información. Los grandes volúmenes de datos o
macrodatos (big data) también ayudan a las grandes empresas a mejorar sus operaciones internas y externas. (Rouhiainen,
2018)
Este copioso y sofisticado almacenamiento de datos no apareció de repente de la noche a la mañana. Se necesitó tiempo para
desarrollar la tecnología necesaria para almacenar esta cantidad de datos.

Además, se necesitó tiempo para difundir la tecnología que genera y distribuye los datos, es decir, ordenadores, sensores,
teléfonos móviles inteligentes, Internet y sus servicios de la World Wide Web.
Actualmente, Internet genera y distribuye nuevos datos en gran cantidad. Se calcula que nuestra producción diaria de datos
asciende a unos 2,5 quintillones (un número con 18 ceros) de bytes, y la mayor parte corresponde a datos no estructurados
como vídeos y audios. Todos estos datos están relacionados con actividades, sentimientos, experiencias y relaciones humanas
comunes. Recorriendo estos datos, una IA puede aprender fácilmente a razonar y actuar de forma más humana.

Estos son algunos ejemplos de los datos más interesantes que puede encontrar:

Rostros y expresiones de fotos y vídeos


Los grandes almacenes de rostros y expresiones de fotos y vídeos publicados en las redes sociales como Facebook, YouTube y
Google proporcionan información sobre el sexo, la edad, sentimientos y, posiblemente, las preferencias sexuales, orientaciones
políticas o el coeficiente intelectual.

Información médica privada y datos biométricos


La información médica privada y los datos biométricos de los relojes inteligentes, que miden datos corporales como la
temperatura y el ritmo cardíaco tanto en caso de enfermedad como de buena salud.

Relaciones interpersonales
Conjuntos de datos sobre cómo se relacionan las personas entre sí y qué es lo que les interesa de fuentes como las redes
sociales y los motores de búsqueda. Por ejemplo, un estudio del Centro de Psicometría de la Universidad de Cambridge afirma
que las interacciones de Facebook contienen muchos datos sobre las relaciones íntimas.
Página 64 de 70
Uso de la lengua
Los teléfonos móviles registran información sobre nuestra forma de hablar. Por ejemplo, OK Google, una función que se
encuentra en los teléfonos móviles Android, registra habitualmente las preguntas.

Nuevos datos personales


Cada día, los usuarios conectan más dispositivos a Internet que se encargan de almacenar nuevos datos personales. Ahora hay
asistentes personales que se instalan en las casas, como Amazon Echo y otros dispositivos integrados en el hogar inteligente
que ofrecen formas de regular y facilitar el entorno doméstico.

Estos son solo la punta del iceberg, porque muchas otras herramientas comunes de la vida cotidiana se están interconectando
(desde la nevera hasta el cepillo de dientes) y son capaces de procesar, registrar y transmitir datos. La Internet de los objetos
(IoT. Internet of Things) se está convirtiendo en una realidad. Los expertos calculan que en 2020 habrá seis veces más cosas
conectadas que personas, pero los equipos de investigación y los grupos de reflexión ya están revisando esas cifras.

Kai-Fu Lee, capitalista de riesgo y CEO de Sinovation Ventures, explica por qué los datos son importantes para las grandes
compañías tecnológicas mediante un esquema con los cinco pasos que estas deben seguir para perfeccionar sus soluciones de
inteligencia artificial. Si bien utiliza ejemplos de empresas tecnológicas estadounidenses, estos pasos también son aplicables a
otras empresas internacionales basadas en la IA como Alibaba, Baidu y Tencent.

Los pasos son los siguientes (Rouhiainen, 2018):

Obtener más datos


La idea principal en este paso es que las empresas tecnológicas puedan crear servicios que sean tan útiles que las personas
estén dispuestas a permitir que sus datos sean utilizados por el servicio. Un ejemplo de ello es el buscador de Google, que
abarca una gran cantidad de datos. Del mismo modo, Facebook no sería una red social tan poderosa si no tuviera acceso a la
información sobre las tendencias sociales de sus usuarios.

Mejores productos habilitados para la IA


En empresas como Google y Facebook, la experiencia de usuario se personaliza para que sean signnificativas y relevantes para
el usuario, lo que es posible gracias a que la IA mejora sus productos.

Mayor número de usuarios


Cuando una persona tiene una experiencia satisfactoria con un producto o servicio, es más probable que recomiende este
producto o servicio a sus amigos.

Mayores ingresos
Un número mayor de usuarios casi siempre equivale a mayores ingresos.

Más expertos y científicos en IA


A medida que las empresas aumentan sus ingresos, pueden atraer mejor a los mejores expertos y científicos en IA. Con el
tiempo, cuantos más científicos de datos y expertos en aprendizaje automático trabajen para una compañía, más importante
podrá ser su investigación sobre inteligencia artificial, lo que permite no sólo que la empresa sea más valiosa, sino también que
esté mejor preparada para el futuro.

Página 65 de 70
La era de los datos masivos

La era de los datos masivos

En los últimos años, la tecnología ha evolucionado a un ritmo muy rápido provocando, entre otros efectos, un crecimiento
exponencial en el volumen de información que procesamos (Deloitte Insights, 2016). Un ejemplo es la estimación que se
muestra en la siguiente imagen, donde se estima que el volumen de datos e información creados, copiados y consumidos en
2025 será de 175 zettabytes, creciendo exponencialmente a los 612 en 2030 y los 2142 en 2035.

Además, es importante destacar que la información generada es acumulativa. La tasa de información descartada es mucho
menor que la información generada, gracias en parte a la reducción del costo de almacenamiento de la información. Aquí es
donde el big data se instala como un modelo que trata de solucionar problemas asociados al procesamiento de estos
volúmenes tan elevados de información.

Los datos en sí mismos y la solución de los problemas que plantea su manipulación presentan una amplia gama de desafíos y
oportunidades que el big data se esfuerza por resolver.

En resumen, el objetivo final de un sistema de big data en particular sería usar los datos de manera eficiente y efectiva, para
que podamos tomar mejores decisiones y, por lo tanto, jugar un papel importante en ayudar a los sistemas a tomar decisiones
basadas en datos (Poleto, de Carvalho y Costa, 2015).

Como se puede deducir de lo anterior, la analítica de datos se ha convertido clave para la toma de decisiones en empresas
tanto del sector público como privado, las cuales requieren un uso eficiente y consistente de los sistemas de big data (Navarro,

Página 66 de 70
2020). El concepto de negocio asociado con el término big data y las tecnologías subyacentes que lo hacen realidad, están en
constante evolución.

Elementos clave del big data a nivel empresarial


Algunos de los elementos clave del big data a nivel empresarial que fueron descubiertos durante su emergencia siguen aún
muy presentes (Brown, Chui y Manyika, 2011):

• Las empresas pueden recopilar datos de todas las unidades de negocio y analizarlos de forma conjunta. Además, también
es posible agregar datos de clientes y socios.

• El uso de infraestructuras flexibles permite integración y expansión eficiente de la información.

• La experimentación, aplicación de algoritmos inteligentes y el análisis dan sentido a la información recopilada.

Por otro lado, la digitalización de las empresas ha pasado de ser una tarea pendiente en cualquier entidad que trabaje con
datos a convertirse en una realidad, en gran parte debido al estallido de la crisis del coronavirus del 2020.

En este sentido, la necesidad de acceder y compartir la información de forma remota entre equipos, los beneficios que
provienen del análisis de datos en tiempo real (por ejemplo, en sistemas IoT) o la gestión de datos heterogéneos provenientes
de muchas y variadas fuentes son algunos de los desafíos que las empresas se enfrentan a la hora de digitalizar sus procesos.
Está claro que los sistemas de big data y la computación en la nube son dos de los pilares más importantes en la digitalización.
Gestionar esta gran cantidad de información requiere implementar una serie de acciones y políticas conocidas como gobierno
de datos o gobernanza de los datos.

El gobierno de datos (DG, de sus siglas en inglés Data Governance) es el proceso de administrar la disponibilidad, usabilidad,
integridad y la seguridad de los datos en los sistemas de la empresa, en base a estándares internos y políticas de datos, y
controlar su uso.

Un gobierno de datos eficaz garantiza que los datos sean consistentes, confiables y libres de uso indebido. Esto se vuelve cada
vez más importante a medida que las organizaciones lidian con las nuevas regulaciones de privacidad de datos y confían cada
vez más en el análisis de datos para ayudar a optimizar las operaciones y guiar la toma de decisiones empresariales (Stedman
y Vaughan, 2020).

Finalmente, las ideas expuestas anteriormente nos dan una idea de la importancia que tiene la gestión de los datos en la
actualidad. Esto nos lleva a pensar que la aplicación de sistemas big data es transversal a cualquier ámbito. De esta aplicación
pueden identificarse, entre muchas otras, las siguientes oportunidades:

Mejora en la monitorización de procesos.

Optimización de campañas de marketing.

Mejorar las ventas.

Mejorar la satisfacción y la experiencia del cliente.

Mejorar la gestión logística y de almacén.

Identificación de productos, tendencias y ventajas competitivas.

Ahorro de costes.

Mejorar el proceso de toma de decisiones (más rápida y con más criterios).

Aumento de la capacidad de pronosticar la demanda con mayor precisión.


Página 67 de 70
Resolución de problemas de redes de distribución más complejos.

Mejorar la eficiencia de la planificación.

Mejorar la planificación de los recursos humanos.

Colaboración en la cadena de suministro.

Monitorización de vehículos y maquinaria

Retos e implicaciones

Trabajar con grandes volúmenes de datos requiere afrontar un amplio abanico de retos, desde los aspectos más técnicos para
hacer realidad su manejo, hasta aspectos estratégicos, burocráticos o legales. A lo largo de esta sección se describen de forma
resumida algunos de ellos.

Escalamiento de infraestructuras

Enfoque de escalamiento vertical


El primer problema al que se enfrentan los sistemas big data surge cuando se empezó a utilizar la infraestructura de dato
tradicional. La solución tradicional al problema de escalado cuando se necesitan más recursos de almacenamiento o
procesamiento se lleva a cabo mediante el escalado vertical (scale up). Este enfoque incluye en aumentar el tamaño del
servidor o máquina que nos brinda el servicio. Sin embargo, a pesar de los beneficios de trabajar con un sistema de producción,
este crecimiento es limitado, puede ser caro y, también, puede aumentae el riesgo de no disponibilidad ante fallos.

Enfoque de escalamiento horizontal


Para tratar de resolver estos problemas, los sistemas de big data suelen utilizar el enfoque de escalamiento horizontal (scale
out), fomentando el uso de soluciones en clúster. Esta solución, que se puede combinar con el escalado vertical, tiene muchas
ventajas como su potencial de crecimiento, el uso de dispositivos más económicos, alta disponibilidad, el balanceo de carga o
el mejor comportamiento ante fallos en los nodos. Sin embargo, su configuración y mantenimiento es más complejo.

Las V del big data

Además de todo lo anterior, el big data no solo se ocupa de grandes cantidades de datos, su formato o su heterogeneidad. Los
sistemas de big data van más allá y se caracterizan de manera más completa por los desafíos que buscan resolver, conocidos
como las “V” del big data. Este enfoque parte de tres “V”, continúa con cinco y se pueden encontrar referencias donde se
identifican hasta diecisiete (Arockia, Varnekha y Veneshia, 2017). A continuación, vemos la versión de las siete “V” del big data,
tal y como muestra en la siguiente figura:

Página 68 de 70
Veamos con algo más de detalle las 7 V del Big Data:

Volumen
Se refiere a una gran cantidad de datos que se generan y almacenan para ser procesados.

Velocidad
Se refiere a la capacidad de recopilar, procesar y acceder a los datos en el menor tiempo posible. Por ejemplo, el sistema de
monitoreo en tiempo real es esencial en este sentido.

Variedad
Asociado a la heterogeneidad de fuentes y formatos. Los sistemas big data deben resolver este reto de forma transparente y
eficiente. Un ejemplo podría ser un sistema de monitorización de cultivos en el que dispongamos de información sobre los
tratamientos aplicados desde una base de datos, información de sensores ambientales en formato semiestructurado e
información no estructurada como podría ser la toma de imágenes de dicho cultivo.

Veracidad

Página 69 de 70
La veracidad está relacionada con la fiabilidad y precisión de los datos recogidos. Disponer de fuentes fiables (como podrían
considerarse las fuentes oficiales de datos) y que faciliten información precisa permitirá a nuestro sistema alejarse de las
imprecisiones que generan los datos de mala calidad.

Variabilidad
Se refiere al carácter cambiante de los datos, centrándose en entender el significado de los datos.

Visualización
La visualización se ha convertido en uno de los aspectos más importantes de los sistemas de big data en la actualidad. Como las
infografías, gráficas, dashboards u otros recursos que se usan para mostrar la información extraída de datos complejos.

Valor
El objetivo último de todo sistema big data es proporcionar valor añadido tras el análisis de los datos. No solamente debemos
disponer de cantidades ingentes de información, sino que debemos ser capaces de procesarla, organizarla y analizarla para su
comprensión sea fácil y mejore el proceso de toma de decisiones.

Uso de la nube

Estamos acostumbrados a escuchar o usar los términos big data y computación en la nube (cloud computing) juntos. Si bien
van de la mano a la hora de lidiar con los problemas asociados a la gestión de grandes volúmenes de datos, es importante
aclarar que no se ocupan de las mismas tareas, sino que se complementan de una manera que funciona a la perfección.
Mientras que el big data se refiere a una gran recolección de datos recopilados, la computación en la nube se refiere a los
recursos utilizados para ingerir, almacenar y operar sobre esos datos (Sharma, 2021).

Las formas en que la tecnología de computación en la nube se puede combinar con los sistemas de big data son casi infinitas.

Con las capacidades de la nube, podemos analizar grandes volúmenes de datos que, de otro modo, sería casi imposible de
conseguir con nuestros equipos de trabajo habituales. De modo que podemos extraer valor de la información que no estaría
disponible para nosotros si no fuera por los sistemas de IT estándar.

El desarrollo de aplicaciones en la nube también se ve impulsado por el big data. Del mismo modo, los sistemas big data son
una realidad gracias a los servicios en la nube que son capaces de operar con ellos con baja latencia. Los dos son una
combinación perfecta, ya que ninguno existiría sin el otro (Sharma, 2021). Seguridad

Debido a la heterogeneidad de las fuentes de datos, se pueden utilizar diferentes servicios y proveedores para su procesamiento
y almacenamiento y, sobre todo, debido a la variedad de usos que podemos darles, la seguridad en torno a ellos se convierte
en un aspecto importante de los sistemas de big data. Cada punto de procesamiento, servicio, aplicación y más, se convierten
en una amenaza potencial para la seguridad e Gobierno de datos

La gobernanza de los datos permite la implantación de una serie de políticas y acciones que facilitan la gestión eficiente, eficaz
y segura de los sistemas de big data.

Por ejemplo, sin un gobierno de datos efectivo, es posible que no se resuelvan las inconsistencias de datos entre
diferentes sistemas dentro de una organización (por ejemplo, los nombres de los clientes pueden aparecer de
manera diferente en los sistemas de ventas, logística y servicio al cliente), complicando los esfuerzos de integración
de datos y crea errores que afectan a los análisis requeridos por otras áreas (Stedman y Vaughan, 2020).

Página 70 de 70

También podría gustarte