Técnicas de IA Tema1.pdf
Document Details
Uploaded by Itan
Tags
Related
- Artificial Intelligence and Machine Learning for Business (AIMLB) PDF
- Artificial Intelligence and Machine Learning Applications in Smart Production (PDF)
- Introduction to Artificial Intelligence PDF
- Artificial intelligence in Imaging-1 PDF
- Artificial Intelligence (AI) Fact Sheet PDF
- Artificial Intelligence PDF
Full Transcript
Tema 1 Técnicas de Inteligencia Artificial Introducción Índice Esquema 3...
Tema 1 Técnicas de Inteligencia Artificial Introducción Índice Esquema 3 Ideas clave 4 1.1. ¿Cómo estudiar este tema? 4 1.2. Aproximación a los conceptos inteligencia artificial, aprendizaje automático y minería de datos. Interés y aplicaciones 5 © Universidad Internacional de La Rioja (UNIR) 1.3. Definición de aprendizaje, tareas básicas y ejemplos 13 1.4. Etapas en el descubrimiento de conocimiento 28 1.5. Referencias bibliográficas 30 A fondo 38 Test 41 Esquema © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 3 Tema 1. Esquema Ideas clave 1.1. ¿Cómo estudiar este tema? Para estudiar este tema deberás leer las Ideas clave que se presentan a continuación. Puedes completar el estudio visualizando la lección magistral, revisando referencias y bibliografía, así como accediendo a los recursos adicionales que se facilitan. Al comienzo de este tema se describen a alto nivel los conceptos de inteligencia artificial y también de la minería de datos (Han & Kamber, 2012; Negnevitsky, 2005), la cual aplica técnicas de aprendizaje automático (subrama de la inteligencia artificial) para extraer conocimiento útil de data warehouses, data lakes (Khine & Wang, 2018) o bases de datos más sencillas. Muestra además la importancia de estos campos y su gran diversidad de aplicaciones. A continuación, se explican conceptos fundamentales del aprendizaje automático: definición de aprendizaje, elementos que intervienen en una tarea de aprendizaje, diversos tipos de aprendizaje acompañados de ejemplos, etc., (Mitchell, 1997; Witten & Frank, 2005). Todos ellos son conceptos importantes en esta asignatura, los cuales aparecerán repetidamente en temas posteriores junto con otros como datos de entrenamiento, instancias, clases, bias o sobreajuste. Al finalizar el tema se describen los pasos de un proceso típico de descubrimiento de conocimiento en bases de datos, uno de los cuales consiste precisamente en la aplicación de un proceso de minería de datos para extraer patrones de los datos. © Universidad Internacional de La Rioja (UNIR) Al finalizar el estudio de este tema serás capaz de: Distinguir los conceptos de inteligencia artificial, aprendizaje automático y minería de datos, identificar su interés y posibles aplicaciones. Técnicas de Inteligencia Artificial 4 Tema 1. Ideas clave Definir el aprendizaje automático y tareas básicas de descripción o formación de conceptos. Definir los elementos que intervienen en el aprendizaje de conceptos. Identificar las etapas que comprenden el diseño de un sistema de aprendizaje. Identificar las etapas de un procedimiento típico de descubrimiento de conocimiento en bases de datos. 1.2. Aproximación a los conceptos inteligencia artificial, aprendizaje automático y minería de datos. Interés y aplicaciones En el Diccionario de la Lengua Española de la Real Academia Española podemos encontrar la siguiente definición de Inteligencia Artificial (IA) (ASALE & RAE, s. f.): «Disciplina científica que se ocupa de crear programas informáticos que ejecutan operaciones comparables a las que realiza la mente humana, como el aprendizaje o el razonamiento lógico». Estas operaciones y procesos de la inteligencia humana son los necesarios para el aprendizaje, la comprensión, la resolución de problemas o la toma de decisiones. Por tanto, la inteligencia artificial es una disciplina amplia que reúne varios campos como el aprendizaje automático, los sistemas expertos, sistemas RPA (Robotic Process Automation), la robótica o los sistemas de procesamiento de lenguaje natural. © Universidad Internacional de La Rioja (UNIR) El objetivo de la IA, desde el punto de vista de la investigación y de la ciencia, es comprender los principios que hacen posible el comportamiento inteligente en sistemas artificiales. Para ello, se deben analizar agentes naturales y artificiales, formular y testear hipótesis sobre lo que implica construir un sistema artificial que Técnicas de Inteligencia Artificial 5 Tema 1. Ideas clave realice tareas que requieren inteligencia, así como diseñar y desarrollar el sistema inteligente empírico, esto es, experimentando y comprobando las distintas hipótesis planteadas (Poole & Mackworth, 2010). Existe mucha controversia y debate sobre si las máquinas pueden ser inteligentes y pensar. Una afirmación interesante es la que se puede encontrar en (Poole & Mackworth, 2010) donde el autor indica que «se puede considerar una máquina inteligente si actúa de manera inteligente, creando inteligencia real de una manera artificial o no natural». Igualmente, de acuerdo a Negnevisky (Negnevitsky, 2005), una máquina es considerada inteligente si puede conseguir un rendimiento igual al de un humano en una tarea cognitiva. En gran parte de los libros de inteligencia artificial, cuando se habla de la historia de esta ciencia y sobre el debate del pensamiento artificial en las máquinas, se hace referencia al artículo de Alan Turing con título «Computing machinery and intelligence» publicado en el año 1950 (Turing, 1950). Este es uno de los artículos más relevantes y antiguos sobre la inteligencia de las máquinas. Turing definió el comportamiento inteligente de un ordenador como la «habilidad de © Universidad Internacional de La Rioja (UNIR) conseguir un rendimiento similar al de un humano en tareas cognitivas». Turing propone un juego de imitación en el que un juez humano debe interrogar a otro humano y a un ordenador remotamente y conseguir adivinar quién es el ordenador de sus dos interlocutores. Para que el ordenador no sea descubierto debe, por tanto, Técnicas de Inteligencia Artificial 6 Tema 1. Ideas clave responder como un humano lo haría, hacer cálculos con la rapidez de un humano, titubear e incluso enfadarse si las preguntas son provocadoras. A modo de curiosidad, según la referencia (Ohlsson et al., 2017), la inteligencia artificial ha alcanzado en este sentido el nivel de un niño de 4 años. En la práctica no es habitual la creación de programas con el objetivo de que se comporten intelectualmente como humanos, sino que se buscan programas que ayuden a las personas a procesar grandes cantidades de datos, tomar decisiones o realizar cálculos rápidos. Sin embargo, aunque en principio no parezca completamente útil imitar el comportamiento humano, el test de Turing sienta precisamente las bases de un método de validación de sistemas expertos que consiste en la comparación del rendimiento del sistema inteligente con el del rendimiento de varios humanos expertos en una determinada área de conocimiento. En esta asignatura no se estudia la IA desde un punto de vista teórico o científico, sino desde el punto de vista práctico de la ingeniería. A continuación, se plantea una definición funcional y pragmática de esta ciencia: Inteligencia artificial Es una rama de la informática que estudia la creación de agentes computacionales que reciben estímulos externos y, en base a ellos y a un conocimiento almacenado en dicho agente, producen resultados o acciones que maximizan una medida de rendimiento. El conocimiento almacenado puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje automático o puede ser incorporado por un humano experto en el dominio específico. En este sentido, y en relación con los grandes conjuntos de datos (Big Data), es de © Universidad Internacional de La Rioja (UNIR) gran interés el campo de la Minería de Datos, cuyo objetivo es eminentemente práctico. Técnicas de Inteligencia Artificial 7 Tema 1. Ideas clave Minería de datos Es un proceso que utiliza técnicas de inteligencia artificial sobre grandes cantidades de datos, con el objetivo de descubrir y describir patrones en los datos, a partir de los cuales se pueda obtener un beneficio. Las fuentes de datos pueden incluir bases de datos, data warehouses, data lakes, repositorios o información en la web. Las técnicas que en concreto utiliza la minería de datos son esencialmente las denominadas técnicas de aprendizaje automático. El aprendizaje automático, una rama de la IA, se refiere a la construcción de programas computacionales que automáticamente mejoran su rendimiento en una tarea determinada con la experiencia. Así, la minería de datos utiliza técnicas de aprendizaje automático para, por ejemplo, aprender a detectar el uso fraudulento de tarjetas de crédito. A partir de datos de experiencias previas de usos fraudulentos y no fraudulentos de tarjetas de crédito, mediante la aplicación iterativa de técnicas de aprendizaje automático, se puede mejorar en la tarea de detectar usos fraudulentos. Por otra parte, el aprendizaje automático tiene múltiples aplicaciones en otro tipo de sistemas como en aquellos relacionados con la robótica, o en sistemas de reconocimiento de habla, por ejemplo (Rogers & Girolami, 2017). En el siguiente apartado se explican conceptos relacionados con el aprendizaje automático que serán de gran interés y uso a lo largo de la asignatura. En la Figura 1 podemos ver las diferentes ramas de la inteligencia artificial y el espacio que ocupa en dicha taxonomía el aprendizaje automático o machine learning, así © Universidad Internacional de La Rioja (UNIR) como sus diferentes subramas. Técnicas de Inteligencia Artificial 8 Tema 1. Ideas clave Interés y aplicaciones de la inteligencia artificial © Universidad Internacional de La Rioja (UNIR) La inteligencia artificial tiene aplicaciones innumerables en diversas áreas tales como la robótica, los juegos de ordenador, el marketing, la medicina, o la predicción meteorológica (Pannu, 2015). Técnicas de Inteligencia Artificial 9 Tema 1. Ideas clave De hecho, hay muy diversos tipos de problemas que pueden ser resueltos por sistemas inteligentes, como los que se enumeran a continuación: Diagnosis: inferir funcionamientos incorrectos de un objeto a partir de su comportamiento y recomendar soluciones. Selección: recomendar la mejor opción de una lista de alternativas posibles. Predicción: predecir el comportamiento futuro de un objeto a partir de su comportamiento en el pasado. Clasificación: asignar un objeto a una clase definida. Agrupamientos (clustering): agrupar objetos de acuerdo con sus características. Optimización: mejorar la calidad de las soluciones hasta encontrar una óptima. Control: gestionar el comportamiento de un objeto en tiempo real para satisfacer ciertos requisitos especificados. Específicamente, en lo que respecta a las «grandes cantidades de datos», por todos es bien conocido el crecimiento inminente de la cantidad de datos que almacenan y manejan cada vez más y más instituciones y empresas en los últimos tiempos. Aquellas organizaciones que consiguen extraer conocimiento a partir de esos datos y optimizar su aplicación son las que tienen mayor oportunidad de mantenerse competitivas. Por ello, dado que la necesidad es la madre de la invención, la aplicación de técnicas de inteligencia artificial a cantidades masivas de datos para su análisis automático (la minería de datos) es un campo que está en pleno auge y en constante evolución. Pueden encontrarse ejemplos de aplicación en múltiples ámbitos, como el médico, el económico-empresarial, el industrial o el marketing, entre muchos otros. © Universidad Internacional de La Rioja (UNIR) En el campo de la medicina se encuentran multitud de aplicaciones de las técnicas de inteligencia artificial. Por ejemplo, analizando grandes cantidades de datos sobre una enfermedad, se puede predecir el diagnóstico y pronóstico de enfermedades. Así, conociendo ciertos síntomas y características de un determinado paciente, se Técnicas de Inteligencia Artificial 10 Tema 1. Ideas clave puede diagnosticar con bastante probabilidad una enfermedad y establecer un tratamiento óptimo para dicho paciente (Peng et al., 2020). El uso de las técnicas de inteligencia artificial en medicina está muy extendido. Dos ejemplos de enfermedades que pueden ser diagnosticadas son, por ejemplo, el Alzheimer o el glaucoma (Farooq et al., 2017). Por otro lado, y como segundo ejemplo, existen sistemas inteligentes basados en heurísticas y reglas para establecer el mejor emparejamiento posible entre un donante y los posibles receptores de un trasplante (Aguado et al., 2019; Namatevs & Aleksejeva, 2017). En la educación también se encuentran aplicaciones de sistemas inteligentes. Los denominados sistemas tutores inteligentes tratan de emular las pautas que los tutores humanos dan para optimizar el estudio del alumno. Por ejemplo, hay sistemas inteligentes que personalizan los contenidos que se presentan al estudiante en función de su progreso en el aprendizaje o de su estilo de aprendizaje (Alonso et al., 2019). También hay sistemas que analizan la solución que un estudiante da a un problema y tratan de guiarle, ofreciendo pistas y otras pautas, para que consiga resolver el problema (García et al., 2015). Otro campo donde se utilizan mucho las técnicas de inteligencia artificial, en concreto de aprendizaje automático, es en el marketing, en sistemas de gestión de clientes (comúnmente denominados por sus siglas en inglés CRM ─ Customer Relationship Management) y posicionamiento de productos (Sterne, 2017; Zeeshan & Saxena, 2020). La industria, y de forma más concreta en torno al paradigma de la Industria 4.0, es otro de los grandes beneficiados de la aplicación e implementación de técnicas de © Universidad Internacional de La Rioja (UNIR) inteligencia artificial en sus procesos. La fabricación inteligente, el mejor uso de los datos que genera la empresa a través de sistemas business intelligence avanzados, o la implementación de soluciones de robótica (Narasima Venkatesh, 2018; Bayram & İnce, 2018; Cevik Onar & Ustundag, 2018; Sami Sivri & Oztaysi, 2018). Técnicas de Inteligencia Artificial 11 Tema 1. Ideas clave En la gestión empresarial también se encuentran aplicaciones inteligentes para, entre otros, la planificación eficiente de recursos o como apoyo a la toma de decisiones, por ejemplo, aquellas relacionadas con el análisis de la solvencia empresarial (Jain et al., 2020; Malhotra et al., 2017). Un ejemplo que habitualmente se encuentra en los libros de IA o minería de datos es el de uso de un sistema inteligente para la toma de decisiones en lo que respecta a la concesión de préstamos (Witten & Frank, 2005). De hecho, los bancos son de las primeras entidades que adoptaron soluciones de minería de datos con este fin. Posteriormente, los bancos han ido adoptando estas soluciones como parte de sus sistemas CRM, para el apoyo a la gestión de las relaciones con los clientes, la venta y el marketing. Por ejemplo, con estas técnicas, los bancos pueden modelar patrones de comportamientos de aquellos clientes que pierden para poder detectar a priori los potenciales clientes perdidos y tomar las acciones correctivas convenientes. Por otra parte, los sistemas de comercio electrónico (como Amazon) o los proveedores de contenidos digitales (como Netflix o Spotify) pueden beneficiarse de los sistemas «recomendadores» que predicen el interés de un usuario por ciertos productos a partir de las valoraciones dadas a diversos productos por otros muchos usuarios con perfil similar (Joshi, 2020; Linden et al., 2003). También es frecuente encontrar sistemas inteligentes para el diagnóstico y el troubleshooting, detección de problemas y propuesta de soluciones, como por ejemplo los que tratan de detectar un fallo en una red de ordenadores y guían al administrador de la red en el proceso de diagnóstico y corrección del error, así como en los fallos de los propios ordenadores (Akinnola, 2012; Elmishali et al., 2018; Nushi © Universidad Internacional de La Rioja (UNIR) et al., 2017). Existen también sistemas inteligentes que proporcionan rutas óptimas, ya sean de transporte de mercancías (Abduljabbar et al., 2019; Boru et al., 2019; Mohammed et al., 2017) o en transmisión de datos en redes telemáticas, por ejemplo, en base a Técnicas de Inteligencia Artificial 12 Tema 1. Ideas clave ciertos requerimientos como pueda ser la ruta de menor coste o la ruta más rápida (Mali & Gautam, 2018; Matlou & Abu-Mahfouz, 2017). Referido al consumo energético, existen múltiples soluciones en las que la inteligencia artificial sirve como soporte a otros sistemas que son utilizados para reducir el consumo energético. Por ejemplo, dando soporte a la localización en tiempo real para reducir el consumo energético en edificios públicos (García et al., 2017), o bien integrando localización y sensorización para fomentar el ahorro energético en hogares (Óscar García et al., 2017). Igualmente, en la industria de suministro eléctrico se utilizan técnicas inteligentes para predecir la demanda de electricidad por tramos horarios. De esta manera, las compañías suministradoras pueden planificar por ejemplo acciones de mantenimiento (Jozi et al., 2019, 2017; Silva et al., 2020; Vinagre et al., 2016). En meteorología y para la predicción o gestión de catástrofes también se han utilizado sistemas inteligentes (McGovern et al., 2017), así como en agricultura para la planificación agrícola, el control de plagas o la gestión de cultivos (Liakos et al., 2018). El artículo (Alonso et al., 2020) expone una solución IoT aplicada en la agricultura y la ganadería en la que se monitorizan cultivos y ganado para optimizar su producción. Incluso se pueden encontrar ejemplos curiosos en el campo de la arqueología, donde la inteligencia artificial se ha utilizado recientemente para descubrir nuevos yacimientos arqueológicos (Davis, 2020; Traviglia & Torsello, 2017). Todos estos ejemplos son solo una pequeña muestra que pretende ilustrar la gran utilidad de la aplicación de la IA en muy diversos campos. © Universidad Internacional de La Rioja (UNIR) 1.3. Definición de aprendizaje, tareas básicas y ejemplos Técnicas de Inteligencia Artificial 13 Tema 1. Ideas clave Dado que la inteligencia se adquiere mediante la experiencia y el aprendizaje, el concepto de aprendizaje es muy importante en el campo de la inteligencia artificial, siendo precisamente muy populares las técnicas de la rama de aprendizaje automático. La siguiente frase define el aprendizaje por parte de un ordenador: Un programa de ordenador aprende de la experiencia E con respecto a una clase de tareas T y una medida de rendimiento P, si su rendimiento en las tareas T, medido en base a la medida P, mejora con la experiencia E. (Mitchell, 1997). Para ilustrar esta definición y los elementos E, P y T, se exponen a continuación algunos ejemplos de tareas de aprendizaje: Ejemplo 1: Aprender a detectar robos de tarjetas de crédito. T: detectar robos de tarjetas de crédito. P: porcentaje de robos detectados. E: base de datos de hábitos de compra con la tarjeta de crédito. Ejemplo 2: Aprender a reconocer la escritura manual. T: reconocer y clasificar palabras escritas en imágenes. P: porcentaje de palabras correctamente clasificadas. E: base de datos de imágenes de palabras manuscritas clasificadas. Ejemplo 3: Aprender a aparcar un coche utilizando sensores de visión. T: aparcar un coche utilizando sensores de visión. © Universidad Internacional de La Rioja (UNIR) P: porcentaje de aparcamientos correctos. E: secuencias de imágenes y comandos de guiados registrados. ¿Qué contenidos se pueden aprender? Técnicas de Inteligencia Artificial 14 Tema 1. Ideas clave De acuerdo con la teoría de instrucción de Merril denominada «Teoría de presentación de componentes», «Component display theory» (Merril et al., 1994), las personas pueden aprender cuatro tipos de contenido: Hechos: simples afirmaciones de una verdad, que puede ser una asociación entre una fecha y un hecho, o un nombre y un objeto. Conceptos: conjunto de objetos, símbolos o eventos agrupados porque comparten ciertas características y que pueden ser referenciados por un nombre en particular o un símbolo. Los objetos existen en el espacio y tiempo como puede ser una persona, una mesa; los símbolos se refieren a tipos de palabras, números, marcas, como puede ser un predicado o una fracción; los eventos son interacciones específicas de objetos en un periodo de tiempo como puede ser la digestión o la fotosíntesis. Procedimientos: conjunto de acciones realizadas en pasos consecutivos para alcanzar un objetivo. Principios: relaciones causa-efecto, verdades generales o leyes básicas para afirmar otras verdades. Específicamente, los ordenadores pueden ser muy eficaces en el aprendizaje de conceptos que pueden ser representados mediante distintos tipos de estructuras como árboles, reglas o funciones matemáticas, como se verá más adelante en la asignatura. También existen sistemas del campo de la robótica, por ejemplo, cuyo objetivo es © Universidad Internacional de La Rioja (UNIR) aprender un procedimiento. Estos sistemas tratan de actuar como humanos y alcanzar objetivos mediante la ejecución de una serie de tareas. Sin embargo, hasta el momento, estos robots no superan en rendimiento a las personas. ¿Qué elementos intervienen en el aprendizaje de un concepto? Técnicas de Inteligencia Artificial 15 Tema 1. Ideas clave Como anteriormente se ha expuesto, el programa de ordenador aprende en base a una experiencia E, que podría ser una base de datos de información sobre transacciones bancarias o una secuencia de imágenes, tal y como se ha visto en los anteriores ejemplos. Cada una de estas imágenes o cada una de las transacciones que forman parte de la experiencia son denominadas instancias. Una instancia es una ilustración específica de un objeto, símbolo, evento, proceso o procedimiento (Merrill, 1994). Datos entrenamiento: Concepto Ejemplos (Clase) Sistema de Instancias No-Ejemplos aprendizaje Figura 2. Entradas y salidas de un sistema de aprendizaje. Como anteriormente se ha definido, el concepto será un conjunto de estas instancias que comparten ciertas características. A estas características se les denomina habitualmente atributos. Nótese que la mayoría de las palabras de nuestro idioma se refieren a categorías o clase de objetos y no a los objetos específicos únicos (por ejemplo: perro, gato, mesa, etc.). Al concepto habitualmente se le denomina clase. El concepto se puede aprender tanto a partir de instancias que pertenecen a la clase, como a partir de instancias que no pertenecen a la misma. Por ejemplo, si queremos aprender a detectar usos fraudulentos de tarjetas podemos © Universidad Internacional de La Rioja (UNIR) utilizar tanto datos de transacciones pertenecientes a aquellas habituales de cada cliente como datos de transacciones fraudulentas. Por tanto, la instancia es un término que se refiere tanto a miembros como a no-miembros de una clase. Técnicas de Inteligencia Artificial 16 Tema 1. Ideas clave En el ejemplo previo, las instancias son todas las transacciones registradas en la base de datos. Las instancias que son miembros del concepto en consideración se denominan ejemplos, mientras que las que no son miembros se denominan no- ejemplos (ver Figura 2). Por ejemplo, si queremos detectar usos fraudulentos a partir de describir las transacciones legales, los ejemplos serán aquellas transacciones legales mientras que los no-ejemplos serán las transacciones no legales. El conjunto de instancias que forman parte de la experiencia E, que utiliza el sistema para aprender la tarea T, tanto ejemplos como no ejemplos, recibe el nombre de datos de entrenamiento. ¿En qué consiste aprender un concepto? Se aprende un concepto cuando, dado un objeto (símbolo o evento), se puede identificar correctamente el concepto o clase a la que pertenece ese objeto, pudiéndose generalizar la aplicación del nombre de la clase a todos los miembros de esta y discriminando a los miembros que pertenecen a otra clase. De esta afirmación obtenemos tres nuevos términos, utilizados habitualmente en el aprendizaje automático: Clasificación: identificar la clase de un símbolo específico, objeto o evento; también identificar símbolos, objetos o eventos que no son miembros de una clase. Generalización: identificar la clase de una instancia desconocida examinando atributos comunes de esa instancia con ejemplos encontrados previamente de esa © Universidad Internacional de La Rioja (UNIR) clase. Discriminación: el hecho contrario a generalizar, esto es, dada una instancia desconocida, identificarla como no-miembro de la clase dado que no se encuentran atributos comunes con ejemplos previos de la clase. Técnicas de Inteligencia Artificial 17 Tema 1. Ideas clave En la Figura 3 se muestra un ejemplo muy sencillo. Una vez aprendido el concepto de «animal salvaje», se puede clasificar un animal a priori de clase desconocida dentro de la clase «animal salvaje» dados sus atributos (ej. «el animal vive en la jungla») ─ generalización ─ y se es capaz de discriminar un animal que no es salvaje por sus atributos (ej. «el animal es criado en una granja») ─ discriminación. Generalizar dentro de una clase Doméstico gato caballo perro Discriminar entre clases conejo gallina Salvaje león tigre hipopótamo pantera oso Figura 3. Ejemplo de generalización y discriminación de clases. Mediante el aprendizaje se pueden resolver diferentes tipos de tareas básicas como la descripción de conceptos o la formación de nuevos conceptos. Si se ha aprendido el concepto de animal doméstico en base a los atributos de ejemplos bien conocidos de animales domésticos, se habla de una tarea de descripción de conceptos. A este tipo de aprendizaje se le denomina aprendizaje supervisado. Sin embargo, cuando en base a unos ejemplos se quiere aprender un nuevo concepto desconocido que los describa, esto es, formar un nuevo concepto, se habla de un aprendizaje no- supervisado. El aprendizaje visto como una búsqueda © Universidad Internacional de La Rioja (UNIR) El aprendizaje de conceptos se plantea a menudo como una búsqueda en un espacio de posibles hipótesis (esto es, posibles soluciones al problema de aprendizaje) con el fin de encontrar la hipótesis que mejor encaje con los datos de entrenamiento. En este aprendizaje inductivo se puede garantizar que la hipótesis encontrada es la que Técnicas de Inteligencia Artificial 18 Tema 1. Ideas clave mejor encaja con los datos de entrenamiento, pero ¿encajará esa hipótesis también con nuevas instancias? Se asume que sí y se plantea, por tanto, la siguiente hipótesis: Hipótesis del aprendizaje inductivo de conceptos Cualquier hipótesis que encaje «suficientemente» bien con un conjunto «suficientemente» grande de ejemplos de entrenamiento también encajará bien con instancias nuevas. Esta hipótesis del aprendizaje inductivo permite la generalización. La dificultad está en determinar el espacio de hipótesis posibles en un problema de tal forma que se evite dejar fuera del espacio a la mejor hipótesis. Igualmente puede ser difícil determinar el tamaño de este espacio adecuado, así como el tamaño del conjunto de datos de entrenamiento requerido, de tal manera que se pueda generalizar la solución. Surge aquí el término «bias» inductivo. El bias se refiere a los criterios de selección de las hipótesis y aquellos supuestos y suposiciones que se realizan para generalizar la mejor hipótesis encontrada. Realísticamente hablando, en muchos problemas se pueden encontrar diferentes posibles descripciones de un concepto que encajan «razonablemente bien» con los datos. Por tanto, se trata de encontrar la que mejor encaja respecto a algún criterio, como la simplicidad. En muchas ocasiones no es viable realizar una búsqueda por un espacio de hipótesis completo, no pudiéndose garantizar, por tanto, que la hipótesis encontrada es la mejor y hay que determinar el probablemente mejor procedimiento de búsqueda de soluciones para el determinado problema. © Universidad Internacional de La Rioja (UNIR) Por otra parte, en la búsqueda de las mejores hipótesis en base a los datos de entrenamiento, muchas veces se encuentran soluciones demasiado específicas, que cubren de manera muy exacta los datos de entrenamiento. Esto puede generar un problema de sobreajuste (overfitting), siendo la solución adoptada demasiado específica respecto a los datos de entrenamiento y no se generaliza bien. Técnicas de Inteligencia Artificial 19 Tema 1. Ideas clave Habitualmente, para detectar el posible sobreajuste, se reserva un porcentaje de instancias del conjunto de partida que no intervienen en el entrenamiento, sino que, una vez encontrada la mejor hipótesis se utilizan para corroborar que la generalización de la solución es posible. Sobre diversos bias, el problema del sobreajuste y cómo solucionarlo, se irá profundizando a lo largo de la asignatura, en el estudio de diversas técnicas de aprendizaje automático. Aprendizaje supervisado Un niño aprende conceptos viendo ejemplos de esos conceptos, ya sean perros, niños, niñas, mesas o coches. Los niños buscan características (atributos) comunes en, por ejemplo, los diferentes ejemplos denominados «perro» por los adultos. Analizando estas características comunes, el niño es capaz de clasificar correctamente nuevas instancias que se encuentra de la clase «perro», sea cual sea la raza del perro. El niño ha creado un modelo de clasificación en base a ejemplos de perros clasificados por los adultos, examinando aquellos atributos que definen la clase. Este tipo de aprendizaje se denomina aprendizaje supervisado. El aprendizaje supervisado pretende caracterizar o describir un concepto a partir de instancias del mismo. El aprendizaje supervisado suele tener dos etapas, tal y como vemos en la Figura 4. Descripción del concepto Clasificar instancias no clasificadas Construcción de un modelo descriptivo a Una vez construido el modelo podemos © Universidad Internacional de La Rioja (UNIR) partir de un conjunto de instancias, determinar si una instancia nuevamente conteniendo ejemplos y no-ejemplos del encontrada se puede clasificar como ejemplo concepto a aprender. de esa clase. Figura 4. Etapas del aprendizaje supervisado. Técnicas de Inteligencia Artificial 20 Tema 1. Ideas clave Este tipo de aprendizaje es típicamente utilizado para diagnosticar enfermedades. En la tabla 1 se muestra una base de datos de un centro médico a modo de ejemplo. En la primera fila se muestran los nombres de los atributos. «Número de paciente», «Fiebre», «Dolor de garganta», «Congestión» y «Dolor de cabeza» corresponden a los atributos de entrada y se refieren a los distintos síntomas presentados por los pacientes que han sido diagnosticados de distintas enfermedades. La columna «Diagnóstico» es el atributo de salida o clase, que quiere ser descrito en base a las instancias (datos o atributos de pacientes que ya han acudido a consulta) con el fin de poder predecir el diagnóstico de futuros pacientes en función de los valores de sus atributos de entrada (síntomas). Tabla 1. Ejemplo de base de datos para el diagnóstico de enfermedades. © Universidad Internacional de La Rioja (UNIR) Tomando los ejemplos de la Tabla 1, en primer lugar se pretende describir las diferentes clases (diagnósticos) aplicando una técnica de aprendizaje automático, como por ejemplo la denominada «árbol de decisión», así como obtener una representación como la mostrada en la Figura 4, que representa una generalización de los datos de la Tabla 1. Técnicas de Inteligencia Artificial 21 Tema 1. Ideas clave Los datos de los pacientes 1 a 9, utilizados para crear el modelo expuesto en el árbol de decisión, corresponden a los datos de entrenamiento. Se suele utilizar unos datos de prueba también, cuya clasificación es bien conocida para verificar si la clasificación modelada se puede generalizar. En el siguiente tema se profundizará en estos nuevos conceptos. En este ejemplo concreto se han utilizado los datos de los 9 pacientes como datos de entrenamiento y se ha ejecutado el algoritmo de construcción de árboles de decisión ID3 (con la herramienta Weka) que se explicará en un tema posterior. Como se puede observar en la Figura 5, esta representación en árbol es muy fácil de interpretar por las personas, dado que es visualmente muy intuitiva, ayudando además el hecho de ser un ejemplo muy sencillo. Dolor de garganta No Sí Fiebre Diagnóstico: Infección de garganta No Sí Dolor de cabeza Diagnóstico: Resfriado No Sí Diagnóstico: Diagnóstico: Alergia Resfriado Figura 5. Árbol de decisión correspondiente a los datos de la Tabla 1. Estos árboles de decisión son fácilmente trasladables a reglas de clasificación, representación igualmente muy intuitiva, como las que siguen: SI “Dolor de garganta”=Sí © Universidad Internacional de La Rioja (UNIR) ENTONCES Diagnóstico=“Infección de garganta” SI “Dolor de garganta”=No AND “Fiebre”=Sí ENTONCES Diagnóstico=“Resfriado” SI “Dolor de garganta”=No AND “Fiebre”=No AND “Dolor de cabeza”=Sí Técnicas de Inteligencia Artificial 22 Tema 1. Ideas clave ENTONCES Diagnóstico=“Resfriado” SI “Dolor de garganta”=No AND “Fiebre”=No AND “Dolor de cabeza”=No ENTONCES Diagnóstico=“Alergia” Cuando llegan nuevos pacientes a la consulta cuyos datos se exponen en la Tabla 2 se podrá predecir la clase en base a la generalización expuesta en el árbol de decisión o en las reglas previamente indicadas. Tabla 2. Datos de atributos de entrada (síntomas) de nuevos pacientes. Así, el paciente número 10 se le diagnostica «Resfriado» mientras que al número 11 se le diagnostica «Alergia». Se trata de un ejemplo muy sencillo con un número de instancias muy bajo, cuyo objetivo ha sido únicamente ilustrar en qué consiste el aprendizaje supervisado. En este ejemplo, el atributo «Número de Paciente» fue eliminado como dato de entrada, ya que no aporta información relevante. Por otra parte, el atributo «congestión» ha sido eliminado por el propio algoritmo de aprendizaje, dado que es un atributo no considerado relevante en la clasificación del diagnóstico. Aprendizaje no-supervisado El aprendizaje no-supervisado pretende caracterizar un concepto desconocido a partir de instancias del mismo. En este caso no existen clases © Universidad Internacional de La Rioja (UNIR) definidas y por tanto se trata de describir un nuevo concepto o clase. Las técnicas de agrupamiento o clustering son muy utilizadas en problemas de aprendizaje no-supervisado. Mediante clustering las instancias se agrupan de acuerdo con un esquema de similitud. En este tipo de aprendizaje, el no-supervisado, Técnicas de Inteligencia Artificial 23 Tema 1. Ideas clave los datos de entrenamiento no especifican qué se está intentando aprender (los agrupamientos), mientras que, en el aprendizaje supervisado, las clases que se están intentando describir sí están especificadas. El clustering se puede utilizar para el análisis de datos como un primer paso en la construcción de un modelo de estos. El algoritmo de clustering típicamente proporciona visualizaciones como la expuesta en la Figura 6, a partir de las cuales se pueden encontrar atributos similares en las instancias y tratar de extraer conclusiones. Por ejemplo, en una investigación de mercado las técnicas de agrupamiento pueden ser muy útiles porque permiten agrupar a los consumidores, examinar propiedades comunes de los distintos grupos, que permitan obtener pistas o conclusiones con el fin de posicionar un producto, segmentar mercado, etc. Figura 6. Ilustración ejemplo de aplicación de clustering a un conjunto de datos. El clustering se puede utilizar además en tareas de generalización, descubriendo © Universidad Internacional de La Rioja (UNIR) instancias similares, que comparten propiedades, y pudiendo incorporar futuras instancias en los agrupamientos generados. Por ejemplo, un sistema de aprendizaje online puede utilizar una técnica de clustering para agrupar alumnos con atributos similares con el fin de, analizado el posible Técnicas de Inteligencia Artificial 24 Tema 1. Ideas clave significado de los valores de estos atributos, proporcionarles estrategias de enseñanza adecuadas. Cuando un nuevo alumno se incorpora al sistema y hay datos disponibles, se le incorpora al agrupamiento donde se encuentran los otros alumnos más similares a él, y se le aplican las mismas estrategias de enseñanza. ¿Qué etapas comprende el aprendizaje de un concepto? La Figura 7 muestra las etapas de aprendizaje de un concepto que se describen a continuación. Selección de Selección de la Selección del Evaluación y datos de función algoritmo de validación de entrenamiento objetivo aprendizaje los resultados Figura 7. Etapas del aprendizaje de un concepto 1. Selección del conjunto de datos de entrenamiento Como previamente se ha descrito, la computadora aprende de una experiencia, reflejada en un conjunto de instancias. La primera etapa para diseñar un sistema de aprendizaje consiste en analizar los datos existentes y seleccionar los datos de entrenamiento. Estos datos de entrenamiento pueden determinar crucialmente el éxito de la tarea de aprendizaje. La cantidad de instancias disponibles o su relación con el concepto puede ser determinante. Evidentemente, cuanto mayor sea el número de instancias más fácil será © Universidad Internacional de La Rioja (UNIR) la tarea de aprendizaje. Por otra parte, existen datos de entrenamiento que no proveen de una retroalimentación directa al sistema sobre la clase a aprender. Por ejemplo, si una máquina trata de aprender a jugar al ajedrez y cada movimiento realizado es una instancia, se tiene una retroalimentación directa si la clase indica si el movimiento es correcto para cada instancia. Sin embargo, si para un movimiento determinado Técnicas de Inteligencia Artificial 25 Tema 1. Ideas clave (instancia), solo se tiene información de que ese movimiento corresponde a una serie de movimientos que dieron lugar a una partida que se ganó, la retroalimentación es indirecta. En este caso la corrección del movimiento se infiere del hecho de que la partida se ganó, pero en realidad todos los movimientos realizados al ganar una partida no tienen por qué ser los correctos u óptimos en el momento en que fueron realizados. En este último caso sería conveniente asignar un factor de confianza que especifique cuánto puede haber influido un movimiento al éxito final de la partida, factor bastante difícil de determinar. Por tanto, el aprendizaje a partir de instancias que proveen retroalimentación indirecta sobre la clase a aprender es más difícil. 2. Selección de una función objetivo y su representación En la siguiente etapa se ha de determinar el tipo de conocimiento que se va a aprender, se trata de determinar una función objetivo y representarla. Una vez representado el problema en una función objetivo, la mejora del rendimiento P en una tarea T se reduce al aprendizaje de una determinada función objetivo. Para el aprendizaje del ajedrez, esta función podría consistir en una función que asigna un determinado número a cada movimiento de los movimientos legales posibles, asignando un número mayor a aquellos movimientos que producen mejores posiciones de tablero. En el ejemplo mostrado en la explicación previa de aprendizaje supervisado se busca aprender una función que, tomando como entrada valores discretos, produce una salida igualmente discreta con tres valores correspondientes a los tres posibles diagnósticos. La función que aprender es una disyunción de conjunciones lógicas de © Universidad Internacional de La Rioja (UNIR) condiciones de los valores de entrada y puede ser representada mediante un árbol de decisión o un conjunto de reglas del tipo SI-ENTONCES. En el árbol inducido cada camino desde la raíz a las hojas corresponde a una conjunción de condiciones y el propio árbol engloba la disyunción de las Técnicas de Inteligencia Artificial 26 Tema 1. Ideas clave conjunciones. La función expresada como árbol está en la Figura 5 mientras que, en forma de reglas, empleando las conjunciones lógicas AND y OR quedaría de la siguiente manera: SI “Dolor de garganta”=Sí ENTONCES Diagnóstico=“Infección de garganta” SI (“Dolor de garganta”=No AND “Fiebre”=Sí) OR (“Dolor de garganta”=No AND “Fiebre”=No AND “Dolor de cabeza”=Sí) ENTONCES Diagnóstico=“Resfriado” SI “Dolor de garganta”=No AND “Fiebre”=No AND “Dolor de cabeza”=No ENTONCES Diagnóstico=“Alergia” 3. Selección del algoritmo de aprendizaje para aproximación a la función objetivo. Una vez se conoce el conjunto de entrenamiento y la función objetivo, se debe escoger un algoritmo de aproximación a la función objetivo. En el ejemplo de aprendizaje supervisado, dado que la función se va a representar como un árbol, es lógico escoger un método de construcción de árboles de decisión. Existen diversos métodos para el aprendizaje de árboles y la selección de uno u otro dependerá de diversos factores como si, por ejemplo, las entradas toman valores discretos o continuos, si existen datos ruidosos, etc. 4. Evaluación y validación de los resultados. Escoger una buena función objetivo o un algoritmo adecuado para una tarea de aprendizaje concreta puede resultar en una tarea complicada. Por tanto, en la etapa © Universidad Internacional de La Rioja (UNIR) de evaluación los resultados podrían no ser los esperados. Por tanto, en la etapa de evaluación hay que considerar si es necesario regresar a un paso previo o validar el aprendizaje realizado. Así el problema de aprendizaje de un concepto puede resultar en un proceso cíclico hasta obtener los resultados deseados. Técnicas de Inteligencia Artificial 27 Tema 1. Ideas clave 1.4. Etapas en el descubrimiento de conocimiento El aprendizaje implica extraer y ampliar el conocimiento y, desde este punto de vista, se puede ver el objetivo de la minería de datos como un intento por modelar el conocimiento, convirtiendo información no estructurada en conocimiento. De aquí surge el término Ingeniería de Conocimiento que versa sobre el proceso de construir un sistema inteligente para obtener conocimiento. En el marco del máster actual ser capaz de aplicar técnicas de IA para descubrir conocimiento en bases de datos es de gran interés, es lo que se ha definido anteriormente como minería de datos. El término Descubrimiento de Conocimiento en Bases de Datos, en inglés Knowledge Discovery in Databases (KDD), es frecuentemente utilizado como sinónimo de la minería de datos (Fayyad, 2001; Fayyad et al., 1996). Sin embargo, este término se refiere al procedimiento completo necesario para extraer conocimiento potencialmente útil y previamente desconocido a partir de los datos en una base de datos (Roiger, 2003). KDD es un proceso iterativo que incluye etapas previas a la fase de minería de datos propiamente dicha, para la extracción y preparación de los datos, así como etapas posteriores para el análisis de los resultados y toma de decisiones. Hay diferentes modelos KDD definidos, pero sea cual sea el modelo KDD utilizado, el primer paso siempre consistirá en identificar el objetivo de la aplicación del procedimiento, esto es, definir el problema identificando la tarea que se ha de realizar, estableciendo hipótesis sobre los resultados deseados y posibles. © Universidad Internacional de La Rioja (UNIR) El resto de las etapas variará de unos modelos a otros, aunque típicamente se establecerán las siguientes etapas representadas en la Figura 8 (Han & Kamber, 2012; Roiger, 2003): Técnicas de Inteligencia Artificial 28 Tema 1. Ideas clave Integración de los datos: en la Figura 8 se representa un caso en el que hay múltiples fuentes de datos que pueden ser combinadas y, por tanto, es necesario un primer paso de integración de los datos. Selección de los datos: se debe escoger un conjunto de datos considerados relevantes que serán analizados. Esta selección debe ser realizada por personas expertas en el dominio en cuestión o mediante la ayuda de herramientas de descubrimiento de conocimiento. En el ejemplo previo de base de datos sobre síntomas y diagnósticos de enfermedades (Tabla 1) es evidente que el atributo «Número de paciente» no es relevante en el análisis. Sin embargo, la eliminación de atributos de entrada no es siempre tan evidente y se han de utilizar técnicas específicas para ello. Pre-procesamiento de los datos: los datos ruidosos y datos inconsistentes son tratados. Por ejemplo, una base de datos puede contener datos duplicados, valores incorrectos o desconocidos. Se pueden utilizar métodos automáticos estadísticos como la aplicación de outliers (por ejemplo, eliminar el 5 % de los valores más lejanos a la predicción). Este paso es denominado limpieza de datos por algunos autores y requiere conocer muy bien los datos, habiendo un riesgo de descarte de ejemplos de clases poco frecuentes. Transformación de los datos: los datos son normalizados y convertidos si es necesario. Por ejemplo, algunos métodos de minería de datos no pueden procesar datos nominales por lo que se han de convertir los datos nominales a numéricos. Igualmente hay métodos que son mucho más lentos con atributos numéricos que con nominales por lo que se han de discretizar los valores de los atributos de entrada. © Universidad Internacional de La Rioja (UNIR) Minería de datos. Se ejecutan técnicas de inteligencia artificial para extraer patrones en los datos. Técnicas de Inteligencia Artificial 29 Tema 1. Ideas clave Interpretación y evaluación de los resultados. Se examina la salida del paso anterior para determinar si los datos descubiertos son útiles e interesantes. A partir de aquí hay que tomar la decisión de si repetir los pasos previos usando nuevos atributos o instancias. Se pueden utilizar técnicas de visualización y representación de conocimiento en esta etapa para facilitar la tarea. Una vez se concluye que el conocimiento descubierto es útil, se aplica ese conocimiento al problema apropiado. Esta etapa puede servir para verificar las conclusiones extraídas en la etapa de interpretación de resultados. Figura 8. Etapas de un procedimiento típico KDD. © Universidad Internacional de La Rioja (UNIR) 1.5. Referencias bibliográficas Abduljabbar, R., Dia, H., Liyanage, S. & Bagloee, S. A. (2019). Applications of Artificial Intelligence in Transport: An Overview. Sustainability, 11(1), 189. Disponible en Técnicas de Inteligencia Artificial 30 Tema 1. Ideas clave https://doi.org/10.3390/su11010189 Aguado, F., Cabalar, P., Fandinno, J., Muñiz, B., Pérez, G. & Suárez, F. (2019). A Rule- Based System for Explainable Donor-Patient Matching in Liver Transplantation. Electronic Proceedings in Theoretical Computer Science, 306, 266-272. Disponible en https://doi.org/10.4204/EPTCS.306.31 Akinnola, B. (2012). Computer Troubleshooting, Using an Expert System: A Research Work. LAP Lambert Academic Publishing. Alonso, R. S., Prieto, J., García, Ó. & Corchado, J. M. (2019). Collaborative learning via social computing. Frontiers of Information Technology & Electronic Engineering, 20(2), 265-282. Disponible en https://doi.org/10.1631/FITEE.1700840 Alonso, R. S., Sittón-Candanedo, I., García, Ó., Prieto, J. & Rodríguez-González, S. (2020). An intelligent Edge-IoT platform for monitoring livestock and crops in a dairy farming scenario. Ad Hoc Networks, 98, 102047. Disponible en https://doi.org/10.1016/j.adhoc.2019.102047 ASALE, R. & RAE. (s. f.). Inteligencia | Diccionario de la lengua española. «Diccionario de la lengua española». Edición del Tricentenario. Recuperado de https://dle.rae.es/inteligencia Bayram, B. & İnce, G. (2018). Advances in Robotics in the Era of Industry 4.0. En A. Ustundag & E. Cevikcan (Eds.), Industry 4.0: Managing The Digital Transformation (pp. 187-200). Springer International Publishing. Disponible en https://doi.org/10.1007/978-3-319-57870-5_11 © Universidad Internacional de La Rioja (UNIR) Boru, A., Dosdoğru, A. T., Göçken, M. & Erol, R. (2019). A Novel Hybrid Artificial Intelligence Based Methodology for the Inventory Routing Problem. Symmetry, 11(5), 717. Disponible en https://doi.org/10.3390/sym11050717 Técnicas de Inteligencia Artificial 31 Tema 1. Ideas clave Cevik Onar, S. & Ustundag, A. (2018). Smart and Connected Product Business Models. En A. Ustundag & E. Cevikcan (Eds.), Industry 4.0: Managing The Digital Transformation (pp. 25-41). Springer International Publishing. Disponible en https://doi.org/10.1007/978-3-319-57870-5_2 Davis, D. S. (2020). Geographic Disparity in Machine Intelligence Approaches for Archaeological Remote Sensing Research. Remote Sensing, 12(6), 921. Disponible en https://doi.org/10.3390/rs12060921 Elmishali, A., Stern, R. & Kalech, M. (2018). An Artificial Intelligence paradigm for troubleshooting software bugs. Engineering Applications of Artificial Intelligence, 69, 147-156. Disponible en https://doi.org/10.1016/j.engappai.2017.12.011 Farooq, A., Anwar, S., Awais, M. & Alnowami, M. (2017). Artificial intelligence based smart diagnosis of alzheimer’s disease and mild cognitive impairment. 2017 International Smart Cities Conference (ISC2), 1-4. Disponible en https://doi.org/10.1109/ISC2.2017.8090871 Fayyad, U. (2001). Knowledge Discovery in Databases: An Overview. En S. Džeroski & N. Lavrač (Eds.), Relational Data Mining (pp. 28-47). Springer. Disponible en https://doi.org/10.1007/978-3-662-04599-2_2 Fayyad, U., Piatetsky-Shapiro, G. & Smyth, P. (1996). From Data Mining to Knowledge Discovery in Databases. AI Magazine, 17(3), 37-37. Disponible en https://doi.org/10.1609/aimag.v17i3.1230 García, Ó., Alonso, R., Prieto, J., & Corchado, J. (2017). Energy Efficiency in Public Buildings through Context-Aware Social Computing. Sensors, 17(4), 826. Disponible © Universidad Internacional de La Rioja (UNIR) en https://doi.org/10.3390/s17040826 García, Ó., Alonso, R. S., Tapia, D. I. & Corchado, J. M. (2015). CAFCLA: A framework to design, develop, and deploy AMI-based collaborative learning applications. En Técnicas de Inteligencia Artificial 32 Tema 1. Ideas clave Recent advances in ambient intelligence and context-aware computing (pp. 187– 209). IGI Global. Han, J. & Kamber, M. (2012). Data mining: Concepts and techniques (3rd ed). Elsevier. Jain, A., Shah, D. & Churi, P. (2020). A Review on Business Intelligence Systems Using Artificial Intelligence. En S. Smys, J. M. R. S. Tavares, V. E. Balas, & A. M. Iliyasu (Eds.), Computational Vision and Bio-Inspired Computing (pp. 1023-1030). Springer International Publishing. Disponible en https://doi.org/10.1007/978-3-030-37218- 7_107 Joshi, A. V. (2020). Recommendations Systems. En A. V. Joshi (Ed.), Machine Learning and Artificial Intelligence (pp. 199-204). Springer International Publishing. Disponible en https://doi.org/10.1007/978-3-030-26622-6_21 Jozi, A., Pinto, T., Marreiros, G., & Vale, Z.