Está en la página 1de 438

BASE DE CONOCIMIENTO

Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO

Ing. Gisel Bastidas


 Recapitulación de la Inteligencia Artificial
 Definición
 Fundamentos
Objetivos
AGENDA

 Aplicaciones
 IA vs Computación tradicional
 Test de Turing
 Agentes Inteligentes
Inteligencia Artificial

Fuente de la imagen: https://static.vecteezy.com/system/resources/previews/001/879/461/non_2x/artificial-intelligence-for-problem-solving-artificial-brain-network-system-


intelligence-technology-for-question-n-answer-ideas-completing-task-promotion-business-card-banner-brochure-flyer-free-vector.jpg
Inteligencia artificial: Definición

▪ Inteligencia:
▪ Es la capacidad que tienen los seres humanos de adquirir el conocimiento y
aplicarlo, es la capacidad de pensar y razonar.

▪ La Inteligencia Artificial (IA), es una rama de la Ciencia de la


Computación que se encarga de estudiar las formas de modelar el
comportamiento humano en una computadora.
▪ IA tiene como objeto: simular el intelecto, igualar capacidades humanas y
ser inteligente.
Inteligencia artificial: Definición

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)

Sistemas que piensa • “El estudio de las facultades mentales mediante el


uso de modelos computacionales”. ( Charniak y
racionalmente McDermott, 1985)
Fundamentos de la IA

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

 Sistemas de recomendación  Sistemas de Diagnóstico, Control y


Planificación

Ambientes Inteligentes Recomendación y Personalización


Aplicaciones de la IA

 Juegos
 Dispositivos electrónicos
Aplicaciones de la IA

 Procesamiento de lenguaje natural

Análisis de sentimientos

Bot conversacionales

Traductores Revisión de gramática y ortografía


Fuente: https://www.auraquantic.com/es/tecnologias-de-inteligencia-artificial-y-sus-categorias/
Inteligencia Computación
vs
Artificial Tradicional

En un programa de Inteligencia En un programa convencional se le


Artificial se le dice a la computadora dice a la computadora cómo resolver
qué problema resolver. el problema.

Los programas de Inteligencia Artificial Los programas convencionales están


están basados en la representación y basados en algoritmos definidos paso a
manipulación de símbolos. paso.
Discusión

¿Qué caso de la vida real


resolvería con IA?
Test de Turing

 Propuesta por Alan Turing (1950).


 Esta prueba esta basada en la
incapacidad de diferenciar entre
entidades inteligentes indiscutibles y
seres humanos.
 Propuesta: Si una máquina con
inteligencia artificial puede engañar a
la gente durante una conversación y
hacerla creer que es un humano,
entonces se habrá alcanzado un hito.
AGENTE

Un Agente es cualquier cosa que puede percibir su entorno mediante


sensores y actúa sobre este entorno utilizando actuadores.
Un actuador es un elemento que reacciona a un estímulo realizando una
acción.

Fuente: Inteligencia Artificial, Russell &


Norvig
Ejemplos de agentes

▪ 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

 Un agente inteligente es una entidad capaz de


percibir su entorno, procesar tales percepciones
y responder o actuar en su entorno de manera
racional y autónoma. realizando la mejor
acción posible a partir de los datos percibidos.
Ejemplos Agentes inteligentes

 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

La función del agente define el


Hardware: comportamiento del agente por lo
Sensores- que mapea una percepción(es) a una
Actuadores acción(es).

Agente = arquitectura + programa


Hace que las percepciones de los sensores estén Software:
disponibles para el programa, ejecuta los programas, y Algoritmos que
se encarga de que los actuadores pongan en marcha deciden la mejor
las acciones generadas. acción ante una
percepción
Entorno de trabajo

 REAS (Medida de Rendimiento, Entorno, Actuadores, Sensores) o PEAS


en inglés (Performance, Environment, Actuators, Sensors).
 Medida de Rendimiento: Cuál es el objetivo a cumplir del agente y cuan
bien lo cumple?
 Entorno: Cuál es el entorno en el que se encuentra el agente?
 Actuadores: Qué necesita el agente para ejecutar su función?
 Sensores: Que percepciones tiene el agente?
Entorno de trabajo

Fuente: http://inteligenciaartificial-raquelmurillo.blogspot.com/2014/11/la-naturaleza-del-entorno.html
Ejercicio

 Qué medidas de rendimiento usaría para los siguientes


“agentes”
 Alumno del asignatura de Base de Conocimiento.
 Personal que recoge la basura en las noches.
 Software que permite resolver laberintos.
Tipos de programas de agentes

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

Ing. Gisel Bastidas


 Búsquedas
AGENDA  Búsquedas no informadas
Repaso

 Un agente es cualquier cosa capaz de percibir el medio ambiente


mediante sensores y actuar sobre ese medio usando actuadores

 Función del agente: mapea percepciones en acciones


 Programa del agente: Implementa la función del agente.
 Medida de rendimiento: determina el éxito del agente.
 Agente racional es aquel que hace lo correcto y realiza la
acción que maximiza su medida de rendimiento.
Introducción

 Las técnicas de solución de problemas en IA, en general,


incorporan un proceso de búsqueda.
 Un problema búsqueda en IA consta de:
 Un espacio de estados.

 Un conjunto de operadores (acciones, costes).

 Un estado inicial: punto de partida de la búsqueda.


 Estado objetivo es el estado buscado
 Una función objetivo (comprueba si el estado actual corresponde a una solución del
problema).

Fuente: DECSAI, Universidad de Granada


 Búsqueda en un espacio de estados
 Espacio de estados: Representación del problema a través de las (posibles)
acciones del agente.
 Búsqueda en el espacio de estados: Resolución del problema mediante la
proyección de las distintas acciones del agente. (estrategia de búsqueda)
 Todo proceso de búsqueda puede ser visualizado como el
recorrido por un árbol(grafo)en el que cada nodo representa un
estado y cada rama representa las relaciones entre los estados
cuyos nodos conecta.
Espacio/Árbol de búsqueda
Conceptos

 Nodo raíz: Estado inicial


 Nodos abiertos: Estados generados pero aún no visitados.
Añadidos a la frontera pero aún no visitados o explorados
 Nodos cerrados: Estados visitados y que ya se han expandido.
Explorados
 Frontera: Nodos hoja del árbol parcialmente expandido (nodos
generados per aún no expandidos)
Estrategias de búsqueda

 Forma en la que se expanden los nodos en la frontera.


 Las principales diferencias de las estrategias de búsqueda, son:
 La dirección en la cual se conduce la búsqueda.
 La estrategia de control, o forma de seleccionar las reglas que pueden ser aplicables.
 La forma de representar cada nodo del proceso de búsqueda (representación del
conocimiento).
 Condiciones de parada
 Se ha encontrado la solución
 Se ha acabado el tiempo disponible
 Se ha llegado a un nivel de profundidad determinado
Medir el rendimiento de la resolución del
problema

El rendimiento de un algoritmo se puede evaluar de cuatro formas:


 Completitud:
¿Está garantizado que el algoritmo encuentre una solución cuando esta
exista?
 Optimización:
¿Encuentra la solución de menor número de pasos o de menor costo?
 Complejidad en tiempo:
¿Cuánto tarda en encontrar una solución?
 Complejidad en espacio:
¿Cuánta memoria se necesita para el funcionamiento dela búsqueda?
Complejidad en tiempo y espacio

 La complejidad se expresa en términos de tres


cantidades:
 b, el factor de ramificación o el máximo b

número de sucesores de cualquier nodo;


 d, la profundidad del nodo objetivo más b2
superficial; La longitud de un camino hacia
una meta.
bd
 m, la longitud máxima de cualquier camino en
frontera
el espacio de estados.
 Por lo tanto, visitar cada uno de los nodos del
árbol de búsqueda a profundidad d tomará
tiempo O(bd).
Algoritmo general de búsqueda en árboles

función BÚSQUEDA-ÁRBOLES(problema,estrategia) devuelve una solución o fallo


inicializa el árbol de búsqueda usando el estado inicial del problema
bucle hacer
si no hay candidatos para expandir entonces
devolver fallo
escoger, de acuerdo a la estrategia, un nodo hoja para expandir
si el nodo contiene un estado objetivo entonces
devolver la correspondiente solución
en otro caso expandir el nodo y añadir los nodos resultado al árbol de búsqueda
Estrategias de Búsqueda

Búsqueda no
informada

Búsqueda Búsqueda de Búsqueda Búsqueda en Búsqueda


Búsqueda
primero en costos primero en profundidad profundidad
bidireccional
amplitud uniforme profundidad limitada iterativa

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

 La búsqueda no informada es también conocida como búsqueda a


ciegas (blind search).
 En estas estrategias de búsqueda no se tiene información adicional
acerca de los estados más allá de los que proporciona la definición
del problema(expandiendo y probando el estado objetivo).
 Su funcionamiento es sistemático:
 Siguen un orden de visitas y generación de nodos establecido por la
estructura del espacio de búsqueda.
Búsqueda primero en anchura

 La búsqueda primero en anchura (Breadth First


Search).
 Es una estrategia sencilla en la que:
 Se expande primero el nodo raíz (estado inicial)
 A continuación se expanden todos los sucesores del
nodo raíz, después sus sucesores, etc.
 En general, se expanden todos los nodos a una
profundidad en el árbol de búsqueda antes de
expandir cualquier nodo del próximo nivel.
 FIFO
Búsqueda primero en anchura
Búsqueda primero en anchura

 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

Iteración Frontera: Nodo Frontera: Cola


Cola antes expandido después de
de expansión expansión
1 S S C,D
2 C,D C D,B,E
3 D,B,E D B,E,F
4 B,E,F B E,F,G
5 E,F,G E F,G
6 F,G F G
Por qué BPA no es siempre la estrategia a elegir?
 Tenemos que considerar la cantidad de tiempo y memoria que utiliza para
completar una búsqueda.
 Cada nodo generado debe permanecer en la memoria:
 parte de la frontera
 antepasado de un nodo de la frontera.
 La complejidad en espacio es, por lo tanto, la misma que la complejidad en tiempo.
Ejercicio

 Cuál es el árbol de búsqueda que se


seguirá con búsqueda primero en
anchura para los nodos J y F.
Búsqueda primero en profundidad

 La búsqueda primero en profundidad (depth-first search)


siempre expande el nodo más profundo en la frontera
actual del árbol de búsqueda.
 La búsqueda procede inmediatamente al nivel más
profundo del árbol de búsqueda
 Se expande el nodo raíz
 Luego, se expande uno de los hijos
 Luego, uno de los hijos del hijo, etc.
 Cuando se llega a un nodo hoja si no es solución, se retrocede y
se prueba con el siguiente hijo.
 LIFO
Ejemplo
Búsqueda primero en profundidad

 Es completo, si evita caminos redundantes y el espacio de


estados es finito se puede decir que es completo, caso contrario
NO es completo.
 NO es óptimo
 Complejidad en tiempo O(𝑏𝑚 ) donde m es la máxima
profundidad, m puede ser mayor que d (puede ser infinito)
 Complejidad en espacio O(b*m) solo almacena el camino y los
nodos hijos de los nodos intermedios. (Ventaja ya que la
complejidad en este caso es lineal)
Ejercicio

D C B

H G F E

K L
I J

M
Búsqueda de profundidad limitada

 Variación de búsqueda primero en profundidad


 Se puede aliviar el problema de árboles ilimitados
aplicando la búsqueda primero en profundidad con un
límite de profundidad l predeterminado.
 El límite de profundidad resuelve el problema del camino
infinito.
Búsqueda de profundidad limitada

 Introduce una fuente adicional de incompletitud si


escogemos l < d, es decir, el objetivo está fuera del límite
de profundidad.
 La búsqueda de profundidad limitada también será no
óptima si escogemos l > d . Su complejidad en tiempo es
O(𝑏 𝑙 ) y su complejidad en espacio es O(b*l).
Ejemplo

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

Nodo fuera del


límite M
Búsqueda con profundidad iterativa

 La profundidad iterativa combina las ventajas de la búsqueda primero en profundidad


y primero en anchura.
 En la búsqueda primero en profundidad, sus exigencias de memoria son muy modestas: O(bd)
