TFM-I-1372 (Machine Learning) - 27 A La 43

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 21

Máster en Ingeniería Industrial

MÁSTER EN INGENIERÍA INDUSTRIAL


ESCUELA DE INGENIERÍAS INDUSTRIALES
UNIVERSIDAD DE VALLADOLID

TRABAJO FIN DE MÁSTER

UTILIZACIÓN DEL MACHINE LEARNING


EN LA INDUSTRIA 4.0

Autor: D. Alberto Maisueche Cuadrado


Tutor: D. Pedro Sanz Angulo

Valladolid, septiembre, 2019


RESUMEN Y PALABRAS CLAVE

Resumen:
Los mayores crecimientos económicos vienen impulsados por grandes innovaciones
tecnológicas, como la máquina de vapor, la electricidad o el motor de combustión interna. Las
empresas, por su parte, tratan de aprovechar estas revolucionarias tecnologías para crear nuevos
modelos de negocio y generar altos beneficios con mínimo coste.
Actualmente, nos encontramos en la cuarta revolución industrial, donde una de las tecnologías
más importantes es la inteligencia artificial. En concreto, el aprendizaje automático o Machine
Learning surge como un subcampo de la inteligencia artificial que da a las computadoras la
habilidad de aprender sobre algo para lo que no han sido explícitamente programadas.
En el presente Trabajo Fin de Máster se introducen los fundamentos del Machine Learning bajo
el contexto de la Industria 4.0, se explican los diferentes tipos de problemas que es capaz de
resolver y se exponen casos reales de aplicación en la industria.

Palabras clave:
Industria 4.0; Inteligencia Artificial; Aprendizaje Automático; Aprendizaje Profundo; Fábrica
Inteligente

Abstract:
The greatest economic growths are driven by major technological innovations, such as the
steam engine, electricity or the internal combustion engine. The companies, meanwhile, try to
take advantage of these revolutionary technologies to create new business models and generate
high profits with minimal cost.
We are currently in the fourth industrial revolution, where one of the most important
technologies is the Artificial Intelligence. In particular, the Machine Learning emerges as a
subfield of artificial intelligence that gives computers the ability to learn about something for
which they have not been explicitly programmed.
The present master’s thesis introduces the fundamentals of Machine Learning in the context of
Industry 4.0, explains the different types of problems it can solve, and exposes its real
applications in the industry.

Key words:
Industry 4.0; Artificial Intelligence; Machine Learning; Deep Learning; Smart Factory
EL MACHINE LEARNING
Los seres humanos necesitan buscar patrones para comprender el mundo que les rodea y
anticipar ciertos comportamientos. El aumento en el número de interacciones entre usuarios y
sistemas está generando grandes volúmenes de datos de los cuales se esperan obtener patrones
que permitan predecir resultados o comportamientos con el mínimo error. Para lograrlo, se
emplean diferentes técnicas computacionales y en los último años están destacando aquellas
que se engloban bajo el nombre de Machine Learning (Aprendizaje Automático), un área de la
inteligencia artificial que es cada vez más importante en todos los sectores (Orozco, 2018).
Con frecuencia se emplean indistintamente conceptos como ciencia de datos, minería de datos,
aprendizaje automático o inteligencia artificial (Álogos, 2018). En este capítulo se explican las
diferencias entre estos términos, así como los fundamentos del Machine Learning. También se
presentan los diversos tipos de aprendizaje en función del problema que se quiere resolver y
algunos de los algoritmos empleados en cada caso.

1.1. ¿Qué es el Machine Learning?

El Machine Learning es una técnica asociada a la detección automática de patrones relevantes


dentro de un conjunto de datos. En los últimos años, se ha convertido en una herramienta muy
común en prácticamente todas las tareas que requieren extraer información a partir de grandes
cantidades de datos (Shalev-Shwartz & Ben-David, 2014). En el día a día, estamos rodeados de
tecnología basada en Machine Learning: el filtrado de correos electrónicos, los sistemas de
recomendaciones, la detección facial y el reconocimiento del habla del smartphone, la previsión
del tiempo atmosférico o la consulta del tráfico en la carretera. También se emplea en otros
ámbitos como la medicina, el marketing, la logística o el mantenimiento de equipos industriales.
Debido a la complejidad de todas estas aplicaciones, un ser humano no es capaz de programar
una serie de especificaciones concretas para la realización de dichas tareas, sino que tiene que
dotar a las propias computadoras con la habilidad de aprender de la experiencia y de adaptarse
a las nuevas situaciones (Shalev-Shwartz & Ben-David, 2014). Por otro lado, existen diferentes
tipos de aprendizaje: el aprendizaje supervisado, el aprendizaje no supervisado, el aprendizaje
reforzado y el aprendizaje profundo. Cada uno de ellos tiene unas características y unos
algoritmos determinados, por lo que se utilizarán unos u otros dependiendo del problema.

1.1.1. Conceptos previos

Arthur Samuel, pionero en Machine Learning e inteligencia artificial, definió el Machine


Learning como “el campo de estudio que da a las computadoras la habilidad de aprender sobre
algo para lo que no han sido explícitamente programadas” (McClendon & Meghanathan, 2015).
Allá por la década de 1950, Arthur Samuel diseñó un programa informático que aprendía a
jugar a las damas. Él no era un buen jugador de damas, pero consiguió que el programa jugara

Utilización del Machine Learning en la Industria 4.0 11


