Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Big Data
1
Introducción a la Tecnología Big Data
Ayuda
Ayuda en la navegación
Objetivos
Objetivos
Introducción
Introducción
2. Y llegamos al siglo XX
2.1. Siglo XX
8.2. Hadoop
8.3. Ejemplo
2
9. Spark
9.1. Spark
12.5. Inteligencia Artificial: intentar que las máquinas piensen como nosotros
Bibliografía
Bibliografía
Fin de módulo
¡Enhorabuena!
3
Ayuda
Ayuda en la navegación
1. Accede desde el menú principal al
listado de los apartados de la
unidad y sus secciones.
2. Muévete entre las secciones del
apartado utilizando las flechas
inferiores.
3. Avanza al siguiente apartado con
las flechas laterales.
4. Presta atención a las
instrucciones. Te indicarán cómo
interactuar con los contenidos.
5. No olvides hacer clic en todos los
textos que estén en azul para ver más información.
6. Haciendo clic en los iconos puedes descargar el pdf con los contenidos del
módulo.
4
Objetivos
Objetivos
El campo del Big Data es muy extenso y algunos puntos exigen muchos
conocimientos y habilidades avanzadas que sólo se adquieren tras muchos años
de formación y dedicación. Sin embargo, en este módulo presentamos un marco
conceptual sencillo y accesible, que te permitirá tener una visión general para
comprender, en un primer momento, todo lo que conlleva la tecnología Big Data.
Además, te servirá de guía para seguir profundizando por tu cuenta, presentado
los principales conceptos de forma sencilla y enlazándolos entre sí dentro de ese
marco.
Ahora cuando alguna empresa te presente soluciones Big Data, podrás encajarlas
en alguno de los niveles descritos, y sabrás destacar los puntos importantes y
diferenciales de cada una de ellas. De la misma forma, cuando hables con
especialistas de esta tecnología, tendrás una base para hablar un lenguaje com.
5
Introducción
Introducción
En este módulo se introducirán los principales conceptos que han surgido dentro
del campo tecnológico que se ha ido denominando Big Data. Asociado a este
término, tan usado en multitud de ámbitos y escenarios distintos, se han ido
acumulando tecnologías, herramientas y soluciones que hacen de esta palabra un
concepto muy general y muchas veces no del todo comprendido.
Por este motivo comenzaremos por entender que la necesidad de comprender los
datos es algo consustancial al ser humano, desde su origen, y que poco a poco se
han ido creando herramientas que permitían un mejor uso de la información de la
que se disponía. Ya en la parte final del siglo XX coincidieron varias tecnologías
que supusieron un empuje definitivo a nuestras ansias de reconocer patrones y
obtener conocimiento de ellos, y que supusieron la puesta en marcha de lo que
luego se llamó Big Data.
6
1.La (Pre)Historia del Big Data
Como se ha dicho anteriormente, la historia del Big Data comenzó hace muchos
años1, incluso siglos y milenios. Y la razón no es más que la de que el tratamiento
de la información y su utilización como herramienta ha sido fundamental en el
desarrollo evolutivo del ser humano. Nuestra ventaja primordial ha sido la
capacidad de comprender lo que nos rodeaba y usar ese conocimiento para
adaptarnos al medio.
En cuevas del paleolítico superior (alrededor del 18.000 A.C.) se han encontrado
indicios de que los humanos de ese tiempo ya tenían ciertas herramientas para
contar o hacer operaciones matemáticas sencillas. En palos o huesos2 se han
encontrado marcas que permitían llevar cierta contabilidad de comida o recursos.
Más adelante, alrededor del 2.400 A.C., en Babilonia se extiende el uso del ábaco,
aunque su origen parece ser las regiones de la actual China. Con esta herramienta
se podían hacer cálculos más sofisticados y con números más grandes.
7
Y siguiendo un poco más adelante, en conocimiento sobre los ciclos naturales de las
1663 se tiene noticia del primer uso de estaciones.
análisis de datos. El comerciante John
Graunt4, accediendo a los datos de
mortalidad de la ciudad de Londres, pudo crear un modelo con el que detectar
epidemias de peste bubónica.
Finalmente, el primer registro que se tiene del término “business intelligence”, uno
de los precursores del Big Data, aparece en 1865, gracias a Richard Millar
Devens5. Este lo usa en referencia al banquero Henry Furnese, que, analizando los
datos de los competidores de manera estructurada, consiguió obtener ventaje
comercial. Unos años después en 1881, para poder procesar los datos del censo
de Estados Unidos, un ingeniero llamado Herman Hollerith6 creó lo que se llamó la
“Hollerith Tabulating Machine”. La empresa que fundó gracias este antecesor de
las primeras computadoras modernas llegó a ser conocida como IBM.
1. https://linkedin.com/pulse/brief-history-big-data-everyone-should-read-bernard-marr
3. Ver: https://wikipedia/wiki/Mecanismo_de_Anticitera
4. Ver: https:/wikipedia/wiki/John_Graunt
5. Ver: https://wikipedia/wiki/Business_intelligence#History
6. Ver: hhtps://wikipedia/wiki/Herman_Holleritch
8
2. Y llegamos al siglo XX
2.1. Siglo XX
Un gran hito que se produjo alrededor de mitad de siglo XX, con los estudios
teóricos de Alan Turing y la creación del primer ordenador totalmente digital
llamado ENIAC, fue la capacidad de poder procesar información según algoritmos
programables. En este momento se inició lo que hoy denominamos Informática.
7. Ver: https://wikipedia/wiki/Ley_de_Moore
10
2.2. Cuestión de datos
Por otra parte, también se ha producido
un gran avance en los dispositivos de
almacenamiento de datos. El precio por
Gigabyte ha decrecido enormemente
desde los 193.000 dólares del año 1980
hasta los 0,07 dólares del año 2009.
Para poder entender la gran cantidad de datos que se están generando, podemos
analizar los eventos que se producen en Internet cada minuto. Desde hace varios
años, se han publicado infografías al respecto de las que rescatamos la
comparativa entre 2018 y 2019.
Por ejemplo, como se puede ver, las horas de vídeo vistas en Netflix en un minuto
ha pasado de 266.000 horas a más de 996.000. En todas las demás categorías y
servicios han ocurrido también incrementos notables.
Esta gran cantidad de eventos e interacciones con los servicios conlleva, como
hemos dicho, una gran cantidad de información que puede ser almacenada,
11
tratada y analizada. Se han hecho diversos estudios de cuál es la cantidad de datos
e información que la humanidad genera y su evolución a lo largo del tiempo. Uno
de estos estudios realizado por Martin Hilbert y Priscilia López de la Universidad
de Carolina del Sur en 2011 puede servirnos de base.
Según este estudio 8, de 1986 hasta 2002, el ser humano generó unos 17
exabytes9 de información. Pero en los cinco años siguientes hasta 2007, se estima
que la creación de información creció hasta los 277 exabytes, 16 veces más. Y esta
evolución ha seguido un crecimiento exponencial hasta los 2,5 exabytes al día y
para 2020 se estima que llegaremos a generar un exabyte cada minuto.
Impresionante.
8. Ver: https://science.sciencemag.org/content/332/6025/60.abstract
12
3. Y se hizo el Big Data (al menos como definición)
Ante esta situación, los ingenieros recogieron el reto para poder almacenar esa
gran cantidad de datos y también de crear las infraestructuras necesarias para
poder tratarlos de forma adecuada, rápida y flexible. Empezaron a crear la
tecnología que podía hacerlo realidad. Y poco a poco se fue creando un campo
que más tarde se definió como Big Data. En este campo se empezaron a mezclar
conceptos como información, datos, conocimiento, NoSQL, Data Mining,
Inteligencia Artificial, cloud, sistemas distribuidos, clústeres, privacidad, que hacían
muy difícil tener una definición concisa y clara de lo que significaba esta nueva
tecnología.
Big Data
Activos de información de gran volumen, gran velocidad y/o gran variedad que
demandan formas innovadoras y económicas de procesamiento de información,
que habilitan un conocimiento avanzado, la toma de decisiones y la
automatización de procesos.
Podemos ver que los tres conceptos básicos son volumen, variedad y velocidad.
Por eso se hablaba en un principio de las 3 Vs del Big Data. Con el tiempo esta
definición se fue haciendo más detallada, ampliando el número de Vs.
13
Volumen
Velocidad
Variedad
Veracidad
Es necesario que estos datos tengan una calidad suficiente, que sean ciertos y
se ajusten a la realidad que se quiere capturar. La dimensión o magnitud
fundamental es "Incertidumbre". Siempre hay que tener en cuenta que se
debe manejar un nivel de incertidumbre por la calidad de los datos o por su
significación dentro de la situación real que se quiere analizar o medir.
Variabilidad
14
Visualización
Valor
10. Ver: Laney, Douglas. "The Importance of Big Data: A definition". Gartner Retrieved, 21 June 2012.
15
4. Pirámide del conocimiento: Datos, Información,
Conocimiento
Durante todo este tiempo han surgido multitud de tecnologías y empresas que
han ido creando un mapa complejo y extenso. Es muy difícil categorizar a cada
empresa o tecnología en grupos estancos e incluso es difícil definir las categorías a
utilizar. Por eso es necesario crear un marco conceptual que nos permita disminuir
la complejidad de este horizonte y tener un punto de vista inicial para analizar lo
que ahora se llama Big Data. Y este marco debería ser lo suficientemente amplio y
estable para que pueda ser siempre útil, aunque se sigan introduciendo nuevas
tecnologías y soluciones.
Todas las frases indican algún tipo de información, pero son diferentes
entre ellas. Están las más básicas, aquellas que indican un evento único,
individual ("No sale el sol", "Sale el sol"). Son puros datos no relacionados
con otro tipo de información. Este tipo de frase, de información, es la que
asociaríamos con el nivel Datos.
En el caso de "Hoy sale el sol", "Ayer salió el sol", "sale el sol a las 13:34", se
16
puede ver que la información es más compleja, se relacionan dos tipos de
eventos ("Sale el sol" y "Son las 13:34") que se corresponden con el nivel de
datos para crear un nuevo tipo de información más contextualilzada,
relacionada, agrupada en categorías, filtrada. Es el nivel Información.
"Mañana sale el sol" y "Todos los días sale el sol", son frases que no indican
ningún evento que se haya producido, surgen de analizar la información de
que se dispone en el nivel anterior, de relacionarla a un nivel más profundo
para buscar patrones, repeticiones que nos permiten inferir otros eventos
que se van a producir. Nivel Conocimiento.
Nivel de la información
17
Nivel del conocimiento
18
4.2. Revolución Big Data – Nivel conocimiento
Sin embargo, con la explosión de los datos que hemos visto anteriormente, se ha
pasado de poder extraer información de forma agregada para ver tendencias de
tipo general o información de segmentos de mercado, a poder analizar y prever el
comportamiento de una persona determinada, pasando de un marketing basado
en segmentos a un micromarketing basado en las necesidades de cada usuario.
Sin embargo, con las tecnologías asociadas al Big Data y la explosión de los datos,
han aumentado las posibilidades de disponer de información suficiente y de poder
procesarla con rapidez y eficacia. De esta forma, empiezan a surgir nuevas
preguntas que ni siquiera antes nos planteábamos. Nos movemos ahora en un
ámbito en el que no sabemos nada, pero tampoco sabemos qué preguntas son las
apropiadas. Por eso es tan importante hacerse las preguntas correctas, y por eso
de nuevo el aspecto más crítico es la capacidad humana de intuición e
imaginación. No es casualidad que en los últimos años Google ha estado buscando
perfiles más asociados a las ciencias humanas como psicología, antropología,
filosofía o sociología11. Estos perfiles obtienen las preguntas o hipótesis
adecuadas que hay que responder y los técnicos se encargan de analizar los datos
para corroborar o responder adecuadamente.
19
negocio. Cuando la empresa empieza a controlar la información operativa básica
para obtener cuadros de mando que indican la situación del negocio y el
conocimiento del cliente, estamos en el terreno de la Inteligencia de Negocio
“clásica”, y en este caso la analítica es del tipo descriptivo, es decir, se basa en
obtener información y conocimiento de lo que ha pasado. Así se puede conocer
cuántos clientes han comprado ciertos productos, cuántas ventas por delegación
se han contabilizado el mes pasado, y otra información de tipo similar
(acordémonos, preguntas que ya conocemos sobre lo que ya conocíamos).
20
4.3. Analítica predictiva
Siguiendo por el camino, y si cada vez más tenemos modelos y conocimientos más
profundos sobre los datos, se llega a un tipo de analítica que se centra en darnos
propuestas sobre cuál es la mejor acción a realizar ante determinadas situaciones
de mercado, eventos del cliente o de los procesos de negocio. Es la analítica
prescriptiva. En este caso nos intentamos preguntar, a partir de la información de
la que disponemos, qué debemos hacer y, mediante modelos de simulación,
sugerir ciertos caminos de acción, con la previsión de sus consecuencias. Con todo
ello, los empleados de la empresa podrán tomar mejores decisiones y crear una
ventaja competitiva. Este tipo de modelos siempre deberían ofrecer propuestas
que serán validadas por una o varias personas. Pero puede ser que, en algún
momento, los modelos estén tan ajustados y hayan probado su eficacia en
multitud de ocasiones, que puede decidirse pasarlos a modo automático para que
esos empleados que antes validaban y elegían la acción final, no tengan que
hacerlo y se puedan dedicar a trabajar en investigar otros aspectos del negocio,
más creativos o importantes. En este punto nos encontramos ante la analítica
automatizada, donde juegan un papel fundamental la Inteligencia Artificial y la
Robotización.
Está claro que estas cuatro fases descritas conviven en la actualidad en cualquier
empresa, pero no solo porque el cambio organizativo y técnico es un proceso
largo que necesita el desarrollo en fases, sino, sobre todo, porque esta evolución
también es una evolución que afecta al mismo proceso de innovación basada en el
dato. En una primera fase, cuando se lanza cualquier producto o servicio, no se
tiene información sobre el mismo, y lo que se puede controlar es lo que está
pasando en ese momento (analítica descriptiva). A medida que se van
almacenando datos e información, ya se pueden realizar modelos más avanzados
que nos llevan hacia la analítica predictiva y prescriptiva, para llegar finalmente,
por razones de eficiencia y coste, a automatizar ciertos modelos y operaciones
(analítica automatizada). Y este proceso vuelve a empezar en un movimiento
cíclico y continuo.
21
22
5. Nivel Dato: Extraer, Transformar y Cargar
ETL
Extraer (extract)
Transformar (transform)
Los datos obtenidos en la fase de extracción tienen formatos que puede que
no se adecúen a las necesidades de negocio, o que incluso no sea necesario
almacenarlos. Se trata, pues, de adaptarlos a la estructura que va a
almacenarlos. por ejemplo, un cambio típico es cambiar fechas de formato
anglosajón a formato europeo, o eliminar errores y campos vacíos.
23
Cargar (load)
Una vez que los datos están preparados, hay que cargarlos en los sistemas que
los almacenarán de forma definitiva. En esta fase se debe controlar la carga,
un proceso lento, costoso y con frecuentes errores, para asegurar que no se
pierdan datos y estos estén estructurados según se hayan definido.
Sin embargo, a medida que los servicios digitales e Internet han ido
evolucionando, cada vez más se han ido creando información de forma no
estructurada: voz, textos, comentarios, imágenes, vídeos, etc. Este tipo de datos
no puede almacenarse en formatos de tipo tabla, y mucho menos, si se quieren
analizar, no se pueden ajustar al formato registro con campos fijos.
Por otra parte, también las fuentes de datos han ido cambiando. Debido a la
dificultad de almacenar información y a la inexistencia de un medio de
comunicación globalizado como Internet, en épocas anteriores solo se disponía de
los datos que las mismas empresas podían capturar y generar a partir de sus
operaciones o de su relación con el cliente. Podían disponer de sus ventas, de
información de sus clientes, del uso de sus servicios.
A medida que las empresas han empezado a utilizar las nuevas tecnologías,
comenzaron a recopilar información de sus páginas web, aplicaciones, redes
sociales. Esta información ha sido la que ha impulsado el desarrollo de las
tecnologías de Big Data y de analítica avanzada y ha supuesto una mina de oro
para mejorar las operaciones de las empresas.
24
Pero al mismo tiempo que esta información ha sido comprendida y utilizada por
las empresas, también ha destapado la necesidad de poder contar con información
más allá de la que la misma empresa dispone. Por ese motivo, también ha
empezado a utilizarse información pública e información incluso de otras
empresas. Por ejemplo, ahora se dispone información como la que provee ASNEF
para conocer el estado de morosidad de un posible cliente, o han surgido multitud
de iniciativas para poner de forma abierta información pública, lo que se ha
denominado Open Data.
25
5.2. La revolución IoT
En los próximos años esta expansión del dato aumentará de forma exponencial. En
un futuro no muy lejano cada persona dispondrá, tanto en su casa como para su
uso personal, de multitud de dispositivos conectados (relojes, televisores,
altavoces inteligentes, consolas, pulseras, etc.) que aportarán más datos, lo que se
conoce como la revolución IoT (Internet of Things). El uso y compartición de estos
datos provocará un salto adelante en el análisis del comportamiento de personas y
clientes. Esto ha provocado también un cambio en el mismo proceso ETL. Como
hemos visto, el proceso ETL comenzaba con la ingesta de los datos, su preparación
para eliminar errores y adaptarlos a la estructura final, para terminar con la carga
en los sistemas finales, mediante un proceso largo y costoso, proclive a fallos.
Además, al ajustar los datos a una estructura definida de antemano, es complicado
cambiarla ante nuevas necesidades de negocio, ralentizando la adaptación de este
ante los nuevos retos de mercado que puedan surgir.
26
6. Nivel Información: Contextualización y flexibilidad
Como hemos visto, en este nivel es donde se comienzan a relacionar los distintos
datos para poder contextualizar y extraer información de estos. Por tanto, el
objetivo fundamental en este nivel es estructurar los datos y relacionarlos de una
forma que permita un acceso y procesado flexible y rápido a su información.
27
6.2. SQL vs NoSQL
28
Si quisiéramos saber las clases o profesores que hay deberíamos leer toda la tabla
y después eliminar los duplicados para obtener la lista final. Lo mismo ocurre si
quisiéramos saber qué asignaturas da cada profesor o preguntas similares. Como
vemos, a medida que aumentan los campos a insertar, la estructura en una única
tabla se vuelve impracticable.
Por este motivo, en vez de trabajar con una sola tabla se crea una estructura con
varias tablas que encierran la información de un mismo tipo y estas tablas se
relacionan mediante índices, claves o valores. Veamos cómo sería la misma tabla
anterior con un diseño más adecuado:
Vemos que, en vez de poner el valor real del alumno, asignatura o profesor, se
ponen referencias de valores que están en las otras tablas. Si vamos a esas tablas
y buscamos esa referencia, podemos extraer el nombre del alumno de la
asignatura o del profesor. Puede parecer que es menos eficiente y más complejo,
pero si quisiéramos, por ejemplo, cambiar el nombre de la asignatura o nos hemos
confundido en el nombre de un alumno, sólo deberíamos ir a la tabla
29
correspondiente y cambiarlo. De la otra forma, tendríamos que recorrer toda la
tabla de notas y buscar los valores a cambiar.
30
7. Bases de datos NoSQL
32
es la de que suelen permitir que cada registro tenga diferentes columnas,
haciéndolas más flexibles que las SQL, ya que en este caso todos los registros
deben tener el mismo número de campos (columnas).
Ante una misma base de datos podemos ver la diferente forma de almacenamiento en disco.
En las bases SQL se colocan todos los campos de un registro de forma consecutiva, mientras
que en una base de datos columnar se almacenan todos los valores de cada campo de todos
los registros de forma consecutiva. Esto nos permitiría realizar la operación de media de las
notas en menos tiempo.
• Basados en grafos: este tipo de bases de datos utilizan una estructura en grafo
para almacenar la información. Un grafo es una estructura en la que existen dos
tipos de elementos: los nodos y las aristas. Los nodos son entidades de
información (una persona, un libro, un pedido, etc.) y las aristas representan
relaciones que se crean entre los nodos (por ejemplo, “María tiene el libro de
Matemáticas” o “El pedido contiene el artículo 328”). Tanto los nodos como las
aristas pueden tener atributos, para así poder complementar la información que
disponemos de ellos. Si tuviéramos una relación del tipo “María es propietaria de
la casa al 50%”, tendríamos dos nodos, “María” y “Casa”, y la relación “es
propietaria”. Asociado al nodo “María” podrı́amos tener los atributos “Edad:48”, y
asociado a la casa podíamos tener la referencia catastral. Y, finalmente, asociada a
la relación “es propietaria” podíamos tener el valor de “Porcentaje: 50%”. Puede
parecer que la estructura en grafos es demasiado complicada para que sea útil,
pero permite realizar ciertos tipos de búsqueda muy rápido, ya que la asociación
entre elementos está ya establecida en la misma estructura. Por ejemplo, si
quisiéramos saber qué casas tiene María, sencillamente deberíamos ir hasta el
nodo que representar a María y contar las relaciones del tipo “es propietaria”, sin
tener que ir buscando por toda la base de datos todos los registros. Este tipo de
base de datos es muy útil para representar relaciones entre personas, por lo que
pueden ser muy eficientes para manejar información dentro de redes sociales. La
más popular de las bases de datos orientadas a grafos en Neo4j.
33
Aquí podemos ver una representación en forma de grafo que tendría una base de datos SQL
típica. Como vemos las diferentes entidades son nodos dentro del grafo que pueden tener
atributos propios. La relación que en una base de datos en SQL queda fijada en la estructura
de registro y campos, en la base de datos orientada a grafos es una arista de un tipo
determiando ("es profesor de", "se matriculó en" o "imparte"). De forma rápida se puede ver
que "Daniel" tiene dos alumnos o que "paco" tiene dos profesores, mientras que en la base
de datos original es más complicado.
34
8. Sistemas no distribuidos vs sistemas distribuidos
35
Grandes ordenadores versus clústeres
36
8.2. Hadoop
Sin embargo, en Hadoop, lo que se pretende es llevar el código a donde están los
datos. El nodo central da a cada uno de los nodos esclavos el código que tiene que
ejecutar en los datos que ese mismo nodo almacena. Los datos no viajan por la
red, sino que los nodos esclavos realizan operaciones sobre esos datos y envían
resultados parciales al nodo principal que es el que final quien los agrega. Pero, al
37
ser resultados parciales, son menos cantidad de datos y el nodo central tiene que
hacer menos operaciones.
Vamos a profundizar un poco más en cada una de estas capas para conocer cómo
funcionan.
38
Comenzamos con la capa HDFS. Como hemos dicho el Nodo de Nombres es el
encargado de decidir cómo se almacena la información entre los nodos que
forman un clúster. Su objetivo es conseguir la redundancia de información para
poder soportar fallos de hardware y además conseguir procesar la información de
ese fichero en paralelo. Todo ello lo consigue mediante la réplica de pequeños
trocitos de un mismo fichero en varios nodos de datos.
Cuando el fichero tiene una longitud pequeña (Fichero A), el Nodo de Nombre lo
replica un número determinado de veces (lo normal es 3) y coloca cada una de
esas réplicas en un Nodo de Datos distinto. Además, almacena la información de
qué réplica del fichero tiene en cada nodo.
Para leer cada uno de ellos hace el proceso inverso. Recuperando la información,
va a buscar en algunos nodos cada uno de los trocitos, los ensambla y entrega el
fichero total13.
Toda esta estructura permite una recuperación ante fallos muy eficiente. Si un
nodo se cae siempre hay algunos nodos que mantienen toda la información de
cualquier fichero.
Proceso Map
Proceso Shuffle
Lo que se hace es enviar todos los pares “clave i-valor i” cuya clave es la
misma a un nodo de datos. De esta forma se agrupa en un mismo nodo toda la
información asociada a una misma “clave i”.
Proceso Reduce
Escritura final: los resultados de la función Reduce() para cada clave son recogidos
y se escribe en el fichero de salida.
13. Para una explicación con Lego más entretenida, ver: https://www.youtube.com/watch?
v=4GlfoWuONMY
40
8.3. Ejemplo
Podemos comprender mejor este proceso a través de
un ejemplo14. Tenemos un fichero de texto en el que
aparece una lista de frases en las que cada frase puede
tener uno o varios nombres de fruta. Queremos contar
el número de veces que aparece cada nombre de fruta
en el fichero:
Como hemos visto, primero el sistema HDFS habrá partido este fichero en trocitos
y lo habrá almacenado en nodos distintos. Por tanto, habría varios nodos que
deberán trabajar en paralelo para sacar la solución. El programador define la
función Map() de tal forma que lo que hará será leer cada línea, detectar cada
palabra, y crear una clave-valor del tipo “palabra 1”. Estas claves valores se
almacenan en ficheros clave-valor.
41
cuales se ha aplicado la función Map() comentada y se han obtenido ficheros con
las parejas “palabra 1”.
El siguiente paso es realizar las fases Suffle y Reduce(). Para la primera lo que hará
Hadoop será enviar todas las parejas clave-valor que tengan el mismo valor de
clave a un nodo distinto. En este caso, como tenemos 5 valores de clave posibles,
utilizará cinco nodos. Dentro de cada nodo se ejecutará la función Reduce(), que
en este caso consistirá en sumar todos los valores asociados a esa clave,
obteniendo como salida la pareja “palabra suma_de_valores”. Finalmente, todos
los resultados se unen en un fichero de salida, obteniéndose el recuento de
palabras:
Puede parecer que este proceso es demasiado complicado para una tarea
simple que, hasta incluso nosotros, podríamos hacer de forma sencilla y bastante
rápido. Pero no hay que olvidar que en los casos reales nos enfrentamos a grandes
cantidades de datos. La disposición de los datos en un sistema HDFS y el proceso
MapReduce permite que la tarea pueda dividirse de forma muy sencilla entre
muchos ordenadores, e incluso que alguno de estos ordenadores pueda fallar y,
sin embargo, el proceso pueda finalizarse, ya que hay redundancia de datos y de
ordenadores.
42
Desde sus orígenes, Hadoop ha evolucionado hasta crearse un ecosistema de
herramientas, y soluciones que han ido
ampliando las funcionalidades y
mejorando su utilidad.
Por ello varias empresas han desarrollado distribuciones de Hadoop, que hacen
más sencilla su instalación, mantenimiento y soporte dentro de los entornos
empresariales. Dos de las empresas que crearon este tipo de distribuciones,
Cloudera y HortonWorks, se fusionaron en 2018-2019, y operan ahora con el
nombre de Cloudera. Otra distribución conocida es la ofrecida por MapR.
Finalmente, otros grandes de la informática y tecnologías de la información
también tienen sus distribuciones como en el caso de IBM o Amazon Web
Services.
14. Otro ejemplo más heterodoxo para explicar el algoritmo MapReduce con cartas de poker se puede ver
en: https://www.youtube.com/watch?v=bcjSe0xCHbe
43
9. Spark
9.1. Spark
Como característica principal, Spark trabaja por defecto en memoria, por lo que es
bastante más rápido que Hadoop, cuyo trabajo principal se realiza en disco.
Incluso aunque se fuerce a trabajar en disco, Spark supera en velocidad a Hadoop.
Además, su modelo de programación es más flexible, y no se restringe a un
modelo fijo, como sí lo hace MapReduce.
Spark está más orientado a trabajos en tiempo real, pero su flexibilidad también le
permite trabajar en entornos batch o de procesado por lotes (procesado masivo de
datos sin interacción con el cliente que puede ser programado y cuyo resultado no
es necesario que esté en tiempo real). Esto ha permitido poder integrar el
procesado de datos en tiempo real con datos almacenados, clave para el desarrollo
de los casos de uso más avanzados dentro del Big Data.
Sin embargo, Spark no tiene un sistema de ficheros propio, tal y como lo tiene
Hadoop. Por este motivo, los sistemas Spark suelen utilizar y son compatibles con
el sistema HDFS. Por lo tanto, no tiene sentido contraponer Spark y Hadoop, ya
que en la mayoría de las implementaciones de sistemas distribuidos existentes en
la actualidad ambos sistemas suelen coexistir, y se utilizan para implementar de
forma más efectiva ciertas necesidades.
44
De la misma forma que Hadoop, también se han desarrollado otros sistemas y
soluciones para facilitar y mejorar el uso de Spark.
45
10. Arquitecturas híbridas
A medida que se han ido aplicando este tipo de soluciones a los casos reales
dentro de empresas y organizaciones, han aparecido las dificultades y necesidades
que estos casos de uso requerían. Uno de ellos ha sido la necesidad de poder
combinar un procesamiento en lotes con el procesamiento de los datos en tiempo
real.
La mayoría de las empresas recopilan datos que luego son utilizados para poder
perfilar clientes, procesar las ventas y en general para poder mejorar las
operaciones de la empresa. Estos procesos se solían realizar en modo batch o por
lotes, primero debido a la gran cantidad de datos que se iban almacenando y,
segundo, a que, en ese momento, no era necesario que los resultados estuvieran
en tiempo real.
Sin embargo, a medida que los usuarios se conectaban a los diferentes canales,
utilizaban distintas aplicaciones, generando datos y datos, se hacía necesario
procesar estos datos y responder a ellos en tiempo real. Pero no solo basándose
en los datos que se generaban en ese momento, sino también respondiendo a
toda la información y conocimiento de la que se disponía.
Por lo tanto, era necesario combinar la información en batch y los datos que
llegaban continuamente en tiempo real. Para responder a ese reto, se propusieron
dos arquitecturas: la arquitectura Lambda (λ) y la arquitectura Kappa (κ).
La arquitectura Lambda combina dos capas distintas para poder procesar datos en
batch con datos en tiempo real: la Capa Batch + Servicio y la Capa de Velocidad.
46
En la arquitectura Lambda los datos nuevos son enviados tanto a la capa de Batch
como la capa de Velocidad. En la capa Batch los datos son almacenados dentro de
la zona de datos maestros. Estos datos maestros son procesados para generar
vistas de los datos que serán utilizadas posteriormente. Estas vistas son somo
resúmenes o “fotos” de los datos procesados, para que, cuando tengan que se
servidas en tiempo real de consult,a no se tengan que volver a procesar de nuevo
todos los datos. Estas vistas son entregadas a la capa de servicio que se encargará
de servirlas cuando los usuarios realicen las diferentes consultas. En la capa de
velocidad, solo se procesan los datos realmente nuevos, y se preparan las vistas en
tiempo real.
Aunque la arquitectura lambda fue la primera que se propuso para poder unificar
el tiempo real y el batch, conlleva una gran dificultad. El procesado se realiza a
través de dos caminos que pueden implicar tecnologías y sistemas de desarrollo
distintos. Estos dos caminos tienen que estar sincronizados y cualquier cambio en
uno de ellos implica un cambio en el otro, por lo que la gestión de una arquitectura
lambda es complicada.
47
En este caso, para evitar la complejidad de mantener dos caminos distintos, se
elimina la capa batch y todo se procesa en tiempo real. Los datos de tipo batch se
consideran como datos en tiempo real acotados, por lo que cuando se necesitan
se vuelven a introducir en el flujo de entrada para que se procesen de nuevo.
Mediante el procesado de este flujo de datos, se generan las vistas en tiempo real
que son entregadas a la capa de servicio para ser servidas cuando se soliciten en
las consultas pertinentes.
48
11. ¿En mis instalaciones o en la nube?
Por lo que hemos visto, para poder gestionar una gran cantidad de datos de forma
eficiente y flexible se necesitan grandes clústeres de cientos e incluso miles de
servidores, donde se ejecuten sistemas de computación distribuida como Hadoop
y Spark. El mantenimiento y gestión de estos sistemas es bastante complejo y
costoso. Es necesario disponer de multitud de personas que en horarios continuos
mantengan en funcionamiento multitud de componentes informáticos, equipo
especializado que pueda configurarlos y operarlos, y además una conexión a la red
eléctrica constante, no sólo para dar energía a esos mismos servidores sino
también para mantenerlos refrigerados.
Así que, a finales del 2003, dos ingenieros de Amazon 16 propusieron aplicar todo
lo que habían aprendido en el desarrollo de la propia infraestructura informática
de la empresa, y montar una nueva división que ofreciera esta capacidad y
servicios a otras empresas, y así nació Amazon Web Services, líder indiscutible de
lo que se empezó a llamar “la nube”. Millones de ordenadores, almacenamiento,
sistemas informáticos puestos a disposición en modo de pago por uso, con
interfaces y herramientas que hacían posible que en pocos minutos una sola
persona pudiera crear, configurar y utilizar clústeres de datos sin tener que
comprar, instalar y operar. Sin tener que hacer inversiones que luego no pudieran
ser rentabilizadas: con solo pulsar el botón de off en una pantalla de ordenador, el
clúster de datos desaparecía y los servidores que lo formaban eran reutilizados
para otros clientes. Sólo se paga por el tiempo que se usaba o tenía disponible esa
infraestructura.
Esto permitió a las compañías clásicas poder hacer una migración hacia el nuevo
paradigma de procesado de datos. Sin tener que hacer inversiones costosas que
luego deberían ser desechadas si no eran rentables, sin tener que comprar, instalar
y mantener equipos informáticos, sin tener que crear equipos que tuvieran que
mantener el hardware, el almacenamiento y el sistema físico donde se alejaban.
Procesos que estaban en torno a meses de desarrollo podían hacerse en minutos,
con menos personal y gastos.
Estos dos tipos de acercamiento para crear la infraestructura necesaria para poder
disponer de las capacidades de computación que exigen los nuevos sistemas
distribuidos de procesamiento de datos e información se conocen como “on-
premises” (en instalaciones propias) o “cloud” (en la nube). Estos servicios de cloud
se pueden dar, de forma genérica en tres formas:
50
Si tenemos en cuenta los diferentes niveles funcionales que existen dentro de un
servidor, podremos distinguir los distintos servicios cloud que pueden ofrecerse.
Si nosotros somos los que compramos los servidores, los isntalamos en nuestra
red, cargamos el sistema operativo y las diferentes aplicaciones, estamos en un
entorno On-premises.
Finalmente, podríamos contratar con el tercero todos los niveles. En este caso solo
deberemos usar la aplicación que ete tercero ha desarrollado. Puede parecer
extraño, pero en realidad estamos todo el día utilizando aplicaciones de este tipo.
Cuando accedes a Gmail, Facebook o aplicaciones similares, estamos usando una
aplicación SaaS (Software as a Service).
52
11. 2. AWS productos y servicios
Entre todos los servicios y productos de los que dispone AWS pueden destacarse
los siguientes18:
• Servicios de almacenamiento
• Hardware
• Bases de datos
53
destaca por su rapidez de lectura debido a su almacenamiento caché en memoria.
Por eso, es muy utilizada como base de datos en aplicaciones y servicios web que
gestionan multitud de accesos por parte de los usuarios.
• Servicios
- Kinesis: servicio para poder crear y gestionar flujos y stream de datos para
aplicaciones en tiempo real.
Como se puede suponer, este tipo de servicios tienen multitud de ventajas. La más
importante es la flexibilidad. En muy poco tiempo puedo tener disponible un
sistema totalmente configurado y preparado, sin tener que invertir de antemano
en comprar equipos, licencias o recursos. Además, si por motivos de negocio la
empresa tiene que crecer o disminuir, simplemente puedo eliminar o aumentar la
capacidad, pagando por lo que estoy utilizando sin perder ningún tipo de
inversión.
Todo esto hace que las empresas puedan pasar de un modelo de inversión en
grandes centros de datos a un modelo basado en contratación de un servicio, por
lo que se pasa de gasto en capital (CAPEX) a gastos operacionales (OPEX), lo que
es más asumible para startups y pequeñas empresas.
Pero, por otra parte, también hay ciertas desventajas. La más importante es la
sensación de pérdida de control. Los usuarios pueden sentir que su datos y
máquinas están menos bajo control, por lo que pueden surgir dudas sobre la
privacidad y confidencialidad.
54
Pero en verdad, en la mayoría de los casos es una sensación irreal. Desde hace
muchos años las grandes corporaciones ya habían externalizado el servicio de
centro de datos. Aunque se consideraba que los centros de datos eran propios, en
verdad estaban siendo gestionados por terceras partes, que ponían a disposición
de estas empresas parte de la capacidad que tenían disponible en centros de datos
compartidos. Así que ya se podía considerar que se estaba usando la nube, pero
sin la flexibilidad y sencillez que permiten los servicios cloud. Por ejemplo, la
instalación de nuevos servidores era un proceso de varios meses, mientras que en
la nube es cuestión de minutos.
Por eso, en realidad, para disfrutar de todas las ventajas que ofrece el desarrollo
en la nube, la mayoría de las empresas utilizan sistemas híbridos. Se dispone de
una infraestructura “on-premises”, para almacenar información que por su alto
nivel de confidencialidad o privacidad necesita ser procesada en un entorno más
controlado. Cuando se necesita disponer de mayor capacidad de proceso, se
dispone de una infraestructura en la nube a la que se envía información cifrada
y/o anonimizada, se procesa y se recogen los resultados. Cuando ya se ha
terminado de procesarlos, esta infraestructura se congela, por lo que no se incurre
en más gastos innecesarios. Esta forma de actuar es muy común cuando las
empresas van a lanzar grandes campañas puntuales, y se necesita dar servicio a
una gran demanda de peticiones y usuarios (por ejemplo, el Black Friday).
18. Para un listado de casi todos los servicios disponibles, ver: https://www.linkedin.com/pulse/listado-
de-todos-los-servicios-amazon-web-services-daniel-pe%C3%B1a-silva/
55
12. Nivel Conocimiento: Analizar y Comprender
Preparación de datos
Una vez limpios y aunque los datos también tengan ya cierta estructura, como
el análisis puede dirigirse hacia otros objetivos distintos de los definidos
cuando se recogieron los datos, es necesario estructurarlos de la mejor forma
que permita que el análisis sea más sencillo. Se empiezan a relacionar unos
datos con otros y además se dejan preparados en algún formato o en algún
tipo de bases de datos o sistema de ficheros (relacional, NoSQL, HDFS) que
pueden ser procesados por las herramientas utilizadas en fases posteriores
56
Análisis
En esta fase se empieza a comprender e interpretar los datos. Para ello las
herramientas fundamentales son la estadística, al utilizar técnicas de muestreo
y métricas estadísticas, y sobre todo la visualización de los datos, desde la
simple creación de tablas numéricas, hasta los gráficos y animaciones más
complejos y completos. En esta fase se empieza a intuir las diferentes
propiedades de los datos que guiarán los siguientes pasos
Creación de modelos
Prueba y optimización
Aunque el modelo puede tener cierta eficacia teórica, siempre hay que
probarlo y confrontarlo con la realidad. Para ello es necesario ejecutar algún
tipo de test o prueba real, eligiendo grupos de control, para así comprobar el
valor real de los modelos. Muchas veces los modelos son muy buenos
detectando o infiriendo variables, pero su aplicación puede fallar por
cuestiones tales como la dificultad de escalarlo hacia todos los clientes o la no
adecuación a los procesos o productos de la compañía. Pero incluso si el
modelo funciona adecuadamente, su aplicación nos ofrece nuevas variables e
incluso nuevos descubrimientos de relaciones que no habíamos detectado y
que, por tanto, pueden volver a ser analizadas para optimizar el modelo. De
esta manera, de una forma cíclica, volvemos a la primera etapa, recogiendo y
preparando esa nueva información y datos para su análisis
Las etapas de este proceso que hemos indicado tienen cierta relación con los tipos
de analítica que se habían visto anteriormente. Por ejemplo, en la Analítica
Descriptiva que buscaba responder a la pregunta sobre qué ha pasado, se suele
llegar solamente a las tres primeras fases (limpiar, estructurar y analizar). Sin
embargo, en la Analítica Predictiva y Prescriptiva se llegan a realizar todas las
etapas.
57
El proceso de análisis suele seguir unos pasos muy definidos, con tareas muy específicas y
que utilizan herramientas enfocadas en resolver la problemática de cada etapa. La utlización
de cada una de las etapas también tiene mucho que ver con el tipo de analítica que
queremos o tenemos que desarrollar.
19. En otro módulo, veremos una metodología formal de este tipo denominada CRISP-DM:
https://es.wikipedia.org/wiki/Cross_Industry_Standard_Process_for_Data_Mining
58
12.2. Visualización: a veces la vista no nos engaña
¿Por qué es importante? En el mundo pre-big data había pocos datos y se podían
manejar y visualizar bien, pero ahora es muy difícil visualizarlos y existe la
tentación de hacer medidas resumen con el objetivo de entenderlos, pero que
pueden ocultar la verdad.
59
En el primer caso (arriba a la izquierda) podemos ver un típico conjunto de
datos donde los puntos se encuentran más o menos repartidos siguiendo
esa línea de tendencia.
En la imagen de arriba a la derecha, sin embargo, podemos ver que la
tendencia estaría mejor representada por una curva polinómica que se
ajustaría perfectamente a la variabilidad de los datos.
En el tercer caso (abajo a la izquierda), podemos ver que mientras un grupo
de datos sigue una tendencia lineal muy clara, hay un punto que se separa
completamente. Además, lo que significa ese punto puede depender mucho
de la realidad que representa ese dato o de los objetivos del análisis. En la
mayoría de los casos puede tratarse de un caso anómalo (outlier) que puede
decidirse quitar de los datos para que no estropee el análisis. Pero si, por
ejemplo, lo que estamos haciendo es un modelo para detectar casos de
fraude, quizás ese punto sea el caso anómalo que representa ese mismo
fraude, por lo que en verdad deberíamos quitar todos los demás puntos y
centrarnos en ese.
Finalmente, en el último ejemplo, podemos pensar que el punto alejado
puede tratarse de un caso anómalo, pero quizás también pueda significar
que se trata de casos que se agrupan en grupos específicos y entonces
podríamos decantarnos en las fases posteriores a utilizar técnicas de
clusterización y/o categorización para detectar estos diferentes grupos.
El fallo de la junta fue provocado por las bajas temperaturas que se produjeron la
noche anterior y el día del lanzamiento. Según los estudios estadísticos
posteriores, la tasa de fallo se acercaba al 13%, mientras que los estudios
generales de probabilidad de fallo general del transbordador estaban alrededor del
0,001%.
Los ingenieros que decidieron el lanzamiento del transbordador tenían muy pocos
datos y además los recogían de forma poco visual.
60
Los ingenieros solo habían tenido en cuenta datos de
temperatura cuando otras juntas habían sufrido estrés,
pero su análisis no dejaba claro que hubiera una
relación directa entre la temperatura y el estrés.
61
12.3. Herramientas de visualización de datos
Excel: el clásico por antonomasia. Su uso está muy extendido porque es una
herramienta altamente utilizada en el entorno empresarial y financiero.
Tableau y Qlik: son herramientas de visualización de nueva generación que
empezaron como servicios web, pero también cuentan con versiones
descargables, aunque todo su potencial se desvela en entornos
compartidos. Tienen versiones gratis y, cada vez más, su uso está más
extendido.
Google Data Studio: una herramienta gratuita de Google enfocada sobre
todo para el análisis de los datos que generan otro tipo de servicios de la
misma compañía, como por ejemplo Google Analytics, YouTube o Google
Ads. Muy utilizada en entornos de métricas web y apps.
Amazon QuickSight: herramienta de visualización ofrecida por Amazon
dentro de su servicio AWS. Puede trabajar con gran cantidad de datos de
diversas fuentes, ya que utiliza todos los servicios y recursos disponibles
dentro de los que están disponibles en Amazon Web Services.
QGIS: herramienta de software libre para PC, gratuita y muy popular. Con
gran cantidad de capas de información georeferenciada y una gran
comunidad con multitud de desarrolladores añadiendo funcionalidad a
través de plug-ins y software adicional.
ArcGIS: herramienta de pago desarrollada por la empresa ESRI, orientada a
las empresas. Tiene versión para escritorio y también online. Esta
ampliamente extendida en empresas que se dedican a la explotación de
mapas y datos geolocalizados.
Google Earth y Google Maps: herramientas muy populares, utilizadas por el
gran público, pero abierta a desarrolladores para que puedan crear mapas y
asociar información geoespacial. Gratuito hasta un cierto número de
elementos a mostrar y peticiones.
Carto: empresa española que ha desarrollado una herramienta de
visualización geoespacial totalmente online muy potente, siendo referencia
internacional. Gratuita hasta cierta cantidad de información mostrada y
almacenada.
62
mostrar, hay visualizadores especializados en grafos:
63
12.4. Análisis: empezar a extraer conocimiento de los datos
Paquetes de análisis
SPSS
SAS
65
Power BI
Entornos de análisis
Son entornos de desarrollo de propósito más específicos que cuentan con una
interfaz más visual y agradable. La mayoría de la programación se realiza a
través de bloques funcionales que se van uniendo con el ratón. Cualquier
miembro de la comunidad puede desarrollar nuevos bloques y así aumentar
las funcionalidades y capacidades disponibles. Con estos entornos, un usuario
no avanzado puede crear en pocos minutos modelos complejos y funcionales
sin tener que aprender un lenguaje de programación.
66
12.5. Inteligencia Artificial: intentar que las máquinas piensen
como nosotros
67
Debe ser un sistema que razone
que, con las reglas que ha desarrollado en la fase de aprendizaje, pueda llegar
a conclusiones aproximadas o definitivas a partir de nueva información que
reciba.
Debe autocorregirse
68
12.6. Tipos de inteligencia artificial
Débil
Es aquella inteligencia artificial que está diseñada y entrenada para una tarea
en particular, por ejemplo “detectar gatos” en una foto. Para la tarea para la
que han sido diseñadas, suelen ser mejor que cualquier humano, y además
también más rápida. Por ejemplo, muchos sistemas de reconocimientos de
imagen médica pueden detectar, con mayor eficiencia y en mucho menos
tiempo, el cáncer de mama de lo que haría un experto.
Fuerte
69
12.7. Términos a diferenciar
Para que este tipo de sistemas puedan funcionar, utilizan técnicas de machine
learning. Con estas técnicas, un asistente virtual puede aprender a entender
diferentes acentos o un coche autónomo puede detectar una bicicleta en su
camino. Por tanto, dentro de la inteligencia artificial, como una parte muy
importante, se encuentra el machine learning.
Finalmente, el machine learning cuenta con muchas técnicas distintas, entre las
que se encuentran, por ejemplo, los árboles de decisiones, los métodos de
regresión, SVM u otras. Dentro de estas técnicas, una de las más utilizadas en la
actualidad y que ha sido potenciada por la gran cantidad de información
disponible ha sido la de las redes neuronales. Y, dentro de las redes neuronales,
destaca el deep learning o aprendizaje profundo.
70
haremos una clasificación en base a la manera de entrenar. Siguiendo esta
categorización habría tres tipos:
Aprendizaje supervisado
Aprendizaje no supervisado
Aprendizaje reforzado
En este caso, el aprendizaje no tiene que ver con los datos en sí mismo, sino
con un “ambiente o mundo” con el que el sistema de inteligencia artificial tiene
que interactuar. Este ambiente puede ser tan sencillo como una partida de
ajedrez o un juego de ordenador, o puede ser tan extenso y complejo como la
conducción por una ciudad. Por tanto, lo que hacemos es dejar que el sistema
de inteligencia artificial se “mueva” dentro del ambiente y a cada movimiento
o acción que realice le damos una puntuación. Además, marcamos un objetivo
de puntuación, por lo que el sistema intentará maximizar esos puntos, lo que
indicará que ha podido sobrevivir en ese ambiente y por tanto sabrá cómo
tratar con los problemas de ese mundo. De esa manera, sin tener que conocer
todas las situaciones que se pueden producir en ese mundo, habrá aprendido
unas reglas que maximizan la posibilidad de tener éxito ante cualquier
situación.
71
Se muestran en el gráfico los diferentes métodos de machine learning según la forma de
entrenamiento. Se incluyen las problemáticas típicas en las que se aplica cada una de ellas y
algunos de los métodos más conocidos y populares dentro de cada categoría.
No hay espacio para poder explicar con un poco de profundidad todos los
métodos que pueden utilizarse, sin embargo, hay una ampliación clarificadora que
proponemos en nota a pie de página23.
Sin embargo, para poder tener una visión general de cómo funcionan las redes
neuronales y el deep learning, vamos a explicar sus características y estructura
básica. Este tipo de técnica se basa en simular el funcionamiento del cerebro
humano y de sus neuronas.
72
Siguiendo la estructura de una neurona real, el Perceptrón recibe información de
varias entradas (en este caso 5). Cada una de las entradas se pondera por un peso.
Todos estos valores ponderados se agregan. Este valor agregado pasa a la función
de activación y si ese valor sobrepasa un umbral, se activa la salida. Dependiendo
de los pesos, la función de agregación y la función de activación, el Perceptrón
obtiene una salida específica para cada conjunto de entradas24.
Capa de entrada
Esta capa recoge las señales de entrada. Debe tener el mismo número de
neuronas que número de señales de entrada. Cada una de las neuronas se
conecta con cada una de las neuronas de la capa interna.
73
Capa interna
Capa formada por varias neuronas conectadas a todas las demás neuronas de
la capa de entrada. Esta capa procesa las diferentes salidas de las neuronas de
entrada y sus salidas están conectadas a cada una de las neuronas de la capa
de salida.
Capa de Salida
Esta capa recoge las señales de cada una de las neuronas de la capa interna,
las procesa y obtiene las diferentes señales de salida. Como ocurre con la capa
de entrada, esta capa debe tener el mismo número de neuronas que las
señales que queramos obtener.
Realmente nadie puede comprender cómo funcionan este tipo de estructuras, por
qué eligen ciertos valores internos o realizan ciertos procesados. Por este motivo,
muchas veces, por causas legales, no pueden ser utilizadas. Por ejemplo, en
entornos bancarios y aseguradores, los modelos utilizados para dar un crédito o
un seguro necesitan ser explicables para el usuario, por si este quiere reclamar si la
respuesta es negativa. De ahí que en estos casos se estudien otras técnicas más
fáciles de entender y de las que se pueda explicar la salida en base a las entradas.
74
23. Para una ampliación muy sencilla y clarificadora de todos estos métodos, ver:
https://vas3k.com/blog/machine_learning/
75
12.8. Sistemas cognitivos
Finalmente, dentro del campo de la inteligencia artificial, el último avance son los
sistemas cognitivos. Un sistema de este tipo se puede definir según ciertas
características:
Una vez realizado este mapa conceptual ejecutan sistemas cognitivos para
encontrar información oculta en ese mapa conceptual, buscando relaciones
entre conceptos. Estos agentes son como pequeños programas que combinan
machine learning, programación y sistemas expertos para ir navegando dentro
del grafo e ir encontrando patrones.
76
Utilizan interfaces naturales para relacionarse con humanos
77
26. Para más información ver: https://www.muycomputerpro.com/2019/09/24/ibm-watson-casi-todo-
lo-que-tienes-que-saber o el vídeo del concurso: https://youtu.be/YgYSv2KSyWg
78
Bibliografía
Bibliografía
Al ser Big Data un concepto muy amplio, la información más actualizada y más en
detalle se encuentran en las mismas webs de las empresas que desarrollan las
soluciones, en foros y blogs online. De todas formas, se indican algunos libros
generalistas:
“Big Data para Dummies” – Judith Hurwitz , Alan Nugent, Fern Halper, Marcia
Kaufman
“Big Data. La Revolución de los Datos Masivos” – Kenneth Cukier y Viktor Mayer-
Schönberger
“Big Data para CEOs y Directores de Marketing: Cómo dominar Big Data
Analytics en 5 semanas para directivos” – Isaac Gonzalez Diaz
79
80
Fin de módulo
¡Enhorabuena!
81