para ser exacto.
 La búsqueda primero en anchura, es completa cuando el factor de ramificación es finito y
óptima cuando el coste del camino es una función que no disminuye con la profundidad del
nodo.
 En esta búsqueda se va aumentando gradualmente el límite (primero 0, después 1,
después 2, etcétera) hasta encontrar el objetivo.
Búsqueda de costo uniforme

 La búsqueda de costo uniforme expande el nodo n con el camino de costo


más pequeño.
 Los costos deben ser positivos, caso contrario no se aplica la búsqueda. El
nodo de menor costo se expande primero, y el costo se va acumulando.
 Usa una cola priorizada
 Valida si un nodo ya fue explorado antes con un costo menor y lo descarta.
Búsqueda de costo uniforme
Búsqueda de costo uniforme

 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

D,16 B,34 E,18


Búsqueda de costo uniforme

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 idea de la búsqueda bidireccional es ejecutar dos


búsquedas simultáneas: una hacia delante desde el estado
inicial y la otra hacia atrás desde el objetivo, parando
cuando las dos búsquedas se encuentren en el centro.
𝑑 𝑑
 La motivación es que 𝑏 + 𝑏 es mucho menor que 𝑏 𝑑 .
2 2

 La búsqueda bidireccional se implementa teniendo una o


dos búsquedas que comprueban antes de ser expandido si
cada nodo está en la frontera del otro árbol de búsqueda. si
esto ocurre, se ha encontrado una solución.
𝑑
 La complejidad en tiempo de la búsqueda bidireccional es O(𝑏 )
2

𝑑
 La complejidad en espacio es también O(𝑏 ).
2
BASE DE CONOCIMIENTO
Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO

Ing. Gisel Bastidas


 Búsquedas
AGENDA  Búsquedas informadas
Búsquedas informadas

 El propósito de la búsqueda informada es utilizar conocimiento


específico del problema para alcanzar el objetivo de manera más
eficiente.
 La idea principal es poder medir la “calidad” de un estado. Esto
permitirá dirigir la búsqueda por los estados que estarán “más cerca”
del objetivo.
 Las estrategias de búsqueda informada son mucho más eficientes que las
estrategias de búsqueda no informadas
Función de evaluación

 Una función de evaluación f(n), es la función que va a medir la


calidad de un nodo n.
 Un nodo tendrá mayor calidad cuanto menor sea la distancia al nodo
objetivo.
 f(n) estima la distancia desde un nodo n a un nodo objetivo.
 Las búsquedas informadas expanden primero los nodos que están
más cerca del objetivo, es decir, aquellos nodos en los que la función
f(n) asigna un valor menor.
Búsqueda primero el mejor

 Esta estrategia selecciona un nodo para la expansión basada en una


función de evaluación, f(n).
 Los nodos en la frontera deben ordenarse con respecto a su “calidad”
para esto se usa una cola con prioridad (la frontera en orden
ascendente).
 Casos especiales de esta búsqueda:
 Búsqueda voraz primero el mejor
 Búsqueda A*
Búsqueda voraz primero el mejor

 Búsqueda voraz (greedy, avaro) trata de expandir el nodo más


cercano al objetivo. La función de evaluación f(n) es la función
heurística:
f(n) = h(n)
h(n) = costo estimado del camino más barato desde el nodo n hasta el nodo
objetivo. (Minimización)
 Restricción: si n es un nodo objetivo, entonces h(n)=0.
 Al usar una función heurística no necesariamente brinda la solución
óptima.
Función heurística

ℎ(𝑛) =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

Heurística h(n) = distancia en línea recta desde cada nodo a Bucarest

Nodos grises explorados


Nodos blancos añadidos a la frontera

En cada paso se selecciona el nodo de menor


heurística
Búsqueda voraz primero el mejor

 La minimización de h(n) es susceptible de ventajas


falsas.
 Considere el problema de ir de Iasi a Fagaras.
 h(n) = distancia en línea recta
 La heurística sugiere que Neamt sea
expandido primero, porque es la más cercana
a Fagaras, pero esto es un callejón sin salida.
 En este caso, entonces, la heurística provoca
nodos innecesarios para expandir. Además, si
no se controla estados repetidos, la solución
nunca se encontrará, la búsqueda oscilará
entre Neamt e Iasi.
Búsqueda voraz primero el mejor

 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*

 Minimizar el costo estimado total de la solución


 La función de evaluación tiene dos componentes:

f(n) = g(n) + h(n)


f(n) = coste más barato estimado de la solución a través de n.
o g(n), costo de haber alcanzado nodo n
o h(n), costo estimado más barato para llegar desde el nodo n hasta el nodo objetivo
 Usa una cola con prioridad
Búsqueda A*

 La búsqueda A* es óptima siempre y cuando la función heurística h(n)


sea una heurística admisible.
 h(n) nunca sobrestime el coste de alcanzar el objetivo.
 Ejemplo: Una heurística admisible es la distancia en línea recta que se
uso para ir a Bucarest, ya que la distancia en línea recta entre dos
puntos es el camino más corto entre esos dos puntos.
Ejemplo: A* Nodos grises explorados
Nodos blancos añadidos a la frontera

Heurística h(n) = distancia en línea recta desde cada nodo a Bucarest

g(n) = distancia entre nodos

En cada paso se selecciona el nodo de menor


valor de g(n) + h(n)
Ejemplo: A*- continuación Nodos grises explorados
Nodos blancos añadidos a la frontera
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

 Heurísticas usadas para este problema


 h1 = número de piezas mal colocadas. h1 es una heurística
admisible, porque está claro que cualquier pieza que está
fuera de su lugar debe moverse por lo menos una vez. 1 2 3
Para el estado inicial h1 = 3
 h2 = suma de las distancias de las piezas a sus posiciones
7 4 6 4 piezas mal
en el objetivo. Como las piezas no pueden moverse en ubicadas
diagonal, la distancia que contaremos será la suma de las
5 8
distancias horizontales y verticales. Esto se llama la
distancia de Manhattan. h2 es también admisible, porque
cualquier movimiento que se puede hacer es mover una
pieza un paso más cerca del objetivo. En el estado inicial 2 espacios
nos dan una distancia de Manhattan de h2 = 1 + 2 + 1 + 1 5
=5
5
1 2 3 h(n)
4 8 5
7 6 5

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

 Se puede realizar la búsqueda de dos maneras diferentes:


 Escala Simple:
 La búsqueda se dirige a un estado mejor que el actual.
 Función heurística de proximidad .
 No se almacenan los estados anteriores.
 Es un método local
 Escala por máxima pendiente (gradient search):
 Buscano solamente un estado mejor que el actual, si no el mejor de todos los
estados posible, es una máxima pendiente.
BASE DE CONOCIMIENTO
Unidad 1:
INTRODUCCIÓN A LAS BASES DE CONOCIMIENTO

Ing. Gisel Bastidas


 Introducción a las bases de conocimiento
 Dato, Información, Conocimiento
Base de conocimiento
AGENDA

 Tipos de base de conocimiento


 Base de datos vs Base de Conocimiento
 Conjunto de datos
Dato, Información, Conocimiento
Dato, Información, Conocimiento

 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

 El conocimiento es información que ha sido organizada y analizada para


ser aplicada en la solución de problemas y en la toma de decisiones.
 La materia prima sobre la cual actúa la inteligencia.
 El conocimiento es el conjunto de saberes que el ser humano adquiere
conscientemente, lo plasma en aplicaciones y lo transmite en diferentes formas a
la sociedad.
 El conocimiento no debe ser confundido con datos o información.
 El conocimiento incluye y requiere el uso de datos e información.
 Combina relaciones y dependencias con datos e información.
Conocimiento

 La parte fundamental de cualquier sistema de


Inteligencia Artificial es el Conocimiento.
 Esteconocimiento permite guiar los mecanismos de IA para
obtener soluciones de manera más eficiente.
 Sistemas basados en conocimiento
 Representación del conocimiento
 Adquisición del conocimiento
 Conocimiento es dinámico, incompleto, subjetivo y posee
incertidumbres.
Conocimiento

 Tipos de Conocimiento

Declarativo Procedimental

• Hechos sobre objetos o • Forma de realizar una tarea.


situaciones. • Incluye la especificación de
• Representado con modelos los procesos de uso del
relaciones o basados en conocimiento.
lógica. • Sistemas basados en reglas
Base de Conocimiento

 Una Base de Conocimiento (knowledge base) permite la


gestión del conocimiento.
 Provee los medios para la recolección, organización y
recuperación computarizada del conocimiento, en general
para representar el conocimiento del humano (experto).
Base de Conocimiento

 El uso inicial de este término esta relacionado con los sistemas


expertos, que fueron los primeros sistemas basados en el
conocimiento.
 Base de conocimientos tiene capacidad para almacenar
variedad de conocimiento que generalmente se basa en reglas y
hechos, según una estructura.
 Las reglas son lo que permite al sistema generar inferencias.
 Las bases de conocimientos pueden tener un formato legible por
máquinas o por humanos.
Base de conocimiento legible por máquina

 Diseñadas para almacenar conocimiento en una forma legible por el


computador.
 Con el fin de obtener razonamiento deductivo.
 Contienen una serie de datos, usualmente en la forma de reglas que
describen el conocimiento de manera lógicamente consistente.
 Operadores lógicos como Y (conjunción), O (disyunción), condición lógica y
negación.
 Aumentar conocimiento desde el conocimiento atómico.
 En consecuencia la deducción clásica puede ser utilizada para razonar sobre
el conocimiento en la base de conocimiento.
Base de conocimiento legible por humanos

 Diseñadas para permitir a las personas acceder al conocimiento que ellas


contienen, principalmente para propósitos de aprendizaje.
 Estas son comúnmente usadas para obtener y manejar conocimiento explícito
de las organizaciones.
 El principal beneficio que proveen las bases de conocimiento es proporcionar
medios de descubrir soluciones a problemas ya resueltos, los cuales podrían ser
aplicados como base a otros problemas dentro o fuera de la misma área de
conocimiento.
Base de Conocimiento vs Base de datos

 Desde el enfoque de la IA

Base de Datos Base de Conocimiento

• El objetivo de una base de datos es • Las BC son la evolución lógica de


almacenar datos organizados los sistemas de BD tradicionales.
siguiendo un determinado • Conocimiento normalmente en
esquema o modelo de datos que forma de hechos y reglas.
facilite su almacenamiento, • Almacena conocimiento
recuperación y modificación.
• Necesita de una notación o
• Almacena datos. representación del conocimiento
• Modelos de datos y estructuras
normalizadas
Base de Conocimiento vs Base de datos

 Desde el enfoque de la IA

Base de Datos Base de Conocimiento


Conjunto de datos

 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

Ing. Gisel Bastidas


AGENDA  Resolución de problemas
Problema

 Un hombre tiene que cruzar un río con


un lobo, una oveja y coles. Tiene una
barca de remos, y sólo puede llevar
con él una cosa en la barca.
 Si el lobo y la oveja se quedan solos, el
lobo se come a la oveja
 Si la oveja y las coles se quedan solos,
la oveja se come las coles

¿Cómo consigue el hombre


cruzar al otro lado del río el lobo,
la oveja y las coles?
HL OC

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

 Siguiendo el árbol de búsqueda la solución al


problema presentado consiste de las siguientes
acciones:
1. El hombre debe cruzar el río con la oveja, de tal
forma que al dejar al lobo con las coles no se
presenta un estado ilegal.
2. El hombre debe regresar solo.
3. El hombre debe cruzar el río con el lobo.
4. Regresa con la oveja.
5. El hombre debe cruzar con las coles. De esta
manera el lobo y las coles ya se encuentran al
otro lado del río.
6. Regresa solo.
7. Finalmente, el hombre cruza el río con la oveja.
 Si abstraemos los elementos de un problema podemos identificar:
 Un punto de partida
 Un objetivo a alcanzar
 Acciones posibles a realizar para resolver el problema.
 Restricciones sobre el objetivo
 Estados ilegales
Resolver problemas mediante búsqueda

 Los agentes que resuelven un problema deciden qué hacer para


encontrar secuencias de acciones que conduzcan a los estados
deseables.
 El primer paso para solucionar un problema es la formulación del