miles de veces contra sí mismo hasta obtener la experiencia suficiente como para saber qué
posiciones del tablero eran buenas y cuáles eran malas (Ng, 2012).
Tom Mitchell, también pionero del Machine Learning, propuso en 1997 que un problema de
aprendizaje bien planteado se define de la forma siguiente: “un programa aprende de la
experiencia E con respecto a una tarea T y a un rendimiento P, si el rendimiento medido por P
en la tarea T mejora con la experiencia E”. Tomando como ejemplo el programa de aprendizaje
del juego de las damas: la tarea T es el jugar a las damas, el rendimiento P se mide con el
porcentaje de juegos ganados contra oponentes, y la experiencia E es el jugar contra sí mismo
a modo de entrenamiento (Mitchell, 1997).
Otras definiciones de Machine Learning están enfocadas desde un punto de vista matemático,
algorítmico o estadístico. Sin embargo, para englobar dichas perspectivas, el Machine Learning
se define como “un conjunto de técnicas dentro del ámbito de la inteligencia artificial que utiliza
métodos estadísticos para la búsqueda de patrones a partir de los cuales se crean máquinas
inteligentes capaces de aprender y tomar decisiones en base a datos empíricos obtenidos de
diversas fuentes” (Álogos, 2018).
Analizando esta última definición, el Machine Learning forma parte de lo que se denomina
inteligencia artificial. La inteligencia es la habilidad de pensar y entender en lugar de hacer algo
por instinto o automáticamente. A su vez, pensar es la actividad de usar el cerebro a la hora de
considerar un problema o para crear una idea. No se especifica si la habilidad de pensar es
propia únicamente de alguien o si, por el contrario, algo que posea un órgano que le permita
aprender, entender, resolver problemas y tomar decisiones puede tener también esta habilidad.
Por lo tanto, el objetivo de la inteligencia artificial como ciencia es hacer que las máquinas
realicen tareas que requirieran inteligencia de ser realizadas por un humano (Negnevitsky,
2002).
Los subcampos de la inteligencia artificial son aquellos que se especializan en imitar una parte
concreta del sistema cognitivo humano y de sus comportamientos: el Machine Learning es el
encargado del reconocimiento de patrones y del aprendizaje; los sistemas expertos se ocupan
de la toma de decisiones; los sistemas de búsqueda y planificación eligen la secuencia más
adecuada de pasos a seguir para resolver un problema; el reconocimiento del habla y el
procesamiento del lenguaje natural analizan y tratan la información recibida a través del
lenguaje humano para posibilitar la comunicación; la percepción (como la visión artificial)
permite conocer y sentir lo que hay alrededor; y la robótica transforma las decisiones en
movimientos (Russell & Norvig, 2010).
La inteligencia artificial, a su vez, forma parte de la ciencia de datos (Data Science). La ciencia
de datos se encarga de analizar y revelar con datos lo que hay detrás de fenómenos naturales,
humanos y sociales desde un punto de vista multidimensional, flexible y dinámico (Hayashi,
1998). Este término se usó en la década de 1960 como sinónimo de ciencia computacional, y
no fue hasta 2001 que se la consideró una disciplina independiente que amplía la estadística con
avances informáticos de datos.
Al fin y al cabo, el objetivo de la ciencia de datos es hacer que los datos sean útiles, es decir,
que influyan en acciones del mundo real. Para ello, se establecen tres fases: la búsqueda de
inspiración en los datos, de la que se encarga la minería de datos y la analítica; la toma de

12 Utilización del Machine Learning en la Industria 4.0


decisiones, basada en la estadística; y la creación de modelos, empleando algoritmos de
Machine Learning (Kozyrkov, 2018).
Conviene diferenciar los conceptos de Big Data y de minería de datos (Data Mining). El Big
Data se refiere a la obtención y almacenamiento de grandes conjuntos de datos mientras que el
Data Mining se refiere al análisis profundo de los patrones en los datos. Por lo tanto, el Big
Data necesita que el Data Mining aporte conocimiento y valor a los datos recogidos. Sin
embargo, el Data Mining puede trabajar con cantidades pequeñas de datos, por lo que no es
necesariamente dependiente del Big Data (Márquez, 2016).
La estadística se viene utilizando para aprender de los datos desde hace más de un siglo, solo
que ahora existe la potencia de cálculo suficiente para tratar ficheros de datos de forma masiva
y automática. Las habilidades estadísticas se requieren cuando, tras haber seleccionado los datos
de los cuales se puede extraer información relevante, se desean tomar decisiones de alta calidad
y bajo riesgo. No existe una técnica más inteligente que otra para llevar a cabo esta tarea, sino
que cada uno emplea de forma inteligente las técnicas que mejor conoce en cada problema
(Aluja, 2001).
A modo de resumen, la Figura 2. 1 representa la ubicación del Machine Learning y su relación
con otros campos. Se observa que el Machine Learning es una parte fundamental de la
inteligencia artificial y que comparte técnicas con el Data Mining bajo el campo de la
neurocomputación. Respecto al reconocimiento de patrones nace un subcampo del Machine
Learning llamado Deep Learning (aprendizaje profundo), el cual emplea redes neuronales
artificiales para aprender de forma no supervisada mediante varias capas jerárquicas.

Figura 2. 1. El Machine Learning y su relación con otros campos (Villén, 2019).

Utilización del Machine Learning en la Industria 4.0 13


1.1.2. Historia del Machine Learning

El Machine Learning se fundamenta en las matemáticas, la estadística y la computación. Los


