Dia Positi Vas
Dia Positi Vas
Dia Positi Vas
Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO
Aplicaciones
IA vs Computación tradicional
Test de Turing
Agentes Inteligentes
Inteligencia Artificial
▪ Inteligencia:
▪ Es la capacidad que tienen los seres humanos de adquirir el conocimiento y
aplicarlo, es la capacidad de pensar y razonar.
Sistemas que actúan • “El estudio de como hacer que las computadoras
hagan cosas para las que hasta el momento las
como humanos personas las hacen mejor. ”(Rich y Knight, 1991)
Sistemas que piensan • “El nuevo y excitante esfuerzo de hacer que los
computadores piensen ... maquinas con mente, en el
como humanos más amplio sentido literal”. (Haugeland, 1985).
Sistemas que actúan • “Un campo de estudio que busca explicar y emular
el comportamiento inteligente en términos de
racionalmente procesos computacionales.”(Schalkoff,1990)
Existen varias disciplinas que han contribuido con ideas, puntos de vista y técnicas para la IA,
entre las principales se tiene:
Filosofía
Neuro
Matemática
ciencia
IA
Ciencias
de la Psicología
Computación
Lingüística
Objetivos de la inteligencia artificial
▪ Los objetivos de la IA se deben ver desde dos puntos de vista: Ingeniería y Ciencia.
Ingeniería:
▪ Resolver problemas reales aportando los conceptos de cómo representar el conocimiento
y utilizarlo.
▪ Hacer que las computadoras sean más inteligentes creando programas que simulen
algunas funciones de la mente humana.
Ciencia:
▪ Ayudar al estudio de la inteligencia aportando ideas acerca de las formas de
representación del conocimiento y su uso (Ciencia del Conocimiento).
Aplicaciones de la IA
Robots autónomos
Reconocimiento de imágenes
escritura objetos
Aplicaciones de la IA
Juegos
Dispositivos electrónicos
Aplicaciones de la IA
Análisis de sentimientos
Bot conversacionales
▪ Agente: Humano
▪ Sensores: Ojos, oídos, nariz, boca, piel
▪ Actuadores: Manos, Piernas, cuerdas vocales
▪ Agente: Robótico
▪ Sensores: Cámaras, infrarrojos láseres, sensores de presión
▪ Actuadores: Motores, Brazos mecánicos
▪ Agente: Software
▪ Sensores: Pulsaciones de teclas, paquetes de red, recibidos contenido de archivos.
▪ Actuadores: Mostrar en pantalla, escribir en archivos
y enviar paquetes de red.
AGENTE INTELIGENTE
IA en la Medicina
Signos vitales
Agente de
Algoritmos que estudian el genoma
Diagnostico Paciente
humano para comprender cómo las
mutaciones específicas provocan
enfermedades como el autismo, el
Doctor cáncer , etc. y a partir de esto sugerir
posibles tratamientos.
Diagnóstico
Estructura de una agente
Fuente: http://inteligenciaartificial-raquelmurillo.blogspot.com/2014/11/la-naturaleza-del-entorno.html
Ejercicio
Agentes reactivos
Agentes reactivos Agentes basados Agentes basados Agentes de
basados en
simples en objetivos en utilidad aprenden
modelos
• Seleccionan las • Almacena • Información • La utilidad es • Elemento de
acciones sobre información de sobre una meta una función que aprendizaje
la base de las las partes del que describa las correlaciona un • Elemento de
percepciones mundo que no situaciones que estado y un actuación
actuales pueden ver. son deseables. número real • Críticas
• Reglas de • estado interno • Búsqueda y la mediante el cual
• Generador de
condición- • Implementa planificación se caracteriza el
Problemas
acción "modelo del • Tiene acciones correspondiente
• Tiene acciones mundo". elegidas en base grado de
predefinidas a sus metas. satisfacción
para cada
sensor
Qué tipo de agente es?
BASE DE CONOCIMIENTO
Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO
Búsqueda no
informada
Búsqueda
Informada
Búsqueda
Búsqueda
primero el
local
mejor
Búsqueda Búsqueda de
Algoritmos
voraz primero Búsqueda A* Ascensión de
genéticos
el mejor Colinas
Estrategias de Búsqueda no Informada
Completo?
Si, si el nodo objetivo más superficial está en una cierta profundidad finita d, la búsqueda
primero en anchura lo encontrará después de expandir todos los nodos más superficiales,
con tal que el factor de ramificación b sea finito
Óptimo?
Si. si todas las acciones de un cierto nivel tienen el mismo costo. (SI lo costos no son iguales
el nodo objetivo más superficial no es necesariamente el óptimo)
Complejidad en tiempo: O(bd+1)
Complejidad en espacio: O(bd+1)
Todo nodo generado debe permanecer en memoria
Ejemplo
D C B
H G F E
K L
I J
M
Búsqueda de profundidad limitada
l=2
D C B
H G F E
K L
I J
M
Ejemplo
A A A
D C B D C B D C B
H G F E H G F E H G F E
I J K L I J K L I J K L
M M M
A A
D C B D C B
H G F E H G F E
I J K L I J K L
M M
Ejemplo 2
l=2 A
D C B
H G F E
K L
I J
M
Ejemplo 2
l=2 D C B
H G F E
K L
I J
Completo? Si.
Óptimo? Si
Complejidad en tiempo y espacio
C* es el costo de la solución óptima, y se supone que cada acción cuesta
al menos . Entonces la complejidad en tiempo y espacio del peor caso del
algoritmo es O(b C*/)
Ejercicio
Cola Nodos
Priorizada Explorados
Búsqueda de costo uniforme
Cola Nodos
Priorizada Explorados
S,0
Búsqueda de costo uniforme
Cola Nodos
Priorizada Explorados
C,11 S,0
D,12
Búsqueda de costo uniforme
Cola Nodos
Priorizada Explorados
D,12 S,0
E,18 C,11
B,34
Cola Nodos
Priorizada Explorados
E,18 S,0
F,25 C,11
B,34 D,12
C,17 G,25
Búsqueda de costo uniforme
Cola Nodos
Priorizada Explorados
F,25 S,0
G,28 C,11
B,34 D,12
E,18
Búsqueda de costo uniforme
Cola Nodos
Priorizada Explorados
G,28 A,0
B,34 C,11
D,12
E,18
F,25
Búsqueda bidireccional
𝑑
La complejidad en espacio es también O(𝑏 ).
2
BASE DE CONOCIMIENTO
Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO
ℎ(𝑛) =coste estimado del camino más barato desde el nodo n a un nodo
objetivo.
Las funciones heurísticas son la forma más común de transmitir el
conocimiento adicional del problema al algoritmo de búsqueda.
Una heurística por lo tanto es una función que, cuando se aplica a un estado,
devuelve un número que es una estimación de la calidad del estado, con
respecto al objetivo.
La heurística puede subestimar o sobreestimar el mérito de un estado.
Ejemplo: En un problema de encontrar la ruta óptima de un lugar a otro, se
podría estimar el costo del camino más barato desde una ciudad a la ciudad
destino con la distancia en línea recta entre las ciudades.
Búsqueda voraz primero el mejor- ejemplo
Completo? No
Óptimo? No
La búsqueda voraz primero el mejor no es óptima, y es incompleta (porque
puede ir hacia abajo en un camino infinito y nunca volver para intentar otras
posibilidades).
Complejidad de tiempo? O(𝑏𝑚 )
Complejidad de espacio? O(𝑏𝑚 )
Donde m es la profundidad máxima del espacio de búsqueda.
Con una buen heurístico se puede reducir la complejidad de tiempo
considerablemente. La cantidad de la reducción depende del problema y de la
calidad de la heurística.
Al igual que los otros métodos de búsqueda es necesario verificar los
“callejones sin salidas” , es decir, no expandir estados repetidos.
Búsqueda A*
Completa? Si
Óptimo? Si
Función heurística h(n) sea una heurística admisible.
Complejidad de tiempo? Exponencial
Complejidad de espacio? Almacena todos los nodos en memoria.
Ejemplo: Heurísticas
Problema rompecabezas 8-piezas: El 8-puzzle fue uno de los primeros problemas de búsqueda
heurística. Como el objetivo del puzzle es deslizar las fichas horizontalmente o verticalmente al
espacio vacío hasta que la estado empareje con el estado objetivo.
1 2 3 1 2 3
7 4 6 4 5 6
5 8 7 8
Estado
Estado inicial objetivo
Ejemplos: Heurísticas
1 2 1 2 3 1 2 3
4 8 3 6 4 8 5 4 4 8
6
7 6 5 7 6 7 6 5
Distancia de Manhattan
1 2 3
4 8 5 3
7 6
1 2 3 1 2 3
4 8 5 4 4 5 2
7 6 7 8 6
1 2 3 1 2 3 1 3
4 5 1 4 5 3 4 2 5 3
7 8 6 7 8 6 7 8 6
1 2 3 1 2
4 5 6 0 4 5 3
2
7 8 7 8 6
Búsqueda de ascenso de colinas
Dato
Conjunto discreto de valores que por sí
solos son irrelevantes.
Número telefónico, nombre, género,
altura, peso, fecha, etc.
Información
Datos procesados.
Tiene significado.
Conocimiento
Información con sentido, valiosa,
evaluada, validada.
Fuente: gapingvoid
Dato, Información, Conocimiento
Conocimiento
Tipos de Conocimiento
Declarativo Procedimental
Desde el enfoque de la IA
Desde el enfoque de la IA
Dataset
Un conjunto de datos es una colección de datos, generalmente
presentados en forma tabular.
Contiene una gran cantidad de datos que se puede utilizar para
entrenar un algoritmo con el objetivo de encontrar patrones
predecibles dentro de todo el conjunto de datos.
https://www.kaggle.com/datasets
Actividad
Indique
un ejemplo de dato, información y
conocimiento.
Referencias
Torres Soler, L. C. y Garzón Torres, N. M. (2018). Bases de conocimiento con Prolog. Editorial
Universidad Autónoma de Colombia. https://elibro.net/es/ereader/espoch/160376?
BASE DE CONOCIMIENTO
Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO
L OC OC L C L O
H HL H O H C
HL C HL OC
O
L C C L
H O HL O H OC
H C HL C H OC HL HL O HL C
L O O L OC C O
OC C O L O O L
HL HL O HL C H C HL C H OC
H O HL O H OC
L C C L
O
HL C HL OC
Árbol de búsqueda para “Hombre, Lobo, Estado Ilegal Estado repetido Estado Objetivo
Oveja, Coles”
Solución
2 1 3 Desplazar el 8 a la derecha 1 2 3
4 7 6 Desplazar el 1 arriba…. 4 5 6
5 8 7 8
Mover H con L
HLOC Mover H con O….
HLOC
3𝑥 4𝑧 12𝑥𝑧
Es verdad? Multiplicación 2𝑦
×
5𝑥
=
10𝑥𝑦
3x 4 z 6 z Simplicación
=
6𝑧 6𝑧
=
... 5𝑦 5𝑦
2 y 5x 5 y 1= 1
Actividad
Usando Prolog crear una base de conocimiento que permita dar solución al problema
presentado en la clase.
BASE DE CONOCIMIENTO
Revisión de Prolog
PROgramación LÓGica
Se refiere a realizar inferencias a partir de hechos y reglas.
Es un lenguaje de programación lógico y declarativo en el que se
especifican hechos y relaciones lógicas en lugar de especificar una
solución.
Cuando programamos en PROLOG necesitamos realizar las siguientes tres
cosas:
Declarar hechos acerca de los objetos y sus relaciones
Definir reglas acerca de los objetos y sus relaciones
Hacer acerca de los objetos y sus relaciones
Paradigma de PROLOG
El programador de PROLOG
1. Carga los hechos y reglas en una base de datos(conocimiento)
2. Realiza consultas a las base de datos para ver si un hecho:
1. Está en la base de datos o
2. Puede ser inferido a partir de los hechos y reglas existentes
PROLOG
Consulta
Hechos + Reglas
Prolog mantiene un diálogo continuo con el programador desde el inicio de la
sesión hasta el final de la misma. Este diálogo toma generalmente la forma de un
interrogatorio, a lo largo del cual el programador planteará preguntas al sistema.
? – Indica que se puede formular una pregunta
Por ejemplo, si queremos preguntar a Prolog si 5 es igual a 2+3 podemos teclear
la pregunta
?- 5 is 2+3.
True
?- 4 is 2+3.
False
Objetos en prolog
Átomos
Átomos
alfanuméricos: Secuencia de caracteres alfanuméricos
que empiezan con un letra minúscula.
Ejemplo: manzana m1 carro_manzanas
Átomos entre comillas: Secuencia de caracteres entre comillas
simples
Ejemplo: ‘Manzana’ ‘Hola Mundo’
Números
Números enteros y de punto flotante
Ejemplo: 0 1 9821 -10 1.3 1.3E102
Variables
Un hecho es una afirmación de que algo es verdadero. Prolog usa predicados para definir un hecho.
“Romeo amó a Julieta”
En PROLOG, como base de conocimientos se escribe:
amo(romeo,julieta).
A este hecho, se le puede hacer varias preguntas en el modo de preguntas a la base de conocimiento:
¿Amó Romeo a Julieta?
?- amo(romeo,julieta).
El modo de preguntas permite que la máquina de inferencia de
true. PROLOG responda a preguntas hechas a la base de
¿A quién amo Romeo? conocimientos.
?- amo(romeo,X).
X = julieta. –
¿Quién ama a Julieta?
?- amo(X,julieta).
X = romeo.
Hechos
ESPAÑOL PROLOG
Un perro es un mamífero esun(perro,mamifero).
Un loro es un ave esun(loro,ave).
ESPAÑOL PROLOG
Algo es un animal si es un mamífero o animal(X) :- esun(X,mamifero).
un ave
animal(X) :- esun(X,ave).
ESPAÑOL PROLOG
?- animal(loro).
¿Un loro es un ave? yes
Respuesta: Si ?- animal(mesa).
¿Una mesa es un animal? no
Respuesta: No ?- esun(perro,X).
¿Qué es un perro? X = mamifero
Respuesta: Es un mamífero
Hechos
lluvioso(riobamba).
lluvioso(guayaquil). Conjunción: AND se representa
con una coma.
viento(riobamba).
Regla
frio(X) :- lluvioso(X), viento(X).
Preguntas
Disyunción: OR se
?- frio(riobamba) ¿Hace frío en Riobamba? representa con un punto y
?- frio(ambato) ¿Hace frío en Ambato? coma.
?- frio(quito) ¿Hace frío en Quito?
?- frio(B) ¿Qué es frío?
B = riobamba
BASE DE CONOCIMIENTO
Unidad 2:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS FORMALES Y
CONOCIMIENTO JERÁRQUICO
Proceso de
Transformación Lenguaje
Dominio
del simbólico
Conocimiento
Problemas:
¿Cómo escoger el formalismo de representación del conocimiento que nos
permita hacer una traducción fácil del mundo real a la representación?
¿Cómo ha de ser esa representación para que pueda ser utilizada de forma
eficiente?
Incompletitud de la representación
Modificaciones: el mundo es cambiante, pero las representaciones son de un
instante.
Volumen: demasiado conocimiento a representar → representación parcial.
Complejidad: La realidad tiene una gran riqueza en detalles.
Representación del conocimiento
Modelos formales
Uso de la lógica formal como lenguaje de representación.
Posee mecanismos de inferencia potentes, bien conocidos y formalizados.
Lógica de proposiciones y lógica de predicados.
Modelos estructurados
Uso de técnicas de representación especializadas.
Incorporan mecanismos de inferencia, específicos y muy eficientes, pero limitados.
Redes semánticas; marcos, reglas de producción.
Modelos formales: Lógica
Sintaxis:
Las sintaxis son las reglas que deciden cómo podemos construir oraciones
legales en la lógica.
Determina qué símbolos podemos usar en la representación del
conocimiento.
Cómo escribir esos símbolos.
Semántica:
La semántica son las reglas por las cuales podemos interpretar la oración
en la lógica.
La semántica también implica asignar un significado a cada oración.
Representación lógica
Ejemplo de proposiciones
p: Hoy_es_miércoles
q: Hace_frío
r: Ayer_granizó
p: El_sol_sale_desde_oeste (proposición falsa)
3 + 3 = 7 (proposición falsa)
Aspectos básicos sobre la lógica proposicional:
Conjunción: ∧
P ∧ Q : Xavier es inteligente y trabajador.
P: Xavier es inteligente, Q: Xavier es trabajador.
Disyunción: ∨
P ∨ Q: Mary Emilia es arquitecta o ingeniera
P: Mary Emilia es arquitecta, Q: Mary Emilia es ingeniera
Implicación: →
P → Q : Si está lloviendo entonces la calle está mojada.
P : Está lloviendo y Q: La calle está mojada
Bicondicional: ⇔
P⇔ Q
Lógica proposicional
Proceso de
Transformación Lenguaje
Dominio
del simbólico
Conocimiento
Sintaxis:
predicado(término1, …, términon)
Juan ama a María => ama(Juan, Maria)
ama es el predicado.
Juan y María son los objetos.
Lógica de predicados
Por ejemplo:
x, [Es_de_Ambato (x) → Es_ecuatoriano (x) ]
Para todo x si, x es de Ambato, implica que es ecuatoriano.
x, [niño (x) → le_gusta (x, helados)]
Para todo x si, x es Niño, implica que le gusta los helados.
Cuantificadores
Hechos
hombre(pedro).
gusta(pedro,bailar).
Regla
ama(Y,X) :- hombre(X), gusta(X,bailar).
Preguntas:
?- gusta(pedro,X). ¿Qué le gusta a Pedro?
?- gusta(X,comer). ¿A quién le gusta comer?
?- ama(maria,pedro). ¿ama María a Pedro?
?- ama(maria,X). ¿A quién estima María?
Actividad
Cuestionario
Razonamiento Lógico
Razonamiento Inductivo
Definir las siguientes premisas como hechos y reglas en PROLOG usando lógica
de predicados y consultar en el motor de inferencias para demostrar la
correcta inferencia de la conclusión:
Lunes, 14 de Junio
BASE DE CONOCIMIENTO
Unidad 2:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS FORMALES Y
CONOCIMIENTO JERÁRQUICO
Árboles
Grafos
Revisión de la clase anterior
Las listas son una estructura compuesta por una secuencia ordenada de cero, uno o
más elementos.
Un elemento puede ser cualquier término, incluso otra lista.
Sintaxis:
Los elementos se escriben entre corchetes y separados por comas.
[ elemento1, …, elementoN]
Ejemplos:
[a, b , c]
[5, s ]
[el,[gato],[sobre,[el],tejado]]
[] (lista vacia)
Listas en Prolog
Ejemplos:
Listas en Prolog
Un árbol es una estructura que expresa una jerarquía. En todo árbol, cada nodo tiene un
solo predecesor excepto la raíz.
Todos los árboles tienen una raíz principal y existe una sucesión tal que se puede ir desde
la raíz a cualquier nodo hijo.
Grado: Cantidad de hijos que pueden tener los nodos. (Factor de ramificación)
Nivel: La raíz tiene nivel cero y cada nodo tiene un nivel uno más que el de su padre.
Árboles
La definición del árbol y los métodos correspondientes para el acceso a los nodos
depende del lenguaje de programación que se use y como se lo represente.
Existen varias estrategias de búsqueda comúnmente usadas en inteligencia artificial
que usan los árboles como forma de representar los posibles caminos entres los
diferentes estados del problema para llegar a una solución.
La representación del nodo del árbol que representa un estado del problema
depende de la definición del problema en si. Por ejemplo, un nodo del árbol puede
representar una ciudad si se está representando un árbol de rutas o puede
representar un estado del 8-puzzle, etc.
Grafos
Fuente: https://content.gnoss.ws/imagenes/proyectos/personalizacion/7e72bf14-
28b9-4beb-82f8-e32a3b49d9d3/cms/webgnoss.grafo.01_1_1.jpg
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO
Colas
Colas priorizadas
Árboles
Grafos
Knowledge Graph
Fuente: https://www.cse.ust.hk/knowledgegraph/home.html
Red Semántica
2. Físicamente los nodos son únicos, por lo que permite acceder rápidamente
a todo lo relacionado con él.
Tipos básicos de
Tipos de arcos:
nodos:
Conceptos, para representar un Relación de un objeto con sus
objeto o una abstracción en un componentes -agregación-.
dominio. • "es parte" o "parte-de".
Desde que Quillian expuso su idea de memoria semántica se han utilizado las redes
semánticas en los sistemas taxonómicos.
Tipos de relaciones
Herencia de propiedades:
Si un objeto pertenece a una clase hereda todas las propiedades de esa
clase.
Herencia de una relación de propiedad
Herencia de ser una clase
Este tipo de proceso se realiza siguiendo los siguientes pasos:
Verificar si se cumple una propiedad para una instancia o clase variable.
¿Qué propiedades se cumplen para una instancia o clase?
Procesos inferenciales
Existencia inferida:
Con este tipo de proceso inferencial se navega por la red en sentido
opuesto a la herencia de propiedades.
Determina las instancias o subclases que cumplen una propiedad o
pertenecen a una clase.
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO
Redes Semánticas
Revisión de la clase anterior
Expresar la forma en que un objeto o relación influye sobre otro objeto o relación.
Agrupar los objetos y relaciones.
Eliminar los detalles irrelevantes.
Garantizar que se entienda lo que se quiere representar.
Todo cuanto se desee expresar debe formar parte de la representación.
La representación debe ser concisa.
El almacenamiento y recuperación de la información deben ser rápidos.
Actividad
Actividad grupal
Representar el conocimiento de un tema específico en una red semántica.
Deberán seleccionar un tema específico de conocimiento.
Crear la red semántica de forma gráfica.
Debe existir mínimo 20 arcos en la red.
Motor de Inferencia
Medio por el cual el
sistema experto
Ejecuta las reglas y interactúa con el
obtiene la cadena usuario
de razonamiento
que soluciona el Interfaz de usuario
problema
Base de conocimiento
Una de las formas más populares que hay de representación del conocimiento son
las reglas de producción. Los sistemas de resolución de problemas basados en
reglas constan de las siguientes partes:
Reglas de Producción
La parte IF generalmente contiene varias cláusulas unidas por los conectivos lógicos
AND y OR.
La parte THEN consiste en una o más frases que especifican la acción a tomar.
Las premisas como las conclusiones, no son mas que una cadena de hechos
conectados por Y o por O, que de forma general seria:
Ejemplo
Reglas de producción
En los sistemas basados en reglas intervienen dos elementos importantes: las reglas y
los hechos.
Hechos Reglas
• Son conocidos en una situación particular. • Son estáticos, no cambia de una
• Cuando se utiliza un hecho se sabe su aplicación a otra, a menos que se
veracidad. incorporen al sistema experto elementos
• Son dinámicos, pueden cambiar de una de aprendizaje.
aplicación a otra. • La información es de naturaleza
• Su naturaleza no es permanente. permanente.
• Se almacenan en la memoria de trabajo. • Almacenada en la base de conocimiento
Ejemplo
En este caso se tienen siete objetos, y cada objeto puede tomar uno y solo un
valor de entre sus posibles valores.
Ejemplo
Las expresiones lógicas de las restantes reglas constan de una sola afirmación.
La Regla 1 indica cuándo debe permitirse el pago, y las restantes cuándo debe
rechazarse
Propiedades de las reglas
https://www.javatpoint.com/expert-systems-in-artificial-intelligence
https://elvex.ugr.es/decsai/iaio/slides/A2%20Expert%20Systems.pdf
https://www.cs.upc.edu/~bejar/ia/transpas/teoria/3-RC1-
Sistemas_de_produccion.pdf
https://sites.google.com/site/sistemasexpertosunah/home/sistemas-
expertos-basados-en-reglas
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS
ESTRUCTURADOS Y APRENDIZAJE AUTOMÁTICO
Criterio de
Prioridad
Ejemplo1:
Backward chaining
El encadenamiento hacia atrás empieza con la conclusión
deseada y decide si los hechos que existen pueden dar lugar a
la obtención de un valor para esta conclusión.
Sólo se considera lo necesario para la resolución del problema.
El proceso de resolución consiste en la exploración de un árbol.
Método inductivo.
Encadenamiento hacia atrás
El algoritmo del encadenamiento hacia atrás.
Repetir
Repetir
Para cada regla cuyo consecuente coincida con la hipótesis.
Comprobar cada antecedente mediante el apareamiento con
afirmaciones mediante encadenamiento hacia atrás a través
de otra regla creando nuevas hipótesis.
Verificar todas las alternativas de apareamiento o substitución.
Si todos los antecedentes de las reglas son comprobados, la
regla es verdadera.
Hasta la Última hipótesis
Hasta que se hayan intentado todas las hipótesis y ninguna se
haya podido comprobar.
Ejemplo:
Si Sintoma=dolor de muelas
Entonces Enfermedad=caries O Enfermedad=sinusitis O
Enfermedad=muela del juicio O ….
Representación de la incertidumbre
En situaciones inciertas, es necesario tratar la incertidumbre.
Algunos sistemas expertos basados en reglas introducen una
medida asociada a la incertidumbre de las reglas y a la de sus
premisas conocida como: FACTOR DE CERTEZA
Algunos sistemas expertos usan la PROBABILIDAD como medida
de incertidumbre.
Factores de certeza
Factor de certidumbre, CF
Dada una premisa se da una conclusión con un
determinado grado de certeza en función de la fuerza
de la regla.
La interpretación se realiza basándose en
experiencias o evidencias disponibles, se escoge un
factor de certidumbre qué se entiende como un nivel
de veracidad. También se puede usar valores de 0 a
100 o como porcentaje.
Inconveniente: Incapacidad de representar
dependencias entre las observaciones y la forma en
la que se combina el conocimiento.
Factores de certeza
Ejemplo:
Factor de
Certeza
Probabilidad
Actividad Grupal
Ingresar a Microsoft Store e instalar UNGIN (Expert 2.0)
Revisar el material sobre el manejo de UNGIN disponible en el aula virtual.
Realizar la práctica según las instrucciones indicadas en la actividad
Práctica Reglas de Producción-Incertidumbre.
Bibliografía
Teoría Bayesiana
Revisión de la clase anterior
Fuente: https://www.cs.upc.edu/~bejar/ia/transpas/teoria/4-SBC4-rbayesianas.pdf
Ejemplo
Fuente: https://www.cs.upc.edu/~bejar/ia/transpas/teoria/4-SBC4-rbayesianas.pdf
Actividad
Regla de la cadena
Conjuntos difusos
Fuzzy sets, Zadeh 1965
Un conjunto difuso, A, en U (universo de discurso) viene caracterizado por la función de
pertenencia μA(x), que asocia a cada punto x ∈ U un número real del intervalo [0,1], donde los
valores de μA(x) representan el "grado de pertenencia" de x en A, de forma que, cuanto más
cerca esté el valor de μA(x) a 1, mayor es el grado de pertenencia de x a A.
La lógica difusa usa valores entre 0 y 1 (inclusive) (Ej. 0, 0.1, 0.2, …,0.9,1)
Lógica Difusa: Función de pertenencia
Función de pertenencia
Función de membresía
La función μA(x), proporciona el grado de pertenencia de este valor de x al conjunto difuso A.
La función de pertenencia proporciona una medida del grado de similaridad de un elemento
de U con el conjunto difuso.
La forma de la función utilizada, depende del criterio aplicado en la resolución de cada
problema. El número de funciones características asociadas a una misma variable es elegido
por el experto: a mayor número de funciones tendremos mayor resolución pero también mayor
complejidad computacional.
Las funciones de pertenencia más comúnmente utilizadas por su simplicidad matemática son:
triangular, trapezoidal, gaussiana, sigmoidal, campana.
Lógica Difusa: Función de pertenencia
Función triangular
Los parámetros {a, b, c} (con a < b < c) determinan las coordenadas de las tres esquinas de la
función de pertenencia triangular.
Lógica Difusa: Función de pertenencia
Función trapezoidal
Los parámetros {a,b,c,d} (con a < b < c < d) determinan las coordenadas de los cuatro puntos
de la función de pertenencia trapezoidal.
Lógica Difusa: Función de pertenencia
Función Gaussiana
Una función de pertenencia Gaussiana está determinada completamente por c y σ; c
representa el centro de la función, mientras que σ representa el ancho de banda de la función
Lógica Difusa: Función de pertenencia
Función Sigmoidal
Variables lingüísticas
Son caracteres legibles (como colores, letras, palabras, sonidos, símbolos) que pueden
ser interpretados o diferenciados fácilmente por una persona que controla un sistema.
El concepto de variable lingüística es de gran importancia para los sistemas difusos,
porque son los elementos fundamentales de la representación del conocimiento
humano.
Por ejemplo: la altura, la edad, el error, la variación del error,etc
Variables lingüísticas
μA(x)
Operaciones en conjuntos difusos
García Infante, J. C. (2009). Sistemas con lógica difusa. México D. F, Mexico: Instituto
Politécnico Nacional. Recuperado de https://elibro.net/es/ereader/espoch/39257?
Diciembre, S (2017). Sistemas de Control con Lógica Difusa: Métodos de Mamdani y de
Takagi-Sugeno-Kan. Recuperado de:
http://repositori.uji.es/xmlui/bitstream/handle/10234/173788/TFG_2017_DiciembreSanahuj
a_Samuel.pdf?sequence=1&isAllowed=y
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO
μA(x)
Operaciones en conjuntos difusos
Operaciones en conjuntos difusos
Fuente: http://repositori.uji.es/xmlui/bitstream/handle/10234/173788/TFG_2017_DiciembreSanahuja_Samuel.pdf?sequence=1&isAllowed=y
Mecanismos de inferencia
Los mecanismos de inferencia más usados son métodos de Mamdani y de Takagi-Sugeno-Kang (TKS)
Inferencia de Mamdani
Propuesto por Ebrahim Mamdani,1975
Método muy usado.
El proceso se realiza en cuatro pasos:
Fuzzificación de las variables de entrada.
Evaluación de las reglas.
Agregación de las salidas de las reglas.
Defuzzificación.
Inferencia de Takagi-Sugeno-Kang (TSK)
Propuesto por Takagi y Sugeno, 1985
Método basado en reglas difusas pero en el que el consecuente da sino una serie de funciones lineales
en lugar de un conjunto difuso.
No se realiza proceso de Defuzzificación
Fuzzificación
Fuente: http://repositori.uji.es/xmlui/bitstream/handle/10234/173788/TFG_2017_DiciembreSanahuja_Samuel.pdf?sequence=1&isAllowed=y
Evaluación de las reglas
Escalado proporciona un resultado más preciso, preservando la forma original del conjunto
difuso y se obtiene multiplicando todos los valores por el valor de verdad del antecedente.
Agregación
García Infante, J. C. (2009). Sistemas con lógica difusa. México D. F, Mexico: Instituto
Politécnico Nacional. Recuperado de https://elibro.net/es/ereader/espoch/39257?
Diciembre, S (2017). Sistemas de Control con Lógica Difusa: Métodos de Mamdani y de
Takagi-Sugeno-Kan. Recuperado de:
http://repositori.uji.es/xmlui/bitstream/handle/10234/173788/TFG_2017_DiciembreSanahuj
a_Samuel.pdf?sequence=1&isAllowed=y
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO
Inferencia de Mamdani
Propuesto por Ebrahim
Mamdani,1975
El proceso se realiza en cuatro
pasos:
Fuzzificación de las variables de
entrada.
Defuzzificación.
Inferencia de Takagi-Sugeno-Kang
(TSK)
Propuesto por Takagi y Sugeno, 1985
Método basado en reglas difusas
pero en el que el consecuente da
sino una serie de funciones lineales
en lugar de un conjunto difuso.
No se realiza proceso de
Defuzzificación
Reglas + Datos → Resultado
Cliente Consumos
Ana Álvarez Cerveza Duff, Pañales, Camiseta Duff, Leche
Byron Benitez Cerveza Duff, iPod, Camiseta Duff, Maní, Vodka
Carla Castro Cerveza Duff, Camiseta Duff
Diego Diaz Cerveza Duff, Vodka
En el 75% de casos, quien compra Cerveza
Duff, también compra Camisetas Duff
Fuente: Néstor Montaño, SociedadEcuatorianade Estadística
Machine Learning
Machine Learning
Aprendizaje automático
Aprender de los datos
Toma de decisiones basada en los datos
No se realiza una programación explícita
Aprende (descubre) patrones, tendencias y relaciones en
los datos y desde los datos.
Fuente: Peláez E.
Tipos de aprendizaje
Data: Indicadores biométricos (de fácil obtención) de personas con/sin un tipo de enfermedad
Objetivo: Encontrar un patrón que me permita detectar la enfermedad sin la necesidad de un
examen que implique usar una máquina costosa
Preprocesamiento de datos
Revisión de la clase anterior
Encontrar un problema.
Analizar el problema.
Cuáles son las entradas, salidas, dominio del
problema, técnicas de preprocesamiento de
datos.
Seleccionar una solución.
Decidir que arquitectura y parámetros utilizar.
Diseñar la solución.
Dataset de entrenamiento: Son los datos que la IA
Entrenar la solución.
utilizará para aprender.
Dataset de test: Son los datos que la IA utilizará para Reentrenar si fuese necesario.
saber si el aprendizaje está funcionando
correctamente o no.
Evaluar la solución.
Datos
Registros
Registros relacionales
Matriz de datos
Data transaccional
Grafos y redes
WWW
Redes de información
Grafos de conocimiento
Series de tiempo
Datos temporales
Datos espaciales
Mapa
Imágenes
Video
Audio
Los datos reales pueden ser impuros, esto conduce a la extracción de patrones/reglas
poco útiles.
Se puede deber a:
Datos Incompletos: falta de valores de atributos,
Datos con Ruido
Datos inconsistentes
Datos redundantes
Preprocesamiento de datos
Fuente: https://sci2s.ugr.es/sites/default/files/ficherosPublicaciones/2133_Nv237-Digital-sramirez.pdf
Tareas de preprocesamiento de datos
Limpieza de datos:
Llenar valores perdidos Identificar y resolver outliers
Nivel de Educación=“” Edad = 300
Soluciones:
Eliminar ruido
Ignorar la tupla
Salario = -100
Llenarlo manualmente (tedioso)
Registro de un parpadeo durante un
Llenarlos automáticamente
encefalograma.
Constante global
Quitar o corregir registros con valores
Promedio general
dañados o no válidos
Promedio de elementos de la misma clase
Fecha de nacimiento = 01-01-1900
El valor más probable, basado en inferencia
Resolver inconsistencias
Edad y la fecha de nacimiento no concuerdan
Integración de datos
Integrar múltiples bases de datos o archivos
Transformación de la representación.
Convertir un atributo numérico en un atributo categórico
Ordinal
One-hot encoding
Algunos modelos funcionan solo con atributos numéricos o categóricos, y otros admiten la
combinación de tipos de atributos.
Selección y partición de instancias. Seleccionar datos desde los conjuntos de datos de
entrada para crear los conjuntos de entrenamiento, validación y prueba.
Sampling
Reducción de dimensionalidad
Eliminar características irrelevantes
Permitir una visualización más fácil
PCA – Principal Component Analysis
Feature selection
Fuente: http://www.nlpca.org/pca_principal_component_analysis.html
Normalización
Z-score
Librerías de Python
Aprendizaje Supervisado
Revisión de la clase anterior
Fuente: https://sci2s.ugr.es/sites/default/files/ficherosPublicaciones/2133_Nv237-Digital-sramirez.pdf
Aprendizaje Supervisado
Regresión
Predecir un valor continuo
Fuente; Fernando Berzal, DECSAI
Métricas
Overfitting
Sobreajuste
Los modelos de clasificación tienden a ajustarse al conjunto de entrenamiento utilizado
en su construcción.
Aprendizaje supervisado
Reglas de división
Ganancia de información (ID3)
La ganancia de información es una disminución de la entropía, por lo que atributos con mayor valor es
seleccionado
La información ganada por dividir el árbol sobre el atributo A La entropía promedio de los nodos
hijos
Este medida puede estar sesgada a atributos con un gran número de valores
Reglas de división
Índice de Gini (CART, SLIQ, SPRINT)
Crea árboles de decisión binarios.
Las redes neuronales artificiales (artificial neural networks o ANN) son un conjunto de
algoritmos inspirados en el mecanismo de comunicación de la neurona biológica.
Perceptron
Funciones de activación
Redes Neuronales Artificiales
Salida # neuronas
depende del número de
clases y de la
codificación empleada
para su representación.
Casas Roma, J. Bosch Rué, A. y Lozano Bagén, T. (2019). Deep learning: principios y
fundamentos. Editorial UOC. https://elibro.net/es/ereader/espoch/126167?
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO
Red Neuronal
más simple
Salida # neuronas
depende del número de
clases y de la
codificación empleada
para su representación.
Las entradas en una neurona artificial son variables continuas que se representan por un
vector X, donde cada elemento del vector representa una característica de la entrada.
Hiperparámetros
Época - epoch
Una época consiste en pasar todos los datos de entrenamiento una sola vez por el
ciclo de aprendizaje (propagación hacia adelante y propagación hacia atrás)
Una sola época no es suficiente por lo que se pasa el conjunto de datos completo
varias veces a la misma red neuronal para su entrenamiento.
Redes Neuronales artificiales
Número de batches:
Número de lotes (batches) necesarios para completar una época.
Por ejemplo, si se divide un conjunto de datos de 1.000 ejemplos en lotes de 250, entonces se
necesitarán 4 iteraciones para completar 1 época.
Inicialización de los pesos de la red
Aleatoria – distribución gaussiana
He
Xavier
Velocidad de aprendizaje
Factor relevante sobre el proceso de aprendizaje de la red
0.01, 0.001, 0.0001
Redes Neuronales artificiales
Evitar sobreajuste(overfitting)
Aumentar la cantidad de datos de entrenamiento.
Datos reales
Data augmentation - expansión artificial de datos
Técnicas de regularización
Regularización
Añade un término extra a la función de costo denominado término de regularización.
El objetivo de la regularización es que la modificación de pesos en la red se realice de forma gradual.
L1, L2
Dropout:
Asigna una probabilidad p a cada una de las neuronas de ser temporalmente eliminadas, es decir, un
subconjunto de las neuronas de la red será ignoradas en cada etapa del entrenamiento.
Multi-layer Perceptron MLP
Un perceptrón multicapa (MLP) es una red neuronal artificial compuesta por más de un
perceptrón.
Tiene una capa de entrada l, una capa de salida, y entre esas dos, un número arbitrario de
capas ocultas que son el motor computacional del MLP.
Las MLP con una capa oculta son capaces de aproximarse a cualquier función continua.
La entrada de datos es un vector.
Fuente: https://scikit-learn.org/stable/modules/neural_networks_supervised.html
Proceso de aprendizaje
En el paso forward, el flujo de señal se mueve desde la capa de entrada a través de las
capas ocultas hasta la capa de salida, y la decisión de la capa de salida se mide
contra las etiquetas reales de la instancias.
En el paso backward, utilizando la propagación hacia atrás (backwardpropagation ) y
la regla de la cadena de cálculo(derivadas parciales de la función de error) se afina
los pesos en las entradas de las neuronas.
Fuente: https://github.com/Vercaca/NN-Backpropagation
Redes Neuronales Convolucionales
Mapa de características
Redes Neuronales Convolucionales
LeNet-5 -1998
Redes Neuronales Convolucionales
AlexNet 2012
Redes Neuronales Convolucionales
VGG
Redes Neuronales Convolucionales
ResNet
Redes Neuronales Recurrentes
Fuente: http://colah.github.io/posts/2015-08-Understanding-LSTMs/
Redes Neuronales Recurrentes
Fuente: http://colah.github.io/posts/2015-08-Understanding-LSTMs/
Aplicaciones de ANN
Vehículos autónomos
Reconocimiento facial
Clasificación de imágenes
Detección de objetos
Transferencias de estilos
Análsis de sentimientos
Predicción de frases, etc
Referencias
Casas Roma, J. Bosch Rué, A. y Lozano Bagén, T. (2019). Deep learning: principios y
fundamentos. Editorial UOC. https://elibro.net/es/ereader/espoch/126167?