objetivo, basado en la situación actual y la medida de rendimiento
del agente.
 Para resolver problemas mediante búsqueda,
se necesita definir:
 El espacio del estados
 Un
estado es la representación de los elementos
que describen el problema en un momento dado.
 El algoritmo de búsqueda
 Describir un problema en un espacio de estados básicamente
consiste:
 Definir el conjunto de estados del problema
 Especificar el estado inicial del mundo (estado inicial)
 Definir las acciones que se pueden tomar para transformar un estado en otro
(operadores).
 Especificar el estado deseado del mundo (estado objetivo), esto podría ser
implícito o explícito.
 Especificar la solución
Ejemplos

Estado Inicial Operadores Estado Objetivo

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

Ing. Gisel Bastidas


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

 El sistema PROLOG reconoce el tipo de un objeto en un programa por su forma


sintáctica. Esto es posible porque la sintaxis del PROLOG especifica diferentes formas
para cada tipo de dato.
 En Prolog no existe el concepto de tipo de dato como tal.
 Sintácticamente, todos los tipos de datos en PROLOG se denominan términos. Un
término es una expresión lógica que se refiere a un objeto .
Átomos
Constantes
Objetos
Números
simples
Objetos Variables
Estructuras
Constantes

 Á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

 Variables son cadenas de letras, dígitos y guión bajo.


 Las variables empiezan una letra en mayúscula o un
guión bajo
 Ejemplo: X Solucion _Resultado Objeto
 Variable anónima se la define con guión bajo
 Padre(X, _)
Estructuras

 Las estructuras son objetos que tienen varios componentes. Los


componentes pueden ser también estructuras.
 Los componentes se ponen entre paréntesis y son separados por
comas.
 A las estructuras se las conoce como functor dado que su apariencia
es similar al nombre de una función: f(t1, ..., tn) donde es un functor
lee(sofia, libro(X), veces(10))
Estructuras

 En Prolog, la palabra functor se usa para referirse al átomo


al comienzo de una estructura, junto con su aridad, es decir,
el número de argumentos que toma. Por ejemplo:
 datopersona(nombre (smith, john), fecha (28, feb, 1963))
 El
functor de nivel superior se denomina functor principal, en este caso
datopersona con aridad 2.
 Otros functor son nombre y fecha con aridad 2 y 3 respectivamente.
 Existe un predicado incorporado denominado functor, que se utiliza
para extraer la parte del nombre y la aridad de una estructura. Este
predicado incorporado toma tres argumentos:
 functor (Término, Nombre, Aridad).
 Tiene éxito si Término es un término con nombre de functor Nombre
y aridad Arity.
Base de conocimiento de Prolog

 Prolog consulta una base de conocimiento.


 La base de conocimiento se expresa mediante hechos y
reglas, que no son otra cosa que una representación
sintáctica concreta de cláusulas de Horn de primer orden.
Sintaxis de prolog - hechos

 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

 Los hechos en PROLOG, son los axiomas. La colección de ellos en el


sistema se nomina base de datos o base de hechos (facts).
 La mera presencia de un hecho en la base de datos, hace que este
sea considerado como verdadero. El punto al final de un hecho, es
parte de la sintaxis del PROLOG, que identifica el final de una
cláusula.
Hechos

ESPAÑOL PROLOG
 Un perro es un mamífero  esun(perro,mamifero).
 Un loro es un ave  esun(loro,ave).

Importante: En PROLOG, cada comando


debe terminar con un punto.
Sintaxis de prolog - reglas

 La regla en PROLOG es el nombre de una operación de implicación. Las


reglas son el medios a través de los cuales se pueden derivar nuevos
hechos.
Cabeza : - Cuerpo
 El cuerpo puede estar formado de varios hechos
Cabeza : - Hecho1, Hecho2, Hecho3,…, Hechon
ama(maria,X) :- hombre(X), gusta(X,bailar).
 Regla: “María ama a una persona X si y solo si esa persona X es hombre y
a esa persona X le gusta bailar”.
El símbolo (:-) se interpreta como si y solo si.
El operador (,) se interpreta como y(AND).
Sintaxis de prolog - reglas

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).

Importante: En PROLOG, cada comando


debe terminar con un punto.
Sintaxis de prolog - consultas

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

Importante: En PROLOG, cada comando debe


terminar con un punto.
Ejemplo 1

 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

Ing. Gisel Bastidas


 Introducción a la representación del
conocimiento
AGENDA  Lógica Matemática.
Representación del conocimiento

 La representación del conocimiento es un campo de la Inteligencia Artificial cuyo objetivo


fundamental es representar el conocimiento sobre el mundo de una manera que facilite la
inferencia a un sistema informático (sacar conclusiones).
 Estudiar como el conocimiento puede ser representado simbólicamente y manipulado
automáticamente por programas de razonamiento
 Todo problema es más sencillo de resolver si disponemos de conocimiento específico sobre el.

 Esquema de representación del conocimiento es la representación de un modelo que


exprese el conocimiento sobre un dominio(lo que se quiere representar del mundo real)
Representación del conocimiento

 Para representar algo se debe saber


 Su forma o estructura
 Que uso le dan los seres inteligentes
 Que uso le dará una inteligencia artificial
 Como adquirir el conocimiento
 Como almacenarlo y manipularlo
Representación del conocimiento

Proceso de
Transformación Lenguaje
Dominio
del simbólico
Conocimiento

 Todo lenguaje de representación debe definir dos aspectos:


 Sintaxis: Posibles formas de construir y combinar los elementos del lenguaje
para representar los hechos del dominio real.
 Semántica: Determina la relación entre los elementos del lenguaje y su
interpretación en el dominio.
Representación del 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

 Es importante distinguir entre:


 El mundo real (lo que queremos representar)
 Dominio de conocimiento que se quiere representar .
 La representación del mundo real
 Existen uno o más esquemas de representación .
Representación del conocimiento

 Tipo de conocimiento que debe representarse en los sistemas


de IA:
 Objeto: Todos los hechos sobre objetos en nuestro dominio mundial. Por
ejemplo, las guitarras contienen cuerdas, las trompetas son instrumentos
de metal.
 Eventos: Los eventos son las acciones que ocurren en nuestro mundo.
 Desempeño: describe el comportamiento que implica conocimiento
sobre cómo hacer las cosas.
 Hechos: Los hechos son las verdades sobre el mundo real y lo que
representamos.
Ciclo de la representación del
conocimiento

Fuente: Eureka Artificial Intelligence


Tipos de modelos de 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

 Formaliza el pensamiento intuitivo de la persona y estudia los procesos de


razonamiento, los sistemas de reglas y procedimientos que intervienen en él.
 Cualquier razonamiento lógico (sistema lógico) se basa en el siguiente
esquema:
Lógica matemática

 Es la disciplina que trata de métodos de razonamiento. En un nivel elemental, la


Lógica proporciona reglas y técnicas para determinar si es o no valido un
argumento dado.
 El razonamiento lógico se emplea en Matemáticas para demostrar teoremas, sin
embargo, se usa en forma constante para realizar cualquier actividad en la vida.
 La proposición es un elemento fundamental de la Lógica Matemática
 Una proposición o enunciado es una oración que puede ser falsa o verdadera pero no
ambas a la vez.
 Toda proposición consta de tres partes: un sujeto, un verbo y un complemento referido al
verbo.
Representación lógica

 La representación lógica es un lenguaje con algunas reglas concretas


que se ocupa de proposiciones y no tiene ambigüedad en la
representación.
 La representación lógica significa sacar una conclusión basada en
varias condiciones.
 Consiste en una sintaxis y una semántica definidas con precisión que
respaldan la inferencia. Cada oración se puede traducir a la lógica
utilizando una sintaxis y semántica.
Representación 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

 Existen dos formas básicas de llevar la lógica a la


computación para la representación lógica que son:
 Lógica proposicional
 Lógica de predicados
Ver el video sobre lógica proposicional que se
encuentra en el aula virtual.
Lógica proposicional

 La lógica proposicional es la forma más simple de lógica donde


todas las declaraciones están hechas por proposiciones.
 Una proposición es un enunciado declarativo que es verdadero
o falso.
 A partir de la veracidad o falsedad de las proposiciones se
pueden derivar nuevas proposiciones o inferencias y su
veracidad o falsedad se determina a través de las reglas.
Lógica proposicional

 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:

 La lógica proposicional también se llama lógica booleana, ya que funciona en 0 y 1.


 Las proposiciones pueden ser verdaderas o falsas, pero no pueden ser ambas.
 Se usa variables simbólicas para representar la lógica, y se puede usar cualquier
símbolo para representar una proposición, como A, B, C, P, Q, R, etc.
 La lógica proposicional consta de un objeto, relaciones y operadores lógicos.
 Una fórmula de proposición que siempre es verdadera se llama tautología.
 Una fórmula de proposición que siempre es falsa se llama contradicción.
 Las afirmaciones que son preguntas, órdenes u opiniones no son proposiciones
como "¿Dónde está Martín?", "¿Cómo estás?", "¿Cuál es tu nombre?",
Lógica proposicional

Hay dos tipos de proposiciones:


 Proposición simple(atómica)
 2 + 2 es 4 verdadero.
 "El sol es frío" falso.
 Proposición compuesta: es la combinación de proposiciones simples
a través de los operadores lógicos. ( And,  Or,  Not, → implica, 
equivalente. ).
 "Hoy está lloviendo y la calle está mojada".
 “Sofía es médico y su clínica está en Quito".
Operadores lógicos
 Negación: ¬
 ¬ P es la negación de P: No está lloviendo
 P: Está lloviendo

 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

 La lógica proposicional proporciona un mecanismo para asignar valores de


veracidad a la proposición compuesta, basado en los valores de veracidad de las
proposiciones simples y en la naturaleza de los conectores lógicos involucrados:
Tablas de verdad.

 La lógica proposicional tiene un uso limitado en la Inteligencia Artificial, debido a


que las proposiciones son V o F y esto causa una representación limitada del
conocimiento.
BASE DE CONOCIMIENTO
Unidad 2:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS FORMALES Y
CONOCIMIENTO JERÁRQUICO

Ing. Gisel Bastidas


 Revisión de la clase anterior
 Lógica de predicados.
AGENDA  Razonamiento deductivo e inductivo
 Reglas de inferencia
Revisión de la clase

Proceso de
Transformación Lenguaje
Dominio
del simbólico
Conocimiento

Fuente: Eureka Artificial Intelligence


Revisión de la clase anterior
Revisión de la clase anterior

 Lógica Proposicional: Se basa en el razonamiento a partir de


proposiciones o sentencias (simples o complejas) que pueden ser
verdaderas o falsas.
 p: Está lloviendo
  p (No está lloviendo)
Lógica de Predicados

 Se basa en la idea de que las sentencias expresan relaciones


entre objetos, así como también cualidades y atributos de tales
objetos.
 Tales cualidades, relaciones o atributos, se denominan predicados.
 Los objetos o sustantivos se conocen como argumentos o
términos del predicado.
 El predicado se identifica con el verbo de la proposición o premisa.
Lógica de predicados

 Extensión de la lógica proposicional.


 Al igual que las proposiciones, los predicados tienen un valor de veracidad que depende de sus términos:
 Un predicado puede ser verdadero para un conjunto de términos, pero falso para otro. Por ejemplo, el
siguiente predicado es verdadero: color (cielo, azul). El mismo predicado, pero con diferentes argumentos,
puede no ser verdadero: color (cielo, verde)

 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

 Extensión de la lógica proposicional.


 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

 La computadora está en el laboratorio


 está es el predicado.
 Computadora , Laboratorio son los objetos o términos
 esta(Computadora, Laboratorio)
 Luis tiene un auto
 tiene es el predicado.
 Luis y auto son los objetos o términos.
 tiene(Luis,auto)
Cuantificadores

 Los cuantificadores son símbolos que permiten establecer el rango o


alcance de las variables en una expresión lógica.
 Las variable son argumentos que en determinado momento pueden ser
desconocidos.
 Cuantificador Universal  , indica que la fórmula es verdadera para
todos los valores posibles de la variable que es cuantificada.
 x , establece “para todo X”