desarrollos en computación no llegaron hasta la década de 1940, pero antes de ese momento
hubo varios métodos y técnicas matemáticas y estadísticas que sirvieron de base para lo que
hoy se conoce como Machine Learning: el Teorema de Bayes, el ajuste por Mínimos Cuadrados
y las Cadenas de Márkov.
El Teorema de Bayes (1763) calcula la probabilidad de un evento A dado otro evento B a partir
de la probabilidad del evento B dado A (Hayes, 2019). Esto quiere decir que, por ejemplo, si se
tienen tres líneas de producción y se conoce la probabilidad de que un producto sea defectuoso
habiéndose fabricado en la línea de producción A, es posible conocer la probabilidad de que un
producto defectuoso provenga de la línea de producción A.
El ajuste por Mínimos Cuadrados (1805) es una técnica de optimización matemática que busca
la función continua que mejor se aproxime a una serie de datos según el criterio de mínimo
error cuadrático (Abdi, 2003). Por otra parte, la cadena de Márkov (1913) es un tipo de proceso
estocástico discreto en el que la probabilidad de que ocurra un evento solo depende del evento
inmediatamente anterior (Oxford Dictionaries, 2019).
En 1950, Alan Turing publicó un artículo titulado ‘Computación e Inteligencia’ en el que se
preguntaba si las máquinas podían pensar (González, 2018). Para ello propuso el imitation
game, una prueba consistente en una conversación escrita entre una persona y una máquina por
la cual la computadora se consideraba inteligente si la persona no era capaz de distinguir si
estaba hablando con una persona o con una máquina (Marr, 2016).
La primera red neuronal artificial fue creada por Marvin Minsky y Dean Edmonds en 1951 bajo
el nombre de SNARC (Stochastic Neural Analog Reinforcement Computer), y su propósito era
imitar a una rata a la hora de aprender a salir de un laberinto. En 1952, Arthur Samuel escribió
un programa diseñado para aprender a jugar a las damas a partir de sus propios errores. Más
tarde, en 1957, Fran Rosenblatt diseña el Perceptron, una red neuronal que reconocía caracteres
de forma similar al de los sistemas visuales biológicos (Marr, 2016). Pronto se vieron algunas
de las limitaciones del Perceptron, ya que su arquitectura de una única neurona solo permitía
la resolución de problemas lineales sin la posibilidad de extender el método de aprendizaje a
otras redes más complejas.
Tras la publicación del libro Perceptrons: an introduction to computational geometry (Minsky
& Papert, 1969), que explicaba matemáticamente las limitaciones del perceptrón, hubo un corte
repentino en la financiación de proyectos de inteligencia artificial y, en particular, de aquellos
que involucraban redes neuronales. Este periodo de más de quince años se conoce como el
invierno de la inteligencia artificial, que acabó gracias a la publicación Learning
representations by back-propagating errors (Rumelhart, Hinton, & Williams, 1986) por la cual
se mostraba experimentalmente el algoritmo para conseguir que una red neuronal autoajustara
sus parámetros a partir de sus errores: Backpropagation (Santana, 2018).
Diez años más tarde, en 1996, el computador DeepBlue de IBM ganó una partida de ajedrez al
vigente campeón mundial (Marr, 2016). Al año siguiente, la nueva versión DeeperBlue
consiguió vencer todas las partidas (González, 2018). En 2006, Geoffrey Hinton presentaba el

14 Utilización del Machine Learning en la Industria 4.0


concepto de Deep Learning o aprendizaje profundo, basado en el concepto de Backpropagation,
que permite que los computadores distingan objetos y textos procedentes de imágenes y vídeos
(Marr, 2016).
La compañía británica DeepMind Technologies, fundada en 2010 y adquirida por Google en
2014, logró desarrollar una red neuronal capaz de aprender a jugar a videojuegos analizando
únicamente el comportamiento de los pixeles en la pantalla. En 2015, DeepMind creó un
algoritmo llamado AlphaGo, que venció a jugadores profesionales en el juego de mesa chino
Go, considerado el más complejo y difícil de anticipar (BBC, 2019).
OpenAI es una compañía sin ánimo de lucro creada en 2015 y dedicada a la investigación en
inteligencia artificial para el bien de la humanidad. En 2017, esta compañía despunta los
avances en agentes conversacionales o chatbots, así como en el mundo de los videojuegos
(Marr, 2016).
Actualmente, el término singularity está en boca de todos los expertos. Este concepto es el
resultado del crecimiento exponencial de las capacidades cognitivas de la inteligencia artificial
hasta el punto de igualar o superar las del cerebro humano. Así, la inteligencia artificial crearía
versiones mejoradas de sí misma, llegando a tener a los humanos como esclavos. Ciertos
organismos estudian la probabilidad de que este escenario ocurra en un futuro y, aunque no sea
muy probable, sigue suponiendo un gran riesgo para la raza humana (BBC, 2019).

1.2. Fundamentos del Machine Learning

En este apartado se presentan los fundamentos para comprender la forma en la que las máquinas
aprenden. Para ello, se explican los conceptos de función de coste y de método del descenso del
gradiente. A continuación, se muestran los principales errores o problemas que surgen a la hora
de realizar un modelo de Machine Learning: la varianza (variance), el sesgo (bias), el
sobreajuste (overfitting) y el subajuste (underfitting). Por último, se explican los pasos a seguir
para desarrollar e implementar una solución con Machine Learning.

1.2.1. El aprendizaje

El aprendizaje en un sistema de Machine Learning consiste en el ajuste de los parámetros de un


modelo en función de los datos recibidos. Este conjunto de datos recibe el nombre de data set,
el cual contiene variables tanto independientes como dependientes. Las variables
independientes (features) son aquellas columnas del data set usadas por el algoritmo para
generar un modelo que prediga lo mejor posible las variables dependientes. Por otro lado, las
variables dependientes (labels) son las columnas del data set resultado de una correlación entre
variables independientes, por lo que deben ser predichas por el modelo implementado (Esteve,
2017).
La programación clásica se entiende como un conjunto de reglas diseñadas por una persona con
el fin de obtener unas respuestas que cumplan dichas reglas a partir de unos datos de entrada.

Utilización del Machine Learning en la Industria 4.0 15


El Machine Learning, en cambio, se encarga de obtener el conjunto de reglas más efectivas que
relacionan los datos de entrada con las respuestas que esperamos obtener a través del
aprendizaje (Figura 2. 2). La ventaja del Machine Learning es que estas reglas pueden aplicarse
a diferentes datos de entrada para producir respuestas que han sido generadas automáticamente
por lo que el sistema aprendió y no por las instrucciones generadas por un humano (Chollet,
2017).

Figura 2. 2. La programación clásica frente al Machine Learning. Elaboración propia.

Por ejemplo, si se quisiera diseñar un algoritmo de Machine Learning para predecir el precio
de una vivienda en una determinada ciudad, la variable dependiente (lo que queremos obtener
o predecir) sería el precio de la vivienda; mientras que las variables independientes serían todos
aquellos factores que influyen en el precio de la vivienda como la superficie, el número de
habitaciones, la distancia al centro de la ciudad, etc.
El modelo debe estar lo suficientemente ajustado a los datos de entrada, pero también debe tener
la suficiente consistencia como para dar un buen resultado ante la introducción de datos
diferentes. Para ello, el data set se divide en dos subconjuntos de datos: los datos de
entrenamiento (training data), que corresponden aproximadamente al 80% del data set; y los
datos de test (test data), que corresponden al 20% restante y se emplearán para medir la calidad
del modelo tras el entrenamiento (Esteve, 2017).
Una vez se tienen los datos se necesita establecer una hipótesis, es decir, encontrar una ecuación
que se aproxime lo mejor posible al comportamiento real del fenómeno que se está
modelizando. Esta ecuación es la que relaciona los datos de entrada y los parámetros del modelo
con la salida. Aquello que no se mide no se puede mejorar, así que el siguiente paso consiste en
encontrar el error en la predicción y tratar de minimizarlo (Santana, 2017).
La función de coste es la encargada de recopilar el error entre la variable dependiente que se
quiere determinar y la hipótesis, en función de los parámetros del modelo. Para minimizar una
función se recurre a igualar su derivada a cero. En algunos casos es sencillo encontrar la fórmula
que, introduciendo los datos de entrada y de salida, proporcione el mejor valor de los parámetros
para reducir el error al mínimo. Sin embargo, con otros modelos y otras funciones de coste no
siempre se va a poder encontrar el mínimo de la función de coste de forma analítica (Santana,
2017). Por esta razón, lo habitual es emplear métodos iterativos que permitan minimizar poco
a poco el error, como por ejemplo el método del Descenso del Gradiente (Gradient Descent).

16 Utilización del Machine Learning en la Industria 4.0


La diversidad de modelos y funciones de coste en el Machine Learning obliga a encontrar
soluciones para las funciones no-convexas, es decir, para aquellas que tienen más de un mínimo.
El método del Descenso del Gradiente aprovecha el cálculo de la derivada para encontrar los
mínimos locales, ya que la derivada indica el valor de la pendiente en un punto determinado.
Puesto que lo que se desea es llegar al punto mínimo, lo lógico es avanzar en la dirección en la
que la pendiente es mayor. De ahí que los pasos a seguir por este método sean los siguientes:
localizar la mayor pendiente en la posición actual, avanzar en esa dirección una distancia
determinada y pararse en esa nueva posición (Santana, 2018). Se repite el proceso
iterativamente hasta la convergencia. En la Figura 2. 3 se representa el método gráficamente.

Figura 2. 3. Representación gráfica del Descenso del Gradiente. Recuperado de: https://easyai.tech/en/ai-
definition/gradient-descent/

Matemáticamente, el gradiente es una generalización de la derivada a funciones de más de una


variable. En concreto, el gradiente en un punto de una función de varias variables es el conjunto
ordenado de las derivadas parciales de esa función en ese punto. Da información sobre lo que
varía la función por cada unidad que varía cada variable en el punto considerado (Redondo,
Melchor, & Quintela, 2012). Se representa mediante el operador nabla ∇. Por ejemplo, el
gradiente de una función de tres variables se designa de la siguiente forma (Ecuación 2.1.):

(2.1)

Un gradiente positivo indica la dirección por la que avanzar si se quisiera encontrar un máximo
(Ascenso del Gradiente). En este caso, se toman pasos proporcionales al negativo del gradiente
(Ecuación 2.2.), ya que el objetivo es encontrar un mínimo de la función (Descenso del
Gradiente). El ratio de aprendizaje 𝛼 es un factor que define cuánto afecta el gradiente a la
actualización de los parámetros en cada iteración, en otras palabras, indica lo que se avanza en
cada paso (Santana, 2018).

𝜃 ∶= 𝜃 − 𝛼∇𝑓 (2.2)

Utilización del Machine Learning en la Industria 4.0 17


Para valores bajos del ratio de aprendizaje, el algoritmo resulta ineficiente al necesitar muchas
iteraciones para converger. Para valores altos el algoritmo no converge debido a que, entre una
iteración y otra, se recorre un paso demasiado grande como para que el punto se introduzca en
la zona de mínimo coste. La correcta configuración de este ratio es fundamental para hacer que
el algoritmo funcione correctamente (Santana, 2018).

1.2.2. El error y los problemas de ajuste

La precisión y la capacidad de generalizar son aspectos clave a la hora de realizar un modelo