Cuantificadores

 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

 Cuantificador existencial ; , indica que la fórmula es verdadera para


algún valor o valores dentro del dominio
 x , establece que "existe un X, tal que...
 Por ejemplo:
  x, [cereza (x) → roja (x)]
Existe un ente x tal que si x es una cereza implica que es roja.
Cuantificadores

 Los cuantificadores permiten determinar cuándo una proposición es


verdadera, bajo determinadas condiciones.
 Las expresiones lógicas formadas por cuantificadores ( ,  ), variables
(x, y), predicados y operadores se conoce como fórmulas bien
formadas (wff: Well Formed Formula ).
Ejemplo

 Todo número es par o impar


(x) (numero(x) → par(x)  impar(x))

 Ningún número es a la vez par e impar


(x) (numero(x)  par(x)  impar(x))
Actividad

 Exprese en lógica de predicados las siguientes oraciones:


 Todos los pájaros vuelan.
 Algunos niños juegan al fútbol.
Lógica de predicados

 Se utiliza en los lenguajes de Inteligencia Artificial como por Ej.


PROLOG.
 El lenguaje PROLOG es la implementación computacional de la lógica de
predicados.
 Los predicados también pueden ser utilizados para asignar una
cualidad abstracta a sus términos, o para representar acciones o
relaciones de acción entre dos objetos. Por ejemplo:
 mortal(Juan)
 ave(gaviota)
 lee(Alfonso,novela)
Lógica de predicados

Los predicados pueden ser:


 Monádicos
 valioso(diamante). El diamante es valioso
 mujer(emilia). Emilia es una mujer.
 Poliádicos
 tiene(mario, libro). Mario tiene un libro.
 da(mario, libro, magui). Mario da un libro a Magui
Lógica de predicados

 En lógica de predicados en Prolog el establecer como verdadero un


predicado es suficiente para que así sea considerado.
 Por ejemplo,
 es_parte_de(ecuador,africa)

 La lógica de predicados, se ocupa únicamente de métodos de


argumentación sólidos. Tales argumentaciones se denominan Reglas
de Inferencia.
Lógica de Predicados en Prolog

 En PROLOG, se representa el conocimiento con hechos y reglas, los


cuales se definen mediante predicados:
 Hecho:
predicado(término1,término2).
 Regla:
Cabeza : - Hecho1, Hecho2, Hecho3,…, Hechon
predicado(Variable1,Variable2, …, Variablen) :-predicado(término1,término2),…, predicadon(término1,término2).
Ejemplo

 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

 Hay dos formas básicas de razonamiento que son:


 Razonamiento Deductivo
Todas las aves tiene alas

 Razonamiento Inductivo

Todos los perros tienen 4 patas


Razonamiento Deductivo

 Hay dos formas básicas de razonamiento que son:


 Razonamiento Deductivo: Va de lo general a lo particular, se utilizan premisas
generales para obtener inferencias (conclusiones) específicas.
 Tiene tres partes importantes que son:
 Premisa Mayor: Ej. Cuando Hay fútbol no hay clases.
 Premisa Menor: Ej. Mañana hay fútbol.
 Conclusión: Ej. Mañana no hay clases.
 En el razonamiento deductivo la conclusión es Verdadera, Si y solo Si las premisas
son verdaderas.
Razonamiento Deductivo

 La ventaja del razonamiento deductivo se basa en la certeza:


 Si las premisas o principios generales son verdaderos, entonces los
teoremas o conclusiones también lo son.
 Un ejemplo clásico, sería el siguiente silogismo o razonamiento:
 Todos los seres humanos son mortales.
 Sócrates es un ser humano.
 En consecuencia, Sócrates es mortal.
Razonamiento Inductivo

 Razonamiento Inductivo: Va de lo particular a lo general. Se utiliza un número


determinado de hechos o premisas particulares para obtener una conclusión
general.
 Premisa 1: Ej. Laura se arrojó al mar y salió mojada
 Premisa 2: Ej. María se arrojó al mar y salió mojada
 Premisa 3: Ej. Carlos se arrojó al mar y salió mojado
 Conclusión: Ej. Todas las personas que se arrojan al mar salen mojadas del agua.
 En el razonamiento Inductivo la conclusión no es absoluta porque puede cambiar si
se adicionan nuevas premisas es decir, existe un grado de incertidumbre que
depende del número de premisas utilizadas.
Actividad

 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:

 Premisa mayor: Los reptiles son animales de sangre fría


 Premisa menor: Las serpientes son reptiles.
 Conclusión: Las serpientes son animales de sangre fría.

 Premisa mayor: Todas las aves tienen plumas.


 Premisa menor: La paloma es un ave
 Conclusión: La paloma tiene plumas
Reglas de inferencia

 En aplicaciones de inteligencia artificial se busca codificar el


conocimiento sobre el mundo en lenguajes formales.
 Una computadora puede razonar sobre declaraciones en estos
lenguajes formales automáticamente usando reglas de inferencia
lógica.
 Esto se conoce como el enfoque de la base de conocimientos para la
inteligencia artificial.
Reglas de inferencia

 En inteligencia artificial, se requiere que las computadoras


generen conclusiones a partir de la evidencia y los hechos,
a esto se denomina inferencia.
 Las reglas de inferencia se modelan como implicaciones,
donde el antecedente de la implicación está compuesto
de una conjunción de proposiciones llamadas premisas y el
consecuente se llama conclusión.
Reglas de inferencia: Modus Ponens

 La regla de Modus Ponens es una de las reglas de inferencia más


importantes, y establece que si P y P → Q son verdaderas, entonces
podemos inferir que Q será verdadera.
 Ejemplo:
 "Si tengo sueño, me voy a la cama" ==> P → Q
 "Tengo sueño" ==> P
 Conclusión: "Me voy a la cama". ==> Q.
 Por lo tanto, podemos decir que, si P → Q es verdadero y P es verdadero,
entonces Q será verdadero.
Fuente:
http://www.cs.us.es/~fsancho/?e=103
Reglas de inferencia: Modus Tollens

 La regla de Modus Tollens establece que si P → Q es


verdadero y ¬ Q es verdadero, entonces ¬ P también
lo será.
 Ejemplo:
 "Si tengo sueño, me voy a la cama" ==> P → Q
 "No me voy a la cama". ==> ¬ Q
 Se infiere que "no tengo sueño" => ¬ P
Fuente:
http://www.cs.us.es/~fsancho/?e=103
Unificación

 Para aplicar reglas de inferencia como modus ponens, un sistema


de inferencia debe poder determinar cuándo dos expresiones son
iguales o coinciden.
 La unificación es un algoritmo para determinar las sustituciones
necesarias para hacer coincidir dos expresiones de cálculo de
predicados.
 Las reglas de unificación e inferencia como modus ponens nos permiten
hacer inferencias sobre un conjunto de afirmaciones lógicas.
Unificación

 En Prolog, la operación de unificación se representa mediante el


operador =
1. Si T1 y T2 son constantes, entonces T1 y T2 unifican si son idénticas.
2. Si T1 y T2 son variables, entonces T1 y T2 unifican siempre
3. Si T1 es una variable y T2 es cualquier tipo de término, entonces T1
y T2 unifican y T1 se instancia con T2
4. Si T1 y T2 son términos complejos, unifican si
 Tienen el mismo functor y aridad
 Todos los argumentos unifican
Prueba Parcial

 Lunes, 14 de Junio
BASE DE CONOCIMIENTO
Unidad 2:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS FORMALES Y
CONOCIMIENTO JERÁRQUICO

Ing. Gisel Bastidas


 Repaso de la clase anterior
 Estructuras de datos
Listas
AGENDA

 Árboles
 Grafos
Revisión de la clase anterior

 En la lógica de predicados las sentencias expresan


relaciones entre objetos, así como también cualidades y
atributos de tales objetos. Estas cualidades, relaciones o
atributos, se denominan predicados.
 En PROLOG, se representa el conocimiento con hechos y
reglas, los cuales se definen mediante predicados:
 Hecho:
predicado(término1,término2).
 Regla:
Cabeza : - Hecho1, Hecho2, Hecho3,…, Hechon
Estructuras de Datos en IA

 Las principales estructuras de datos usados en IA son:


 Listas
 Árboles
 Grafos
 Por ejemplo, en la resolución de problemas el uso de árboles y grafos
permiten crear la solución del problema mediante la definición de los
estados del problema como una representación de un nodo en el árbol de
búsqueda.
Listas

 Una lista es un conjunto de elementos relacionados en la cual se establece un


orden entre los elementos.
 Las listas se usan generalmente en Inteligencia Artificial para representar
conocimientos jerárquicos.
 Los objetos en la lista están agrupados o categorizados de acuerdo a una
relación o rango. También pueden crearse jerarquías de listas si se combinan
convenientemente.
 Lenguajes como Lisp y Prolog usan las listas como su principal estructura de
datos.
Listas

 Existen diferentes tipos de listas, como:


 Listas secuenciales
 Tienen un comportamiento aleatorio para su manipulación.
 Pilas
 Su funcionamiento es LIFO (Last In First Out)
 Colas
 Su funcionamiento es FIFO (First In First Out)
 Colas priorizadas
 Los elementos tienen una prioridad asignada
 El uso de un determinado tipo de lista depende del problema.
Listas en Prolog

 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

 Cabeza y cola de una lista:


 Al primer elemento de la lista se le denomina cabeza y al resto de la lista cola.
 El pipe | separa la cabeza de la cola en Prolog.
Listas en Prolog

 Ejemplos:
Listas en Prolog

 Algunos predicados para el manejo de listas en Prolog:


 member(objeto,lista): Valida si el objeto es miembro de la lista.

 append(Lista1, Lista2, ListaConcatenada): Concatena 2 listas.

 length(Lista, tamaño): Determina el tamaño de una lista.


Ejemplo uso de Listas en Prolog

 ELIZA es un programa de procesamiento de lenguaje natural creado entre 1964 y


1966 en el Laboratorio de Inteligencia Artificial del MIT por Joseph Weizenbaum. ELIZA
simuló una conversación utilizando una metodología de "coincidencia de patrones" y
sustitución que les dio a los usuarios una ilusión de comprensión por parte del
programa.
 Un ejemplo bastante simple que simula el comportamiento de ELIZA se encuentra en el
siguiente enlace
https://swish.swi-prolog.org/example/eliza.pl
 Este programa hace uso de listas en Prolog, una lista se representa como [ Cabeza | Cola ]
donde la cabeza corresponde al primer elemento de la lista y la Cola corresponde al resto
de elementos.
Actividad: Listas en Prolog

1. Ingresar al enlace https://swish.swi-prolog.org/example/eliza.pl


2. Correr las siguientes preguntas en el intérprete en línea.
• eliza([i, am, very, hungry], Response).
• eliza([i, am, very, happy], Response).
• eliza([i, am, so, tired], Response).
• eliza([i, hate, you], Response).
• eliza([i, love,you], Response).
3. Cuáles fueron las respuestas?
4. Realizar 2 consultas adicionales. Cuáles fueron las respuestas?
5. Qué pasa si la lista no inicia con i o i, am. Justifique su respuesta.
6. Analizar el código fuente y realizar los cambios correspondientes para que las respuestas y
preguntas se las pueda realizar en español.
7. Subir los resultados de esta actividad en la actividad del aula virtual Eliza.
Árboles

 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

 Un grafo es un conjunto de nodos unidos por


arcos (aristas). A diferencia de los árboles
pueden existir conexiones redundantes entre los
nodos.
 Tipos de grafos básicos:
 Dirigidos
 No dirigidos

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

Ing. Gisel Bastidas


 Revisión prueba
 Repaso de la clase anterior
AGENDA  Redes Semánticas
Estructuras de Datos en IA

 Las principales estructuras de datos usados en IA son:


 Listas
 Listas secuenciales
 Pilas

 Colas

 Colas priorizadas
 Árboles

 Grafos
Knowledge Graph

Fuente: https://www.cse.ust.hk/knowledgegraph/home.html
Red Semántica

 Modelo de conocimiento expuesto por Quillian en el año 1968 en


un trabajo llamado "Memoria Semántica".
 Las redes semánticas son una alternativa a la lógica de predicados
como forma de representación del conocimiento.
 La red semántica es un formalismo que intuitivamente ha sido
empleado siempre por el hombre como grafo de asociación.
Red Semántica

 Una red semántica es una forma de


representación de conocimiento
lingüístico en la que los conceptos y
sus interrelaciones se representan
mediante un grafo.
 Nodos: Entidades, Objetos, eventos,
atributos o estados.
 Arcos: Relaciones entre los nodos
Red semántica

 Una red semántica exhibe 3 características:

1. Las relaciones se simplifican a relaciones binarias (entre dos nodos).

2. Físicamente los nodos son únicos, por lo que permite acceder rápidamente
a todo lo relacionado con él.

3. Los procesos inferenciales se reducen a "navegar" por el grafo.


Ejemplo:
Redes Semánticas

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".

Hechos, para representar en el Relación de un objeto con una clase más


modelo las acciones que ocurren general a la que pertenece -generalización-
•"es-un“ (producen una relación jerárquica)
en la realidad.
Situaciones, para representar
Relación de un objeto con una situación o
estados y modificar conceptos, acción, propiedades o causas.
hechos y otras situaciones.
Sistemas Taxonómicos

 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

Relaciones de instancias Relaciones de


y subclases propiedades
Red Semántica
 Las aves tienen plumas y tienen alas.
 El canario es ave y come semillas.
 Piolín es un canario.
 El halcón es un ave y tiene patas.
 Pedro es un halcón
 Los animales pueden respirar.
 Un ave es un animal, vuela, tiene plumas
y pone huevos.
 Los mamíferos son animales, tiene pelo.
 La ballena es un mamífero, tiene piel y
vive en el mar.
 El tigre es un mamífero y come carne.
Actividad

 Exprese el siguiente conocimiento en una red semántica:


 Pelusa es un gato.
 Rocky es un perro.
 Un perro y un gato son un mamíferos.
 Un perro caza a un gato
 Un gato caza a un pato
 Un perro y un gato comen carne.
 Mario es el dueño de Pelusa
 Xavier es el dueño de Rocky
Procesos inferenciales

 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

Ing. Gisel Bastidas


Revisión de la clase anterior
AGENDA 

 Redes Semánticas
Revisión de la clase anterior

 Una red semántica es una forma de representación de conocimiento lingüístico


en la que los conceptos y sus interrelaciones se representan mediante un grafo.

Tipos básicos de nodos: Procesos


• Conceptos Hechos y Situaciones. Inferenciales
Tipos de arcos:
• Agregación: "es parte" o "parte-de". Herencia de Existencia
• Generalización: "es-un“ Propiedades inferida
• Relación de un objeto con una situación o acción,
propiedades o causas.
Redes semánticas

 En las redes semánticas cada propiedad incluye un enlace


unidireccional.
 Para establecer enlaces bidireccionales hay que tratar cada relación por
separado (como dos enlaces unidireccionales).
 Desde una perspectiva computacional, la implementación de una red
semántica requiere la construcción de tuplas del tipo objeto-atributo-
valor.
 También existe una correspondencia directa entre las redes semánticas
y la lógica, donde los predicados tiene un aspecto atributo(objeto,
valor) o más general atributo(objeto, atributo, valor).
Redes semánticas

 La importancia de esta técnica de representación del


conocimiento, es por una parte la sencillez y por otra que permite
efectuar razonamientos basados en la noción de herencia, es
decir, se puede inferir varias cosas, sin necesidad de hacer
explícitas las propiedades a heredar.
Ejemplo
Ventajas de una red semántica

 Muy expresivas en problemas jerárquicos


 Las redes semánticas son una representación natural del conocimiento.
 Las redes semánticas transmiten significado de manera transparente.
 Estas redes son simples y fácilmente comprensibles.
Inconvenientes de una Red Semántica

 Las redes semánticas requieren más tiempo computacional en tiempo


de ejecución, ya que se necesita recorrer el grafo completo para
responder alguna pregunta.
 Las redes semánticas intentan modelar la memoria similar a la humana
(neuronas y enlaces) para almacenar la información, pero en la
práctica, no es posible construir una red semántica tan grande.
 Las redes semánticas no suelen tener una definición estándar para los
nombres de todos los enlaces.
 Estas redes no son inteligentes y dependen del creador del sistema.
Criterios para implementar una red

 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.

 Crear una base de conocimiento basado en la red semántica en PROLOG.


 Representar el conocimiento en la forma predicado(Objeto, Valor).
 Realizar 2 consultas que podrían ser obtenidas mediante herencia.
 Representar el conocimiento en la forma atributo(objeto, atributo, valor).
 Crear las reglas que permitan hacer consultas de los atributos heredados.
 Realizar 2 consultas que evidencien la herencia de atributos.

 Subir la actividad al aula virtual.


BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


 Sistema experto
AGENDA  Reglas de producción
Sistemas expertos

 Un sistema experto está diseñado para replicar


el comportamiento de un experto humano en la
solución de un problema basándose en las
herramientas que ofrece la inteligencia artificial.
 El rendimiento de un sistema experto se basa en
el conocimiento del experto que tenga
almacenado.
Componentes de un sistema experto

Reglas, describen los Base de Memoria de Hechos, Predicados


mecanismos de Conocimiento (KB) trabajo (WM) que describen el
razonamiento que problema concreto
permiten resolver
problemas

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

 La base de conocimiento de un sistema experto es la forma en que se guarda el


conocimiento mediante reglas.
 Conocimiento fáctico: el conocimiento que se basa en hechos y es aceptado por los
ingenieros del conocimiento se incluye en el conocimiento fáctico.
 Conocimiento heurístico: este conocimiento se basa en la práctica, la capacidad de
adivinar, evaluar y experimentar.
 La adquisición de conocimiento es el proceso de extraer, organizar y estructurar el
conocimiento del dominio, especificando las reglas para adquirir el conocimiento de
varios expertos y almacenar ese conocimiento en la base de conocimiento.
Motor de inferencia

 El motor de inferencia se conoce como el cerebro del sistema experto, ya que es la


principal unidad de procesamiento del sistema que determina cuáles son las reglas
aplicables en cada momento y se encarga de ejecutarlas.
 Aplica reglas de inferencia a la base de conocimientos para derivar una conclusión
o deducir nueva información.
 Con la ayuda de un motor de inferencia, el sistema extrae el conocimiento de la
base de conocimientos.
Hay dos tipos de motor de inferencia:
 Motor de inferencia determinista: se supone que las conclusiones extraídas de
este tipo de motor de inferencia son verdaderas. Se basa en hechos y reglas.
 Sistemas expertos basados en reglas
 Motor de inferencia probabilístico: este tipo de motor de inferencia contiene
incertidumbre en las conclusiones y se basa en la probabilidad.
 Sistemas expertos basados en probabilidad
Reglas de Producción

 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

 Las reglas son un importante paradigma de representación del conocimiento.


 Las reglas de producción representan el conocimiento utilizando el siguiente
formato SI-ENTONCES (IF-THEN):
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

 Un cliente desea sacar dinero de su cuenta corriente mediante un cajero


automático (CA).
 En cuanto el usuario introduce la tarjeta en el CA, la máquina la lee y la
verifica. Si la tarjeta no es verificada con éxito (por ejemplo, porque no es
legible), el CA devuelve la tarjeta al usuario con el mensaje de error
correspondiente.
 En otro caso, el CA pide al usuario su número de identificación personal (NIP).
Si el número fuese incorrecto, se dan tres oportunidades de corregirlo. Si el NIP
es correcto, el CA pregunta al usuario cuánto dinero desea sacar.
 Para que el pago se autorice, la cantidad solicitada no debe exceder de una
cierta cantidad límite diaria, además de haber suficiente dinero en su cuenta.
Ejemplo

 En este caso se tienen siete objetos, y cada objeto puede tomar uno y solo un
valor de entre sus posibles valores.
Ejemplo

 Estas reglas gobiernan la estrategia que el CA debe


seguir cuando un usuario intenta sacar dinero de su
cuenta.
 En la regla 1, la premisa consiste en 6 afirmaciones
objeto-valor conectadas con el operador lógico “y”,
lo que indica si el consecuente es cierto, toda su
premisa es cierta.
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

 Modular: cada regla define un pequeño y relativamente independiente pedazo de


conocimiento.
 Incremental: nuevas reglas pueden ser añadidas a la base de conocimiento
relativamente independiente de las demás.
 Modificable: como consecuencia ser modular, las reglas pueden ser modificadas o se
pueden añadir/quitar reglas fácilmente.
 Transparencia: habilidad de explicar sus decisiones y soluciones.
Bibliografía

 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

Ing. Gisel Bastidas


✓Revisión de la clase anterior
✓Estrategias de inferencia
AGENDA ✓Sistemas de deducción
✓Sistemas de reacción
Revisión de la clase anterior

 Un sistema experto basado en reglas de producción, comprueba la


condición y si la condición existe, la regla de producción se activa y se
lleva a cabo la acción correspondiente.
 Las reglas de producción representan el conocimiento utilizando un
formato SI-ENTONCES (IF-THEN), es decir, consisten en una condición y
una acción:
 SI (IF), es el antecedente, premisa, condición o situación; y
 ENTONCES (THEN), es el consecuente, conclusión, acción o respuesta.
Ejemplo:
Ejemplo:
Estrategias de razonamiento

 El proceso de razonamiento en un sistema basado en reglas


de producción es una progresión desde un conjunto inicial
de afirmaciones y reglas hacia una solución, respuesta o
conclusión.
 Estrategias de razonamiento:
 encadenamiento hacia adelante (forward chaining).
 encadenamiento hacia atrás (backward chaining)
Claúsulas de horn

 Las bases de conocimiento en el mundo real a menudo contienen sólo


cláusulas, de un tipo restringido denominadas cláusulas de Horn.
 Cada cláusula de Horn se puede escribir como una implicación cuya
premisa es una conjunción de literales positivos y cuya conclusión es un
único literal positivo

 La inferencia con cláusulas de Horn se puede realizar mediante los


algoritmos de encaminamiento hacia adelante y de encaminamiento
hacia atrás.
Encadenamiento hacia delante

 Razonamiento dirigido por los datos.


 Forward chaining
 Esta estrategia de razonamiento empieza a partir de un
conjunto de datos colectados a través de observación y
evoluciona hacia una conclusión.
 Aplica reglas de inferencia (Modus Ponens)
Encadenamiento hacia delante
 El algoritmo de encadenamiento hacia delante

Activa todas las Agrega su


reglas cuyas conclusión a los
premisas se hechos conocidos
Parte de hechos satisfacen •Obtiene nuevos hechos
conocidos •Comprueba cada a partir de la
antecedente y si se evaluación de reglas.
corroboran todos los
antecedentes, hace
válido el consecuente.

 Este proceso se repite hasta que se resuelve el problema.


Encadenamiento hacia delante

 Es un proceso que permite llegar a una conclusión basada en


hechos o datos conocidos, comenzando desde el estado inicial
y alcanzando el estado objetivo.
 Si un patrón SI concuerda con una afirmación en la memoria de
trabajo se dice que el antecedente SI se satisface.
 Cuando se satisfacen todos los patrones SI de una regla se dice
que la regla se ha accionado.
 Cuando una regla accionada establece una nueva afirmación o
realiza una acción, se dice que la regla está disparada.
Motor de inferencia usando encadenamiento
hacia adelante
Punto de partida
Identificar
reglas
satisfacibles Ejecutar la regla
(búsqueda)

Criterio de
Prioridad
Ejemplo1:

Parte de hechos conocidos.


Por ejemplo:

Deriva nuevos hechos desde los hechos


conocidos para llegar a la conclusión
Encadenamiento hacia atrás

 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:

✓ Seleccionar las reglas que mencionan al objetivo fruta en su conclusión.


1 El sistema empieza por la regla 1.
✓ Examina la premisa forma = alargada, y como no encuentra valor para
forma en los datos conocidos, ni tampoco una regla que permita derivar
dicho valor,
✓ El mecanismo de inferencia pregunta al usuario.

2 ✓ La premisa de la regla 1 no cumple por lo que falla.