de Machine Learning solo que, desgraciadamente, es imposible conseguir que un modelo esté
libre de errores por completo. Comprender las principales fuentes de error ayuda a prevenir dos
de los problemas más habituales en el ajuste de parámetros: el sobreajuste (overfitting) y el
subajuste o falta de ajuste (underfitting) (González, 2018).
Los errores principales en la predicción de un modelo y que están asociados al algoritmo
empleado son la varianza y el sesgo (bias). Existe un tercer tipo de error asociado a la cantidad
de ruido de los datos de entrada, sobre el cual no se puede actuar porque es irreducible e
independiente de lo bueno que sea el modelo (González, 2018).
El error de varianza está relacionado con el grado en el que la función objetivo cambia según
los datos de entrenamiento proporcionados. Existen algoritmos que se ven muy influenciados
por pequeñas variaciones en los datos de entrada, mientras que otros son más consistentes y
absorben mejor estos cambios (González, 2018).
El error de sesgo es la diferencia entre los valores reales y la predicción que espera el modelo.
Hay algoritmos más flexibles que otros a la hora de adaptarse a una distribución determinada
de datos de entrada. Un alto sesgo implica un aprendizaje más rápido y sencillo pero un menor
rendimiento predictivo (González, 2018). El error total es una combinación de varianza y sesgo,
por lo que para minimizarlo es imprescindible lograr una baja varianza y un bajo sesgo. En la
Figura 2. 4 se muestran las cuatro combinaciones posibles entre varianza y sesgo.

Figura 2. 4. Combinaciones entre los errores de varianza y sesgo (González, 2018).

18 Utilización del Machine Learning en la Industria 4.0


Sin embargo, la estrecha relación entre la varianza y el sesgo hace que disminuir uno de ellos
implique aumentar el otro. Así, los algoritmos de baja varianza y alto sesgo resultan más simples
y rígidos, como por ejemplo la Regresión Lineal o la Regresión Logística. Por otro lado, los
algoritmos de alta varianza y bajo sesgo como los Árboles de Decisión o los Support Vector
Machine son más complejos y flexibles, pero más inconsistentes (González, 2018).
En definitiva, para construir un buen modelo real es necesario llegar al equilibrio entre la
varianza y el sesgo. Esto se consigue eligiendo un nivel de complejidad adecuado (Figura 2.
5), donde un aumento del sesgo equivalga a una reducción de la varianza (González, 2018).

Figura 2. 5. Nivel de complejidad del modelo en función del error (González, 2018).

El subajuste (underfitting) se refiere a un modelo con un nivel de complejidad muy bajo que no
tiene la precisión suficiente como para alcanzar un ajuste adecuado debido a su alto sesgo.
Puede ocurrir cuando el conjunto de datos de entrenamiento no es suficiente, o cuando se utiliza
un modelo lineal para ajustar datos no lineales. Por otra parte, el sobreajuste (overfitting) se
produce cuando el nivel de complejidad es elevado y, por lo tanto, el modelo no tiene la
capacidad de generalizar su comportamiento ante diferentes datos de entrada. Sucede cuando
el modelo recoge el ruido de los datos de entrenamiento y, en consecuencia, aumenta mucho su
varianza (Santana, 2019). En la Figura 2. 6 se muestran ejemplos de subajuste, de sobreajuste
y de ajuste óptimo para los problemas clásicos de regresión y clasificación.
El problema más común es el del sobreajuste (overfitting), para el cual existen dos tipos de
soluciones. La primera consiste en reducir el número de variables independientes (features), ya
sea manualmente mediante la observación de aquellas variables que podrían desecharse, o bien
a través de métodos que realizan esta tarea automáticamente. Sin embargo, se corre el riesgo de
perder información realmente útil para el comportamiento del modelo. Por eso, la segunda
opción es la regularización, gracias a la cual se mantiene el número de variables a costa de
reducir el valor de los parámetros que afectan a las variables. Este método funciona bien cuando
existe un gran número de variables y todas ellas contribuyen un poco a la hora de hacer la
predicción (Ng, 2012).

Utilización del Machine Learning en la Industria 4.0 19


Figura 2. 6. Distintos ajustes para los problemas de regresión y clasificación. Recuperado de:
https://www.slideshare.net/AlyOsama2/deep-learning-overfitting-underfitting-and-regularization

1.2.3. Etapas en un proyecto de Machine Learning

Una vez comprendidos los principios básicos del Machine Learning, es conveniente conocer el
procedimiento para dar solución a problemas reales. Un proyecto de Machine Learning no se
centra únicamente en elegir un modelo y entrenarlo, sino que, como todo proyecto, cuenta con
una serie de etapas o pasos a seguir para aumentar sus probabilidades de éxito. A continuación,
se describen ocho etapas genéricas para llevar a cabo un proyecto de Machine Learning.

Figura 2. 7. Etapas genéricas para llevar a cabo un proyecto de Machine Learning. Elaboración propia.

La primera etapa consiste en entender el problema que se quiere resolver, ya que gran parte de
las decisiones tomadas a lo largo del proyecto dependerán de lo bien que se haya comprendido
el contexto (Sánchez, 2019). Para ello es necesario definir unos objetivos claros, específicos,
medibles y alcanzables en un periodo determinado de tiempo. Es una fase tediosa en la que se
requiere mucha información por parte de expertos en el sector sobre el que se va a trabajar
(Martínez, 2018). En este punto se clasifica el problema (supervisado, no supervisado, etc.) e
incluso se elige el tipo de modelo que se va a entrenar (regresión, clasificación, agrupamiento,
etc.) (Sánchez, 2019).
En la segunda etapa se define la cantidad y el tipo de datos necesarios, así como el origen de
dichos datos. La calidad de los datos que alimentan la máquina tiene un impacto directo en el

20 Utilización del Machine Learning en la Industria 4.0


funcionamiento del modelo (Bagnato, 2017). En algunos casos, no se dispone de todos los datos
necesarios para resolver el problema, por lo que se compran a entidades externas. Aun así, en
otros muchos casos no se puede acceder a los datos deseados porque ni siquiera existen
(Velogig, 2018).
El tratamiento de los datos una vez recolectados corresponde a la etapa número tres. El objetivo
principal de esta etapa es visualizar y analizar cuáles son las variables que mejor representan
aquello que se quiere predecir (Sánchez, 2019). Aquí se observan algunas de las correlaciones
entre las variables independientes y las dependientes de forma que, en caso de tratarse de un
número elevado de variables, pueden aplicarse métodos de regularización. Los datos necesitan
un formato determinado para poder ser procesados por la máquina de la manera más sencilla
posible (Martínez, 2018). Una vez hecho esto, se divide el data set en los subconjuntos de
training data y test data.
Aunque en el primer paso ya se conoce el tipo de problema, es en la etapa cuatro donde se
define por completo el modelo que mejor se ajusta al problema: regresión lineal, árboles de
decisión, red neuronal, k-vecinos más cercanos, etc. Esta etapa es crucial pero no suele ser
complicada dado que los algoritmos pueden encontrarse en bibliotecas predeterminadas.
La quinta etapa se dedica al entrenamiento del modelo a partir de los datos de entrenamiento.
Los parámetros se ajustan automáticamente por el algoritmo seleccionado a medida que se
entrena el modelo (Bagnato, 2017). En proyectos nuevos se busca entrenar modelos sencillos y
en poco tiempo simplemente para validar que el problema puede ser solucionado con Machine
Learning, ya que no siempre se puede (Sánchez, 2019).
En la etapa número seis se verifica la precisión del modelo mediante la introducción de los
datos de test, que son datos que la máquina aún no conoce. Un 50% de precisión es insuficiente
para validar un modelo, pues indica que la mitad de las veces fallará. En cambio, alcanzar un
90% de precisión proporciona una confianza suficiente. También se evalúan los errores que
hacen que el modelo no generalice bien con el fin de elegir la solución más conveniente: adquirir
más datos, usar un modelo más simple, usar uno más complejo, comprender mejor el problema,
etc. A esta etapa también se la conoce como Parameter Tuning (configuración de parámetros),
pues consiste en ajustar los parámetros del modelo para mejorar los resultados obtenidos
(Bagnato, 2017).
Cuando se alcanza el nivel de error deseado, el modelo queda validado y puede pasarse a la
penúltima etapa, que es la unión entre la simulación y el mundo real. Se trata de integrar el
modelo en un sistema real con el que pueda comunicarse. Más que un problema de ciencia de
datos es un problema de desarrollo de software, ya que consiste en entender cómo cambian los
procesos una vez se tenga la predicción (Sánchez, 2019).
Por último, la etapa número ocho pone fin al proceso con la monitorización de los resultados.
Es necesario asegurar que el modelo aporta un alto valor predictivo y, lo más importante, que
cumple con los objetivos marcados en la primera etapa (Sánchez, 2019). Sin este feedback, con
el paso del tiempo es posible que el modelo no de los resultados que se esperaba.

Utilización del Machine Learning en la Industria 4.0 21


1.3. Aprendizaje supervisado

En el aprendizaje supervisado, el agente observa pares de datos de entrada y salida a modo de


ejemplo para aprender una función que modele la salida según la entrada (Russell & Norvig,
2010). Por lo tanto, en los datos utilizados para construir el modelo se encuentra la información
que se desea predecir. Existen dos tipos de problemas en el aprendizaje supervisado: los
problemas de regresión y los problemas de clasificación. Fundamentalmente, un modelo de
regresión predice una cantidad continua mientras que un modelo de clasificación predice una
etiqueta (Management Solutions España, 2018).
A continuación, se explican brevemente algunos de los algoritmos de regresión y de
clasificación más empleados. Entre los algoritmos de regresión destacan la regresión lineal y la
regresión polinomial; y entre los algoritmos de clasificación destacan la regresión logística,
Support Vector Machine y K-Nearest Neighbors. Otros algoritmos conocidos son los Árboles
de Decisión, Random Forest y la clasificación de Naïve Bayes.

1.3.1. Regresión Lineal

La Regresión Lineal es una técnica ampliamente utilizada en el campo del Aprendizaje


Supervisado debido a su sencillez y a su gran utilidad. Consiste en predecir una variable
dependiente y en función de una o varias variables independientes x, mediante el trazado de la
línea recta que mejor se ajusta al conjunto de datos proporcionados (Tusell, 2011). La Ecuación
2.3 representa la hipótesis de este modelo.

ℎ(𝑥) = 𝑏0 + 𝑏1𝑥1 + 𝑏2𝑥2 + 𝑏3𝑥3 … (2.3)

Los coeficientes bi son los parámetros del modelo que se ajustan en la etapa de entrenamiento
a medida que se introducen más datos. El objetivo del modelo es minimizar la función de coste,
es decir, hacer que la diferencia entre el valor de salida real (y) y el valor de la predicción (h)
sea mínima. En este caso, la función de coste es el Error Cuadrático Medio, que mide la
distancia al cuadrado entre cada punto y la vertical que lo une con la recta de regresión
(Ecuación 2.4.).

𝑚
1
𝐽(𝑎, 𝑏) = ∑(ℎ(𝑥 (𝑖) ) − 𝑦(𝑖))2 (2.4)
2𝑚
𝑖=1

Para minimizar esta función de coste se emplea el algoritmo del Descenso del Gradiente, que
es un proceso iterativo que reduce poco a poco el error hasta encontrar un mínimo en la función
de coste (ver apartado 2.2.1).

22 Utilización del Machine Learning en la Industria 4.0