✓ La ejecución continua con la regla 6.
✓ La primera premisa de esta regla clase _planta = enredadera es
examinada, sin encontrar un valor para clase_planta en la base de datos.
Pero examinando las reglas, se encuentra que la 2 y la 3 mencionan a
clase_planta en su conclusión, así que ahora el nuevo objetivo prioritario
es clase_planta.

3 ✓ El mecanismo de inferencia examina la regla 2.


✓ La primera premisa requiere que la forma sea redonda u ovalada.
✓ Como en los datos conocidos forma tiene el valor redonda, se procede a la
siguiente premisa.
✓ No existe valor para diámetro, ni regla que permita derivarlo, por lo que el
sistema pregunta al usuario el diámetro.
4 ✓ No se cumple la regla 2 entonces el proceso sigue con la regla 3.
✓ Los valores que existen en la base de datos hacen que las dos premisas
sean satisfechas, por lo que la regla pasa, derivándose el valor clase_planta
= árbol.
✓ Este se agrega a la base de datos y, al ser conocido, se lo remueve de la
pila de objetivos.

5 ✓ La siguiente regla a examinar es la 6.


✓ Debido a que el valor derivado clase_planta no satisface la primera
premisa, la regla 6 falla. Igual ocurre con las reglas 7 y 8.
✓ La siguiente regla, la 9, si satisface la premisa clase_planta = árbol, así
que se procede a examinar la siguiente premisa color = anaranjado.
✓ El parámetro color no tiene valor en la base de datos ni regla que
posibilite derivar su valor, por lo que el mecanismo de inferencia pregunta
al usuario

6 Y así continuará la inferencia hasta llegar a determinar que la fruta es


cereza
Resolución de conflictos

 En el encadenamiento hacia adelante puede existir más de una regla


que se puede disparar.
 En el encadenamiento hacia atrás puede existir más de una regla que
cumple con las metas.
 Por lo que es necesaria una estrategia de resolución de conflictos que
permita decidir cual de las posibles reglas disparar.
Resolución de conflictos

 Las estrategias más usadas para la resolución de conflictos:


 Refractorines: No se permite disparar una regla más de una vez con los
mismos datos.
 Recency: Preferir reglas que utilizan datos más recientes
 Specificity: Preferir reglas que son mas específicas, i.e., reglas que tienen
una mayor cantidad de condiciones y por lo tanto son mas difíciles de
disparar.
 Otras estrategias:
 Dar prioridad en las reglas u ordenarlas
 Dar prioridad en los hechos
¿Cuándo utilizar encadenamiento
hacia adelante o hacia atrás?
 Si el número de formas de llegar a la conclusión es grande pero el
número de conclusiones que tiene probabilidades de obtener es
pequeño, se utiliza el encadenamiento hacia adelante.
 Si se cuenta con todos los hechos que se pueden obtener y se
desea todo lo que se concluye de tales hechos se utiliza el
encadenamiento hacia adelante.
 Si desea conocer si una de las muchas conclusiones es
verdadera se usa el encadenamiento hacia atrás.
Sistemas de Deducción

 Generar nuevo conocimiento.


 En los sistemas de deducción y reacción se utiliza el
encadenamiento hacia adelante que es el proceso de
moverse de los patrones SI a los patrones ENTONCES
utilizando los patrones SI para identificar situaciones que
permitan deducir una nueva conclusión o la realización de
una acción.
Sistemas de reacción

 En los sistemas de reacción la parte SI especifica las


condiciones que se deben satisfacer mientras que la parte
ENTONCES significa una acción a realizar. La acción puede
ser:
 Agregar una nueva afirmación.
 Agregar una nueva afirmación.
 Ejecutar algún procedimiento.
Ejemplo
 Sistema para empacar comestibles en un supermercado:
 Se utiliza un sistema de reacción basado en reglas que decide
dónde debe ir cada producto.
 Los pasos a seguir son los siguientes:
 Verificar
la Orden
 Empacar productos Grandes
 Empacar productos Medianos
 Empacar productos Pequeños
 En el sistema se necesita de una memoria de funcionamiento
que contiene las afirmaciones sobre los productos que se van
a empacar.
Bibliografía

 Menéndez, F. (sf). Inteligencia Artificial https://docplayer.es/7654242-


Inteligencia-artificial-facultad-de-ciencias-exactas-ytecnologia-universidad-
nacional-de-tucuman-prof-ing-franco-d-menendez.html
 Morales, E & Súcar, E. (sf). Inteligencia Artificial. Reglas de Producción
https://ccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/reglas.pdf
 López. G. (2015). Inteligencia Artificial. Sistemas de Razonamiento Lógico
https://es.slideshare.net/LUPITA_10/inteligencia-artificial-unidad-iii
 Valencia, L. (2011). Sistemas basados en reglas
http://www.cs.us.es/blogs/iic2012/files/2012/02/IIC-Teoria5_v04.pdf
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS
ESTRUCTURADOS Y APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


✓Revisión de la clase anterior
AGENDA
✓Representación de la incertidumbre
Revisión de la clase anterior
Estrategias de razonamiento:
Encadenamiento hacia adelante (forward chaining)
• Razonamiento dirigido por los datos.
• Empieza a partir de un conjunto de datos n y evoluciona hacia una
conclusión

Encadenamiento hacia atrás (backward chaining)


• 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.
 Los sistemas expertos pueden resolver
problemas de dos tipos:
 Esencialmente deterministas
 Esencialmente estocásticos
 Diagnóstico médico: Un doctor quiere
conocer sobre una enfermedad E y 3
síntomas asociados S1, S2, S3. Se realiza
un estudio donde hay veces en las que
los pacientes presentan los 3 síntomas y Resultados del estudio: 1 indica la
presencia del síntoma/enfermedad,
tienen la enfermedad o solo presentan 2 0 indica la ausencia del síntoma/
síntomas o ninguno. Es decir, no hay un enfermedad
100% de certeza que la presencia de los Fuente: http://www.cs.us.es/blogs/iic2012/files/2012/02/IIC-Teoria2.pdf

3 síntomas implica la enfermedad.


Dominios con incertidumbre

 Ejemplo de dominios en los que se presenta incertidumbre:


 Diagnóstico médico
 Predicción financiera
 Exploración minera o petrolera
 Interpretación de imágenes
 Reconocimiento de voz
 Robótica
Representación de la incertidumbre

 Las formas de representación del conocimiento estudiados hasta el


momento se basan en hechos o premisas que son considerados 100%
verdaderos o falsos.
 Lógica
 Redes semánticas
 Reglas de producción.
 En problemas del mundo real muchas veces no es posible decidir si un
hecho, premisa o conclusión es 100% verdadero o falso.
Representación de la incertidumbre
 Existen problemas en los teniendo las reglas para resolverlos no se dispone
de toda la información necesaria o no se tiene la confianza absoluta en la
regla. En estos casos se debe representar la incertidumbre.
 Incertidumbre = falta de certeza
 Ejemplo incertidumbre:
Si Sintoma=dolor de muelas
Entonces Enfermedad=caries

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

 “La única descripción satisfactoria de la incertidumbre es la probabilidad.”


Lindey, 1978

 La teoría de la probabilidad sirve como medio de representación del


conocimiento incierto.
Probabilidad

 Para medir la incertidumbre se parte de un espacio muestral S, que


incluye todos los posibles resultados de un cierto experimento como
conjunto exhaustivo y mutuamente excluyente.
Mutuamente Excluyentes Colectivamente Exhaustivos
 El hecho de que un evento se presente  Por lo menos uno de los eventos debe
significa que ninguno de los demás
eventos puede ocurrir al mismo tiempo. ocurrir cuando se lleva a cabo un
experimento.
 Ejemplo: La variable género da origen
a eventos mutuamente excluyentes:  La variable género también da origen a
eventos colectivamente exhaustivos debido
A = estudiante es hombre a que un estudiante debe ser hombre o
B = estudiante es mujer mujer
Un estudiante seleccionado al azar
es hombre o mujer, pero no puede Si el conjunto de eventos es colectivamente
tener ambos géneros. exhaustivo y los eventos son mutuamente
excluyentes, la suma de las probabilidades es 1
Actividad

 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

 Luger, G. (2008). Artificial Intelligence, Sixth Edition


BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


Revisión de la clase anterior
AGENDA

 Teoría Bayesiana
Revisión de la clase anterior

 Representar el conocimiento para cubrir todos los hechos relevantes


para un problema puede ser difícil.
 Representación de la incertidumbre.
 FACTOR DE CERTEZA
 PROBABILIDAD
Revisión de la clase anterior
Probabilidad a posteriori Probabilidad condicional
Probabilidad a priori

Thomas Bayes, 1763


Probabilidad
total
6
Actividad

 Realizar el siguiente ejercicio:


 Un fabricante de reproductores de DVD compra un microchip en particular, denominado LS-24, a tres
proveedores: Hall Electronics, Schuller Sales y Crawford Components.
 Treinta por ciento de los chips LS-24 se le compran a Hall Electronics; 20%, a Schuller Sales y el restante
50%, a Crawford Components.
 El fabricante cuenta con amplios historiales sobre los tres proveedores y sabe que 3% de los chips LS-24
de Hall Electronics tiene defectos, 5% de los de Schuller Sales también y 4% de los que vende Crawford
Components son defectuosos.
 Cuando los chips LS-24 se reciben, se les coloca directamente en un depósito y no se inspeccionan ni
se identifican con el nombre del proveedor. Un trabajador selecciona un chip para instalarlo en un
reproductor de DVD y lo encuentra defectuoso.
¿Cuál es la probabilidad de que lo haya fabricado Schuller Sales?
14
Ejemplo

A1 = Adulto mayor con Covid-19


A2 = Adulto mayor sin Covid-19
P(A1) = 0.41
P(A2) = 0.59
B = prueba rápida positiva de Covid-19
P(B|A1) = 171/(171+12)= 0.9344
P(B|A2) = 12/(514+12) = 0.0228
𝑃 𝐴1 ∗ 𝑃 𝐵 𝐴1 0.41 ∗ 0.9344
𝑃 𝐴1 𝐵 = = = 0.9661
𝑃 𝐴1 ∗ 𝑃 𝐵 𝐴1 + 𝑃 𝐴2 ∗ 𝑃 𝐵 𝐴2 0.41 ∗ 0.9344 + 0.59 ∗ 0.0228

Ing. Patricio Moreno M.Sc


Independencia probabilística

Fuente: J.L.Ruiz, F.J. Martín


Independencia condicional

Fuente: J.L.Ruiz, F.J. Martín


Independencia condicional

Fuente: J.L.Ruiz, F.J. Martín


Redes Bayesianas

 Judea Pearl, 1936


 Una red bayesiana es un grafo dirigido acíclico que tiene información
probabilística en sus nodos indicando cual es la influencia de sus
padres en el grafo sobre el nodo (P(Xi |padres(Xi)))
 Representación gráfica de dependencias para razonamiento probabilístico,
en la cual los nodos representan variables aleatorias y los arcos representan
relaciones de dependencia directa entre las variables.
 La redes bayesianas representan la incertidumbre con
probabilidades.
Redes Bayesianas

 Las redes bayesianas modelan un fenómeno mediante un conjunto de


variables y las relaciones de dependencia entre ellas.
 Se puede estimar la probabilidad posterior de las variables no conocidas, en base
a las variables conocidas.
 Relaciones causa / efecto
 En cada nodo de la red aparece la distribución de probabilidad del nodo
respecto a sus padres.
 Probabilidades condicionales independientes:
Redes Bayesianas

 Determinar la probabilidad de que


una persona sufra un infarto
 Su probabilidad está determinada
por cuatro variables: practicar
deporte, alimentación equilibrada,
presión sanguínea y ser fumador
 Sabemos que la presión sanguínea
depende directamente del deporte
y la alimentación, que son variables
independientes, y que el ser
fumador es independiente del resto
de variables

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

𝑃(𝐼𝑛𝑓𝑎𝑟𝑡𝑜 = 𝑛𝑜 ∧ 𝑃𝑟𝑒𝑠𝑖𝑜𝑛 = 𝑛𝑜𝑟𝑚𝑎𝑙 ∧ 𝐹𝑢𝑚𝑎𝑑𝑜𝑟 = 𝑠𝑖 ∧


𝐷𝑒𝑝𝑜𝑟𝑡𝑒 = 𝑛𝑜 ∧ 𝐴𝑙𝑖𝑚𝑒𝑛𝑡𝑎𝑐𝑖𝑜𝑛 = 𝑒𝑞𝑢𝑖𝑙𝑖𝑏𝑟𝑎𝑑𝑎)
Redes Bayesianas

 Regla de la cadena

 Se puede afirmar que si