La Regresión Lineal puede ser simple si solo existe una variable independiente, o múltiple si
existe más de una. Este modelo es rápido y robusto, pero para asegurar su buen funcionamiento
debe haber cierta relación lineal entre la entrada y la salida (González, 2018).
Un ejemplo de Regresión Lineal simple es predecir el número de paraguas que se venderán en
función de la cantidad de lluvia según el histórico del año anterior (Figura 2. 8). Un ejemplo de
Regresión Lineal múltiple es la predicción de las ventas de un producto en función del dinero
invertido en publicidad de TV y en publicidad de radio (Figura 2. 9). En este último caso, al
haber dos variables independientes, es posible su representación mediante el ajuste de un plano
en lugar de una recta.

Figura 2. 8. Ejemplo de regresión lineal simple. Predicción de venta de paraguas en función de la lluvia.
Recuperado de: https://www.ablebits.com/office-addins-blog/2018/08/01/linear-regression-analysis-excel/

Figura 2. 9. Ejemplo de regresión lineal múltiple. Predicción de las ventas de un producto en función del dinero
invertido en publicidad de TV y en publicidad de radio. Recuperado de: https://rpubs.com/Joaquin_AR/226291

Utilización del Machine Learning en la Industria 4.0 23


1.3.2. Regresión Polinomial

La Regresión Polinomial trata de encontrar un polinomio de grado n que se ajuste a la


distribución de datos mediante una curva. Es útil cuando la Regresión Lineal no es capaz de
ajustarse lo suficiente a los datos debido a algún tipo de no linealidad entre ellos (González,
2018). La Ecuación 2.5 representa la hipótesis para una Regresión Polinomial de tercer grado
y de una variable, mientras que la Ecuación 2.6 representa la hipótesis para una Regresión
Polinomial de segundo grado y de dos variables.

ℎ(𝑥) = 𝑏0 + 𝑏1𝑥1 + 𝑏2𝑥12 + 𝑏3𝑥31 (2.5)

ℎ(𝑥) = 𝑏0 + 𝑏1𝑥1 + 𝑏2𝑥12 + 𝑏3𝑥2 + 𝑏4𝑥22 + 𝑏5𝑥1𝑥2 (2.6)

Los modelos polinomiales ganan mucha flexibilidad con respecto a los lineales, ya que en
función del grado del polinomio se obtienen curvas más o menos ajustadas. Sin embargo,
aumentar demasiado el grado del polinomio trae consigo el problema del sobreajuste
(overfitting) ya que, aunque se reduzca mucho el error para los datos iniciales, el modelo pierde
su capacidad para generalizar ante nuevos datos de entrada (González, 2018).
Por ejemplo, la demanda horaria de energía en función de la temperatura exterior sigue un
comportamiento no lineal que se ajusta con un polinomio de grado cuatro (Figura 2. 10).

Figura 2. 10. Ejemplo regresión polinomial. Predicción de la demanda horaria de energía en función de la
temperatura exterior. (González, 2018)

24 Utilización del Machine Learning en la Industria 4.0


1.3.3. Regresión Logística

La Regresión Logística es un algoritmo de clasificación empleado para predecir el resultado de


una variable categórica binaria en función de las variables independientes. Los objetivos de este
modelo son: determinar la existencia o ausencia de relación entre una o más variables
independientes y una variable dependiente dicotómica (que solo admite dos categorías que
definen situaciones opuestas); medir el signo de dicha relación y predecir la probabilidad de
que se produzca el suceso Y=1 en función de los valores de las variables independientes (Salas,
1996).
La función logística es aquella que, para cada individuo, halla la probabilidad (P) de que se
presente el efecto en cuestión. Para comprender el origen de esta función es necesario explicar
el concepto de Odd, que es la razón entre la probabilidad de que un suceso ocurra y la
probabilidad de que ese suceso no ocurra (Ecuación 2.7) (Fuiza & Rodríguez, 2000).

𝑃
𝑂𝑑𝑑 = (2.7)
1−𝑃

La función Logit (Ecuación 2.8) es una transformación logarítmica sobre el Odd que convierte
los valores de probabilidad del rango [0,1] en valores dentro del rango [-∞, ∞] (Román, 2019).

𝑃
𝐿𝑜𝑔𝑖𝑡(𝑃) = 𝑙𝑛 (2.8)
1−𝑃

La función Logit se puede representar de forma lineal como una función similar a la empleada
en Regresión Lineal Múltiple (Ecuación 2.9) (Román, 2019).

𝑧 = 𝑤 𝑇 𝑥 = 𝑤0 + 𝑤1𝑥1 + ⋯ + 𝑤𝑚𝑥𝑚 (2.9)

De esta forma, se obtiene que la inversa de la función Logit es la función logística buscada
(función hipótesis), llamada función sigmoide (Ecuación 2.10) y representada en la Figura 2.
11.

1 1
∅(𝑧) = = ℎ(𝑥) = (2.10)
1 + 𝑒−𝑧 1 + 𝑒−𝑤𝑇𝑥

Utilización del Machine Learning en la Industria 4.0 25


Figura 2. 11. Función sigmoide. (Román, 2019)

Esta función se encarga de tomar valores reales y transformarlos en un valor del rango [0,1], lo
que indica la probabilidad de que una muestra pertenezca a la clase 1 dadas las características
x parametrizadas por los pesos w (Román, 2019). Un cuantificador traduce la probabilidad en
una salida binaria (Ecuación 2.11).

1 𝑠𝑖 𝑧 ≥ 0
𝑦={ (2.11)
0 𝑝𝑎𝑟𝑎 𝑒𝑙 𝑟𝑒𝑠𝑡𝑜

Este modelo se utiliza cuando se desea investigar si una o varias variables explican una variable
dependiente que toma un carácter cualitativo. Esto sucede a menudo en medicina, ya que se
intenta responder a preguntas formuladas en base a la presencia o ausencia de una determinada
característica que no es cuantificable, sino que representa la existencia o no de un efecto de
interés (Fuiza & Rodríguez, 2000).
Por ejemplo, la Regresión Logística en medicina se emplea para predecir si un tumor es benigno
o maligno en función de la edad del paciente y del tamaño del tumor (Kapur, 2016). El límite
de decisión lo marca 𝑧 = 𝑤𝑇𝑥, por lo que se varía el grado de cada término para conseguir la
curva que mejor se ajuste a los datos (Figura 2. 12).

Figura 2. 12. Ejemplo regresión logística. Clasificación de un tumor en benigno o maligno en función de la
edad del paciente y del tamaño del tumor (Kapur, 2016).

26 Utilización del Machine Learning en la Industria 4.0


1.3.4. Support Vector Machine

El algoritmo de vectores de soporte (Support Vector Machine) es un clasificador discriminatorio


cuyo objetivo es definir un hiperplano en un espacio N-dimensional (siendo N el número de
variables independientes) que maximice la distancia entre datos de ambas clases (Gandhi,
2018). Es decir, el hiperplano es el límite de decisión que ayuda a clasificar los datos, por lo que
a cada lado del hiperplano se le atribuye una clase.
Los vectores de soporte son aquellos que se encuentran más cerca del hiperplano, influenciando
así la posición y la orientación de este. Encontrar un hiperplano que separe los datos no suele
ser una solución única. Sin embargo, la solución óptima es la que maximiza la distancia entre
dos líneas paralelas situadas simétricamente a cada lado del límite de decisión de forma que los
vectores de soporte estén contenidos en ellas. Esta distancia se conoce como margen. Aquellos
modelos con gran margen reducen el error de generalización, mientras que los modelos con
poco margen tienden a ser menos propensos al overfitting (Gandhi, 2018). En la Figura 2. 13
se representa el hiperplano escogido de entre todos los hiperplanos posibles, así como los
diferentes elementos que se han comentado.

Figura 2. 13. Representación gráfica de Support Vector Machine (Román, 2019)

En la Regresión Logística el valor lineal de salida se transforma en un valor del rango [0,1] a
través de la función sigmoide, donde para valores mayores de 0.5 se asigna la clase 1 y para
valores menores la clase 0. En el algoritmo de vectores de soporte, si la salida lineal es mayor
que 1 se identifica con una clase y si es menor que -1 se identifica con la otra (Gandhi, 2018).
Por lo tanto, el rango que actúa como margen es [-1,1].
Para problemas de clasificación no lineales se emplean técnicas de mapeo y kernelización. Estas
técnicas reorganizan los datos a través de funciones matemáticas, ya sea en el mismo plano o
en planos de dimensiones mayores, para que adopten una configuración que los haga separables
(Román, 2019). Esta es una de las grandes ventajas de los vectores de soporte frente a otros
modelos, junto con su importante precisión a costa de poca potencia de computación (Gandhi,
2018). Además, estos principios se pueden emplear para resolver problemas de regresión
(Support Vector Regression).

Utilización del Machine Learning en la Industria 4.0 27


1.3.5. K-Nearest Neighbors

El algoritmo de los K-vecinos más cercanos (K-Nearest Neighbors, K-NN) es un algoritmo de


clasificación que etiqueta a cada dato en función de la etiqueta que tengan los datos más
próximos a él. Para ello, se define la variable k, que corresponde al número de vecinos más
cercanos que se escogen para llevar a cabo la clasificación (Ruiz, 2017). En función de esta
variable se tienen unas predicciones u otras.
En el ejemplo de la Figura 2. 14, para k=1 el algoritmo clasifica al elemento como blanco; para
k=2 el algoritmo necesita un criterio para clasificar puesto que hay un vecino de cada color; y
para k=3 el algoritmo clasifica al elemento como negro, ya que dos de los tres elementos
cercanos son negros (voto mayoritario).

Figura 2. 14. Ejemplo de K-NN. Clasificación en función del parámetro K (Ruiz, 2017).

A diferencia de otros algoritmos de aprendizaje supervisado, K-NN no aprende con los datos
de entrenamiento, sino que el aprendizaje se produce con los datos de test una vez se han
memorizado los datos de entrenamiento. Estos algoritmos se conocen como algoritmos vagos
(lazy algorithms), y permiten resolver simultáneamente varios problemas dado que la función
objetivo se aproxima localmente para cada elemento. De esta forma, el algoritmo no aprende
de un modelo, sino que utiliza los datos para generar una respuesta solo cuando se solicita una
predicción. Como desventaja, el coste computacional es muy elevado debido al almacenamiento
de todos los datos de entrenamiento (Román, 2019).

s ocasiones, es difícil identificar qué información de los pasos anteriores es relevante para el
estado actual. Este problema se denomina desvanecimiento de gradiente (vanishing gradient),
y se soluciona con un tipo de arquitectura de red: las LSTM (long short-term memory). Una red
LSTM es capaz de decidir qué información es retenida y cuál es olvidada (Garbisu, 2016).
Estas redes emplean su propia versión de backpropagation, llamada backpropagation through
time (BTT), que aplica el principio de backpropagation en los diferentes instantes de tiempo
como si se tratase de capas de profundidad sucesivas. El número de repeticiones de este proceso
viene dado por K, llegando la memoria de la red más atrás en el tiempo con mayores valores de
K (Garbisu, 2016; Mozer, 1989).
Las aplicaciones de las RNN se centran en el procesamiento de secuencias de texto e imagen.
Se emplean en sistemas de reconocimiento de voz, en la comprensión y generación de textos y
28 Utilización del Machine Learning en la Industria 4.0
conversaciones, en traductores automáticos e incluso en la detección de palabras clave que
expresen opiniones o sentimientos determinados (Mozer, 1989; Zaremba, Sutskever, &
Vinyals, 2015).

Utilización del Machine Learning en la Industria 4.0 29

También podría gustarte