Inferencia bayesiana

 El razonamiento probabilístico (propagación de probabilidades) consiste en propagar


los efectos de la evidencia a través de la red para conocer la probabilidad a posteriori
de las variables.
 Calcula la distribución de probabilidad a posteriori de un conjunto de variables dada la
observación de un evento.
 La inferencia bayesiana observa la evidencia y calcula un valor estimado según el
grado de creencia planteado en la hipótesis. Esto implica que al tener mayor cantidad
de datos disponibles se podrá obtener resultados más satisfactorios.

e es un subconjunto de variables que se conoce


su valor en la red
X conjunto completo de variables
Inferencia bayesiana

 Inferencia probabilística P(X|e)


 Inferencia exacta: algoritmos de enumeración y de eliminación de variables
 Inferencia aproximada: algoritmos de muestreo con rechazo y de ponderación por
verosimilitud
 Esta fórmula es la base para la inferencia probabilística, puesto que permite calcular
cualquier probabilidad a posteriori a partir de la información de la red bayesiana
 Aplicaciones en empresas
 Microsoft:
 Diagnóstico de problemas de impresora,
 Emparejamiento de jugadores en Xbox Live.

 Intel: Diagnóstico de fallos de procesadores


 Nasa: Ayuda a la decisión de misiones.
 Sistemas expertos que manejan incertidumbre
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


 Lógica Difusa
AGENDA  Conjuntos difusos
 Función de pertenencia
Lógica difusa
Lógica Difusa

 Lógica difusa o borrosa, fuzzy logic


 Las ideas básicas de la lógica difusa se encuentran vinculadas con las primeras
aportaciones respecto a los conjuntos difusos(Lofti Zadeh, 1965)
 Es una extensión de la lógica tradicional pero uno de sus principales objetivos es
emplear un razonamiento aproximado o de tipo suave con diferentes niveles o grados
de operación, siguiendo patrones de razonamiento similares a los del pensamiento
humano, siendo éste un razonamiento no determinista.
 La teoría de la Lógica difusa proporciona una plataforma matemática que modela la
incertidumbre del proceso cognitivo humano, de manera que sea abordable por un
computador.
Lógica Difusa: Conjuntos difusos

 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

 AND, OR, NOT


Tarea

 Análisis de un artículo: Sistema basado en lógica difusa


 Actividad Grupal
 Presentación de un artículo:
 12-07-2021 – Grupos: 1, 2
 13-07-2021 – Grupos 3-8
 Tiempo presentación: 5 minutos
Bibliografía

 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

Ing. Gisel Bastidas


 Revisión de la Clase anterior
 Lógica Difusa
AGENDA  Operaciones en conjuntos difusos
 Razonamiento difuso
Revisión de la clase anterior

μA(x)
Operaciones en conjuntos difusos
Operaciones en conjuntos difusos

 Las funciones que definen la unión y la intersección de conjuntos difusos pueden


generalizarse, a condición de cumplir ciertas restricciones. Las funciones que cumplen
estas condiciones se conocen como Conorma Triangular (T-Conorma) y Norma Triangular
(T-Norma).
 Los principales operadores que cumplen las condiciones para ser t-conormas son el
operador máximo y la suma algebraica y los principales operadores que cumplen las
condiciones para ser t-normas son el operador mínimo y el producto algebraico.
Relaciones difusas

 Una relación difusa representa el grado de presencia o ausencia de asociación,


interacción o interconexión entre elementos de dos o más conjuntos difusos.
 Supongamos U y V dos universos de discurso, la relación difusa R(U,V) es un conjunto
difuso en el espacio producto UxV que se caracteriza por la función de pertenencia
µR(x, y) dónde x pertenece a U, y pertenece a V.
 Las relaciones difusas se usan en sistemas de inferencia difusa.
 Para combinar las relaciones difusas se usan operaciones de composición max-min y
max-producto.
Reglas difusas if-then

 SI un antecedente, ENTONCES una consecuencia.


 Donde el antecedente y la consecuencia son valores lingüísticos definidos por
conjuntos difusos.
 La forma general de estas reglas es: "si x está en A, entonces y está en B“.
 Donde x,y son valores difusos en los conjuntos difusos A y B, respectivamente
 Los valores son definidos por medio de sus funciones de pertenencia.
 Ejemplo: SI presión es alta, ENTONCES volumen es pequeño.
Reglas difusas if-then

 Las reglas difusas permiten expresar el conocimiento que se dispone


sobre la relación entre antecedentes y consecuentes.
 Una regla expresa un tipo de relación entre los conjuntos A y B cuya
función de pertenencia μA→B (x, y) y representa implicación lógica.
Razonamiento difuso

 Es el proceso de realizar inferencias a partir de hechos y relaciones difusas.


 La regla básica de inferencia en la lógica tradicional es el modus ponens, de acuerdo al
cual podemos inferir la verdad de una proposición Β a partir de la veracidad de A y la
implicación A→B.
Razonamiento difuso

 El proceso de razonamiento difuso utiliza el Modus Ponens Generalizado (GMP). Donde


es A' cercano a A y B' es cercano a B.
Sistemas de inferencia usando lógica difusa

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

 Proceso que permite asociar a un valor numérico un conjunto difuso.


 Asigna un grado de pertenencia según un término linguístico a partir de la función de
pertenencia.

Fuente: http://repositori.uji.es/xmlui/bitstream/handle/10234/173788/TFG_2017_DiciembreSanahuja_Samuel.pdf?sequence=1&isAllowed=y
Evaluación de las reglas

 Para evaluar la disyunción (OR) se emplea la T-Conorma estándar (máximo), y para el


operador AND se usa habitualmente la T-Norma estándar del mínimo.
 Finalmente, el resultado de la evaluación del antecedente se relaciona con el
consecuente aplicando un recorte o escalado según el valor de verdad del
antecedente para obtener como salida de la regla un conjunto difuso.
 Recorte (clipping) que corta el consecuente con el valor de verdad del antecedente.

 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

 La agregación es el proceso de unificación de las salidas de


todas las regla.
 Se combinan (mediante unión) las funciones de pertenencia
de todos los consecuentes, previamente recortados o
escalados, para obtener un único conjunto difuso por cada
variable de salida.
Defuzzificación

 Proceso inverso a la fuzzificación.


 Proceso que permite asociar a un conjunto difuso un valor numérico y se lleva a cabo
para calcular el valor de salida de los modelos difusos.
 Existen diferentes métodos de defuzzificación:
 Centroide: Asocia el centro del área formada por el número difuso
 Bisectriz: valor numérico del elemento del universo que separa el área de la función de
pertenencia del conjunto difuso en dos mitades con la misma área.
 Máximo central
 Máximo más pequeño
 Máximo más grande
Ejemplo

 Se quiere deducir deducir la propina que un comensal ha de entregar a partir de la


calidad del servicio y de la comida.
 Dos variables de entrada Servicio (Calidad del Servicio, que se evalúa de 0 a 10), y
Comida (Calidad de la Comida, que se evalúa de 0 a 10). El porcentaje de propina se
modela con la variable Propina (definida entre 5 % y 25 % del precio total).
 A la variable de entrada Servicio se le asocia tres conjuntos difusos con las etiquetas
lingüísticas “Pobre”, “Bueno” y “Excelente”.
 La calidad de la Comida tendrá asociada dos conjuntos difusos, con las etiquetas “Mala” y
“Deliciosa”.
 La Propina tendrá asociada tres conjuntos difusos con las etiquetas “Poca”, “Normal” y
“Generosa”.
Ejemplo

 Reglas proporcionadas por experto en el ámbito de hostelería

 Supongamos que un comensal puntúa el Servicio con 3 y la Comida con 8.


 Qué propina tiene que dejar el comensal?
Fuente: http://repositori.uji.es/xmlui/bitstream/handle/10234/173788/TFG_2017_DiciembreSanahuja_Samuel.pdf?sequence=1&isAllowed=y
Prueba parcial

 Lunes, 19 de Julio 2021


Bibliografía

 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

Ing. Gisel Bastidas


Revisión de la clase anterior
AGENDA

 Intro a Machine Learning


Revisión de la clase anterior

 Inferencia de Mamdani
 Propuesto por Ebrahim
Mamdani,1975
 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


 La lógica difusa usa valores entre 0 y 1 (inclusive) (Ej. 0, 0.1, 0.2, …,0.9,1) 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
Reglas + Datos → Resultado

Datos + Resultado → Reglas


Paradigma anterior
Queremos que los clientes reciban
Datos + Reglas -> Resultado
recomendaciones de productos para
aumentar la venta
Si un cliente compra cerveza Duff, Datos
recomiéndale una camiseta Duff
Regla

Fuente: Néstor Montaño, SociedadEcuatorianade Estadística


Queremos que los clientes reciban Machine Learning
recomendaciones de productos para
aumentar la venta Datos + Resultado -> Reglas

Con la historia de venta se ejecuta


un algoritmo que permita aprender
¿Qué otra cosa compra un cliente
que ha comprado cerveza Duff?

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.

Algoritmos desarrollados para aprender a partir de los datos


 Arthur Samuel, 1959: Da a las computadoras la
habilidad de aprender sin ser explícitamente
programado.
 Tom Mitchell, 1997: Un programa de
computadora se dice que aprende de la
experiencia E con respecto a alguna clase de
tareas T y medida de rendimiento P si su
desempeño en las tareas en T, medido por P,
mejora con la experiencia E.
Dataset

 Un dataset es una colección de datos.


 En datos tabulares es una o más tablas, donde cada columna de una tabla representa
una variable en particular y cada fila corresponde a un registro dado del conjunto de
datos.
 Imágenes
Etapas en el desarrollo de Machine Learning

Fuente: Peláez E.
Tipos de aprendizaje

Supervisado No Supervisado Por Refuerzo


Aprende patrones conocidos Aprende patrones desconocidos Genera datos y aprende patrones

Input: X Output: Y Output:


Input: X Input: Estado y
Variables independientes Variable Decisión /
Variables descriptoras acciones posibles
o descriptoras dependiente acción
Cluster,
Regresión (predecir valor),
Reducción de dimensiones Auto conducción,
Clasificación (Predecir clase)
Reglas de asociación Navegación,
(aprendizaje semi-supervisado)
Realizar de tareas

Optimiza en base al error de predicción Optimiza en base al “premio” (refuerzo)


 Algunos algoritmos que se aplican para el aprendizaje
supervisado son:
❖ Árboles de decisión.
❖ Clasificación de Naïve Bayes.
❖ Regresión lineal.
❖ Regresión Logística.
❖ Random Forests
❖ Support Vector Machines (SVM).
❖ Redes Neuronales(Deep learning)
❖ Métodos “Ensemble” (Conjuntos de clasificadores).
 Algunos algoritmos que se aplican para el aprendizaje
no supervisado son:
❖ PCA – Principal Components Analysis
❖ K-means
❖ DBSCAN
▪ Algunos algoritmos que se aplican para el
aprendizaje por refuerzo son:
❖ Sarsa(λ)
❖ Q-learning
Aplicaciones

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

Data: Imágenes de resonancias de personas con/sin un daño cerebral


Objetivo: Detectar el daño rápidamente ayudando al médico(a) en su trabajo y ganando minutos y
(importante en este tipo de casos) en el diagnóstico

Data: Tweets o post de IG o FB


Objetivo: Explorar los sentimientos asociados a una marca/persona/acto
Aplicaciones

Data: Variables sociodemográficas y de comportamiento de personas frente a


una campaña publicitaria
Objetivo: Estimar la probabilidad de que una persona responda
positivamente a una campaña

Data: Comportamiento de compras con tarjeta de crédito


Objetivo: Detectar fraudes/suplantación de tarjetas

Data: Comportamiento de compras/consumo


Objetivo: Recomendar nuevos productos a comprar/consumir
Por: Abdul Wahid
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


Revisión de la clase anterior
AGENDA

 Preprocesamiento de datos
Revisión de la clase anterior

Por: Abdul Wahid


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

Fuente: CS235-F16 UCR


Fuente: CS235-F16 UCR
Datos

 Series de tiempo
 Datos temporales
 Datos espaciales
 Mapa
 Imágenes
 Video
 Audio

Fuente: CS235-F16 UCR


Instancias

 Dataset esta compuesto por instancias


 Una instancia representa una entidad
 Cliente, estudiante, venta, curso, paciente, tratamiento
 También se las denomina: ejemplos, tuplas,
puntos de datos.
 La instancias son descritas por atributos.
 Tabla
 Filas son instancias
 Columnas son atributos
Atributos

 Representa una característica de una instancia


 Ejemplo
 Instancia: cliente
 Atributos: Id, nombre, dirección
 Tipos:
 Nominal: categorias
 Ejm: Estado civil, Color del cabello, ocupación, ubicación.
 Orden no es relevante.
 Ordinal
 El orden es importante, no se tiene un valor numérico
 Ejm: Tamaño = pequeño, mediano, grande
 Numérico
 Discretos
 Continuos
 Tener una idea las características de los datos y la distribución.
 Análisis exploratorio: Mediana, media, máximo, mínimo, varianza, valores
atípicos(outliers).
 Distribución normal estándar
Preprocesamiento de datos

 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

 Cambiar el rango de los valores de las características.


 El objetivo de la normalización es cambiar los valores de las columnas
numéricas en el conjunto de datos para usar una escala común, sin
distorsionar las diferencias en los rangos de valores ni perder información.
 La normalización también es necesaria para que algunos algoritmos
modelen los datos correctamente.
 Min-Max

 Z-score
Librerías de Python

 Pandas: proporciona estructura de datos y herramientas para manipulación y análisis de datos de


manera efectiva.
 Dataframe
 Numpy: utiliza matrices para sus entradas y salidas, por lo que se puede realizar un procesamiento
rápido de matrices.
 SciPy: incluye funciones para algunos problemas matemáticos avanzados, como integrales,
ecuaciones diferenciales, entre otros.
 Matplotlib: librería para la visualización de datos.
 Scikit-learn: contiene herramientas para modelado estadístico, incluida regresión, la clasificación,
entre otros.
 Keras: librería para redes neuronales artificiales que está sobre Tensorflow
 TensorFlow librería de código abierto desarrollada por Google para Machine learning
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


Revisión de la clase anterior
AGENDA

 Aprendizaje Supervisado
Revisión de la clase anterior

Fuente: https://sci2s.ugr.es/sites/default/files/ficherosPublicaciones/2133_Nv237-Digital-sramirez.pdf
Aprendizaje Supervisado

 Dataset con ejemplos etiquetados


 Con estos ejemplos se aprende un modelo que generalice los ejemplos no vistos.
 Problemas a resolver con este tipo de aprendizaje
 Clasificación
 Predecir una categoría o clase. (discreta o nominal)
 Binaria, multiclase

 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

 Algoritmos de aprendizaje supervisado


 Árboles de decisión
 Clasificación de Naive Bayes
 Random Forest
 Regresión Lineal
 Regresión Logística
 Support Vector Machines SVM
 K-nearest neighbor
Árboles de decisión

 Aprendizaje de reglas de decisión derivadas de características.


 Se pueden utilizar tanto en una regresión como en un contexto de clasificación.
Árboles de decisión

 Algoritmo básico (greedy)


 El árbol se construye de una manera recursiva Top-
Down usando dividir y conquistar
 Al principio, todos los ejemplos de entrenamiento
están en la raíz.
 Los atributos son categóricos (si son de valor
continuo, son discretizado de antemano)
 Los ejemplos son divididos de forma recursiva en
función del atributo que se seleccione para
ramificar el árbol en cada nodo.
 Los atributos de prueba se seleccionan sobre la
base de una heurística o medida estadística (por
ejemplo, ganancia de información). También se
debe medir la impureza de un nodo.
Árboles de decisión
Entropía

 Medida de incertidumbre (teoría de la información)


 Caracteriza la impureza del conjunto de datos de entrada.
 Valor entre 0 y 1
 pi es la probabilidad de que una tupla arbitraria en D pertenece a la clase Ci

 Clasificación binaria  Si todos los ejemplos están


en una categoría, entropía
zero (definimos 0⋅log(0)=0)
 Si los ejemplos están
igualmente mezclados
(p1=p0=0.5), entropía es una
máxima de 1.
Entropía
Heurísticas para selección de atributos

 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

 Relación de ganancia - Gain Ratio C4.5


 Normalización de la ganancia de información
Ganancia de información ID3
Heurísticas para selección de atributos

 Reglas de división
 Índice de Gini (CART, SLIQ, SPRINT)
 Crea árboles de decisión binarios.

 Donde pj es la frecuencia relativa de la clase j en D


 Si el dataset se divide sobre A en dos subconjuntos D1 y D2 el índice de Gini es:

 El atributo con menor Gini es selecciona para dividir el nodo


Las tres medidas, en general, arrojan buenos resultados pero
 Ganancia de información
 Es sesgado hacia atributos multivalor
 Relación de ganancia:
 Tiende a preferir divisiones desequilibradas en las que la partición es mucho más
pequeña que las demás
 Índice de Gini
 Sesgado a atributos multivalor
 Tiene dificultad cuando el número de clases es grande
 Tiende a favorecer las pruebas que dan como resultado particiones y pureza en
ambas particiones.
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


Deep Learning
AGENDA

 Redes Neuronales Artificiales


Deep Learning

 El aprendizaje profundo es un subcampo del aprendizaje automático que se ocupa


de algoritmos inspirados en la estructura y función del cerebro llamados redes
neuronales artificiales.
 Persigue crear modelos que sean capaces de representar conceptos complejos y/o
abstractos a partir de otros mas sencillos.
Redes Neuronales Artificiales

 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

 El perceptrón (perceptron) es una estructura propuesta por Rosenblattd (1962)


 El perceptrón se puede decir que es una red neuronal de una sola capa que actúa
como un clasificador binario de aprendizaje supervisado.
 Cómo funciona de forma general?
 Las entradas se multiplican por un peso w
 Los valores multiplicados son sumados
mediante una función de entrada
 Se aplica una función de activación
 Genera una salida y se evalúa con una
función de costo.
Perceptron

 El objetivo de la función de entrada es


combinar las distintas entradas con su peso y
agregar los valores obtenidos de todas las
conexiones de entrada para obtener un único
valor.
 Función suma ponderada.
 Las funciones de activación o transferencia
toman el valor calculado por la función de
combinación y lo modifican antes de pasarlo a
la salida.
Redes Neuronales Artificiales

 Funciones de activación
Redes Neuronales Artificiales

 Una red neuronal artificial consiste en la interconexión de un conjunto de unidades


elementales llamadas neuronas. Cada una de las neuronas aplica una función
determinada a los valores de sus entradas procedentes de las conexiones con otras
neuronas, y así se obtiene un valor nuevo que se convierte en la salida de la neurona.
 Las redes neuronales relacionan entradas con salidas.
Redes Neuronales Artificiales

 La arquitectura de una red neuronal se define como la organización de las neuronas


en distintas capas, así como los parámetros que afectan la configuración como por
ejemplo: las funciones de entrada o activación.
 La red neuronal más simple está formada por una única neurona conectada a todas
las entradas disponibles y con una única salida.
 Se puede añadir un número indeterminado de capas ocultas, produciendo lo que se
conoce como redes multicapa.
Redes Neuronales Artificiales

 La dimensión de la capa de entrada se fija inicialmente con el número de atributos que


se consideran del conjunto de datos.
 El número de neuronas de la capa de salida depende del problema.
 Se define a partir del número de clases y de la codificación empleada para su re-
presentación.
 Añadir neuronas en la capa oculta implica:
 Aumentar el poder predictivo de la red, es decir, su capacidad de reconocimiento y
predicción, pero también aumenta el peligro de overfitting.
 Disminuir la posibilidad de caer en un mínimo local
 Alterar el tiempo de aprendizaje.
Redes Neuronales Artificiales

Salida # neuronas
depende del número de
clases y de la
codificación empleada
para su representación.

Entrada depende del


número de características
del conjunto de datos de
entrada
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?
BASE DE CONOCIMIENTO
Unidad 3:
REPRESENTACIÓN DEL CONOCIMIENTO: MODELOS ESTRUCTURADOS Y
APRENDIZAJE AUTOMÁTICO

Ing. Gisel Bastidas


Revisión de la clase anterior
AGENDA

 Redes Neuronales Artificiales


Revisión clase anterior
Funciones:
• Hardlim
• Lineal
• Tanh
• Sigmoide
• Relu
Suma
ponderada

El perceptrón es una estructura propuesta por


Rosenblattd (1962)
Redes Neuronales Artificiales

 Agrupación de neuronas distribuidas por capas: Capa de entrada, Capas Ocultas,


Capa de salida (Arquitectura)

Red Neuronal
más simple

Salida # neuronas
depende del número de
clases y de la
codificación empleada
para su representación.

Entrada depende del


número de características
del conjunto de datos de
entrada
Perceptró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

 En una red neuronal, los parámetros se ajustan para mejorar el rendimiento de


la red:
 Número de capas,
 Pesos iniciales,
 Función de activación
 Número de épocas, etc.
 Ajustar los hiperparámetros puede tener un gran impacto en el rendimiento de
una red neuronal.
Redes Neuronales artificiales

 É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

 Gradiente descendente (descenso del gradiente):


 Algoritmo de optimización que usualmente se usa para encontrar los pesos de los
algoritmos de aprendizaje automático.
 Base del proceso de aprendizaje en varias técnicas de machine learning.
 El gradiente es el conjunto de todas las derivadas parciales de una función.
 El aprendizaje consiste en encontrar los parámetros W que minimizan la función de costo.
 Machine Learning se calcula el gradiente de la función de costo.
Redes Neuronales artificiales

 Gradiente descendente (descenso del gradiente):


 Existen algunas variaciones:
 Descenso del gradiente estocástico (SGD): es una variación que calcula el error y
actualiza el modelo para cada ejemplo en el conjunto de datos de
entrenamiento. Costo computacional elevado.
 Descenso del gradiente por lotes (BGD): calcula el error para cada ejemplo en el
conjunto de datos de entrenamiento, pero solo actualiza el modelo al final de
cada época de entrenamiento.
 Descenso del gradiente por mini-lotes (MBGD): divide el conjunto de datos de
entrenamiento en lotes (batch) pequeños que se utilizan para calcular el error y
actualizar los pesos del modelo. Es la implementación más común actualmente
en el campo del aprendizaje profundo..
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

 Las redes convolucionales (LeCun, 1989) son un tipo


especial de redes neuronales para procesar datos como
las imágenes.
 Entrada es un vector multidimensional (tensor).
 Las capas de convolución, maneja algunos conceptos:
 Filtros o kernel:
 Matriz de pesos
 Ejemplo dimensión de un filtro 3x3
 Padding.
 Stride
 Uno de los procesos más distintivos de estas redes son las
convoluciones, lo cual consiste en realizar el producto
escalar con el filtro y un grupo de pixeles de la imagen.
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

 Integra bucles de retroalimentación lo cual permite que la información persista


durante alguna pasos en el entrenamiento.
 Tienen capas con conexiones en forma de lazos que agregan retroalimentación y
memoria en las capas de red.
 Memoria generaliza a través de secuencias en la entrada en lugar de patrones
 Este tipo de conexiones pueden ser muy útiles para tratar secuencias de datos,
es el caso de las series temporales o los textos.
 Por ejemplo:
 Análisis de sentimientos de una frase
 Introducir palabras de una frase una a una en la red neuronal, de forma que en cada paso
de la red el estado va cambiando hasta que introducimos la última palabra de la frase.
Redes Neuronales Recurrentes

Fuente: http://colah.github.io/posts/2015-08-Understanding-LSTMs/
Redes Neuronales Recurrentes

 LMST Long Short Term Memory


 Tiene 3 puertas: una de entrada, una del olvido y una de salida

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?

También podría gustarte