Investigaciones y aplicaciones de sistemas inteligentes en el Perú
Expositor: Ing. Samuel Oporto Díaz (Ms) 23-Nov-2007
22 /82/82
El expositor• Magíster en Inteligencia Artificial - Instituto Tecnológico de Monterrey.• Ingeniero de Sistema - Universidad Nacional de Ingeniería, Lima-Perú.
• Docente en Inteligencia Artificial y Minería de Datos - UNI.• Docente en Inteligencia Artificial - USMP.• Docente en Sistemas Inteligentes y Simulación de Sistemas - UPC.
• Investigador Principal del Instituto de Investigación de la FIIS-UNI.
• Investigador en Ciencias de Computación con publicaciones en:– IJCNN-2007 of August 2007 Orlando, FL, USA.– ICAIPR of July 2007 Orlando, FL, USA.– ICIAR2005, Toronto – Canada.– LNCS-2005, Springer Journal – Canada.– CLEI2004 Lima-Perú y CLEI2006 Santiago de Chile.
• Consultor en Sistemas Inteligentes y Sistemas Autónomos.
33 /82/82
Temario• Inteligencia Artificial. 5
• Proyectos de Investigación. 11
• Proyectos de Desarrollo. 46
• Proyectos Futuros. 77
44 /82/82
INTELIGENCIA ARTIFICIALSistemas Inteligentes
55 /82/82
Inteligencia NaturalEs la capacidad de:• Entender y comprender el entorno.• Aprender de la experiencia.• Pensar y actuar con cierta intención.• De resolver problemas.
¿los animales son inteligentes?¿el libre albedrío es inteligencia?¿la conciencia de si mismo es inteligencia?¿puede existir la inteligencia sin creatividad?
66 /82/82
Inteligencia Artificial• Es una ciencia que intenta la
construcción de algoritmospara imitar el comportamiento y el razonamiento de los humanos.
Pienso y luego actuó
77 /82/82
Inteligencia Artificial¿Cómo piensan-razonan
los humanos?
No se sabe, solo pensamos.
¿Cómo actúan los humanos?
Test de turing
88 /82/82
¿Cómo podemos hacer IA si no sabemos cómo pensamos ni podemos
demostrar qué software actúa como humano?
99 /82/82
Agentes• Un agente es todo aquello que percibe su
ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores.
1010 /82/82
Sistemas InteligentesSistemas inteligentes
Agentes• Autónomo.• Usa conocimiento (patrones)
• Aprende• Lógica difusa.• O(kn), O(n!)
Sistemas de Información
• Requiere del humano• Usa información (relaciones)
• Memoriza.• Lógica booleana• O(nk)
1111 /82/82
PROYECTOS DE INVESTIGACIÓN
1212 /82/82
Pronóstico diario de la energía eléctrica en días feriados usando
redes neuronales
Universidad Nacional de Ingeniería
XX International Joint Conference on Neural Networks -2007 Orlando, USA
International Conference on Artificial Intelligence and Pattern Recognition
Definición del Problema1. ¿Cómo pronosticar la demanda en días feriados?2. Los productores de energía requiere pronosticar la
demanda de la energía eléctrica para planificar su operación y mantenimiento
3. La demanda de energía es más compleja los días feriados.
holiday holiday
Jule 2003 Jule 2004
1414 /82/82
Soluciones Anteriores• Neural networks• ARIMA• Fuzzy Logic• Fuzzy Neural Network
1515 /82/82
Solución Propuesta• Se diseña tres modelos de pronóstico de demanda
de energía eléctrica para días feriados y para días no feriados.
• Se usa redes neuronales y se compara con el ARIMA.
• Es necesario un enfoque global para tratar con la demanda de la energía en días feriados tan bien como en días no feriados.
1616 /82/82
Solución Propuesta• Neural Network.• Codificación de los días, considerando el día
precedente y el día siguiente como días feriados.
Afterholiday
Jule 2003
Beforeholiday
Jule 2004
1717 /82/82
Modelo de Pronóstico
INPUT SELECTION
PARAMETERS TUNING
INPUT ENCODING
DATA TRANSFORMATION
FORECASTING
INPUT SELECTION
•Year Y
•Month M
•DayOnMonth DoM
•DayOnWeek DoW
•Holiday H
INPUT ENCODING (holiday input)
Method 1 M1: hol=1
Method 2 M2: hol=sun=1
Method 3 M3: hol=3 before&after=1,3
Method 4 M4: hol=sun=3 before&after=1,2
1818 /82/82
Red Neuronal•Year Y
•Month M
•DayOnMonth DoM
•DayOnWeek DoW
•Holiday H
1919 /82/82
Medición de resultados• Medidas de la bondad de ajuste (intentan medir en
cuánto se desvía el nivel pronósticado del nivel real).
Siendo:Es el valor de la serie de tiempo en el momento tEs el valor pronosticado en el momento tEs el error pronosticado en el momento tNúmero de puntos pronosticados.
Nombre Unidad medida Fórmula
MAPEMean Average Percentage Error %
NYENt
t tt∑ =
=1*%100
tY
tF
ttt FYE −=
N
2020 /82/82
Experimentos• Los resultados para días feriados, día anterior y
día siguiente de acuerdo al MAPE es:
2121 /82/82
Comparación de cuatro técnicas de selección de características envolventes para procesos de
clasificación.
V JPC (Jornadas Peruanas de Computación 2006) – Arequipa - Perú
CLEI2006 (Congreso Latino Americano de Computación) – Santiago de Chile
Universidad Nacional de Ingeniería
2222 /82/82
Planteamiento del ProblemaDado una base de datos con Sm características, cómo encontrar un subconjunto de características Sm’ tal que logren minimizar el error de un clasificador. Cómo eliminar aquellas variables que no contribuyen en la clasificación.
erro
r del
cla
sific
ador
número de características
número deejemplos
2323 /82/82
Selección de Características• Si se evalúa todo el espacio de posibles combi-
naciones, el costo computacional es muy alto.• Si m es la cantidad de características identificadas
y n es la cantidad de características deseadas, el número total de posibles subconjuntos a evaluar es:
n 2n
10 1,02420 1,048,57630 1,073,741,82440 1,099,511,627,776
Si n = m; 2n
2424 /82/82
Proceso de Selección de Características
FiltroEnvolventeHíbrido
e: error del clasificador
B. OptimaB. Sub-optimaB. AleatoriaB. Heurística
Clasificador
2525 /82/82
Generación del Sub-Conjunto• Búsqueda exhaustiva
• Búsqueda secuencial hacia delante.• Búsqueda secuencial hacia atrás.
• Búsqueda Aleatoria (BA).• Búsqueda Aleatoria Optimizada (BAO)
• Búsqueda Mejor Primero (BMP)• Búsqueda Genética (BG)
Optima
Sub-optima
Aleatoria
Heurística
2626 /82/82
Evaluación del Sub-Conjunto• Filtro. Independientes del algoritmo de
aprendizaje.• Componente principal, entropía.
• Envolvente. Usan el mismo algoritmo para escoger el sub-conjunto como para el aprendizaje.
• Búsqueda Aleatoria, Búsqueda Aleatoria Optimizada, Búsqueda Mejor Primero, Búsqueda Genética.
• Híbridos. Filtro + Envolvente.
2727 /82/82
Criterio de Paro¿Cuándo detener la búsqueda? :
error del clasificador
2828 /82/82
Algoritmos de Clasificación
Desarrollado por Quinlan. Es un árbol de regresión.Es recursivo, y se basa en la estrategia "divide y vencerás“Mejora del ID3.
Árbol de Decisión C4.5 Naive Bayesian
Aprendizaje probabilístico:Incremental: Cada ejemplo puede incrementar / decrementar la probabilidad de que una hipótesis sea correcta.La predicción probabilística predice múltiples hipótesis ponderadas
Tiempo P N Humedad P Nsoleado 2/9 3/5 alta 3/9 4/5cubierto 4/9 0 normal 6/9 1/5lluvia 3/9 2/5Temperatura Vientocalor 2/9 2/5 si 3/9 3/5suave 4/9 2/5 no 6/9 2/5fresco 3/9 1/5
2929 /82/82
Algoritmos de Clasificación
Presentadas en 1992. Vapnik y Chervonenkis.Crea nuevas características linealmente separables.Busca un hiperplano que puede separar el espacio en dos partes
Maquinas de Vector Soporte
Red de Retropropagación
Trabaja con datos continuos o discretosLa salida puede ser vector de valores reales o discretos.Aprende por modificación de los pesos.Largo tiempo de entrenamiento Es difícil entender el significado de los pesos.
3030 /82/82
Diseño de ExperimentosDATOS
ALG
OR
ITM
O
DE
BU
SQU
EDA
CLA
SIFICA
DO
RES
ADULT, BANDS, MUSHROOM
• Árbol de Decisión C4.5
• Naive Bayesian
• Maquinas de Vector Soporte
• Red de Retropropagación
• Búsqueda Aleatoria
• Búsqueda Aleatoria Optimizada
• Búsqueda Mejor Primero
• Búsqueda Genética
48experimentos
K-fold
K = 10
Validación cruzadaANOVAVoting
3131 /82/82
Resultados Experimentales
3232 /82/82
Conclusión VotingReducción del error• No se puede concluir quién es el peor (2BA y 1BG)• No se puede concluir quién es el mejor (2 BAO y 1BG)
Reducción de la dimensionalidad.• El peor es BAO para la data usada (3 BAO)• No se puede concluir quién es el mejor (2 BG, 1 BA)
3333 /82/82
Conclusión ANOVAReducción del error• El peor es el BG para la data usada• Los mejores son BAO y BA para la data usada,
pero entre los no se de puede concluir una diferencia.
Reducción de la dimensionalidad.• El peor es el BAO para la data usada• Los mejores son BA y BG para la data usada,
pero entre los no se de puede concluir una diferencia.
3434 /82/82
Detección de microcalcificaciones en imágenes
de mamografías usando diferencia de filtros gaussianos
optimizados.
IV JPC (Jornadas Peruanas de Computación 2005) – Arequipa - Perú
Second International Conference, ICIAR 2005, Toronto, Canada 2005
Instituto Tecnológico y de Estudios Superiores de Monterrey - México
3535 /82/82
El problema• Dada una BD de mamografías, cómo procesar las
imágenes para detectar microcalcificaciones de tal forma que se logre minimizar el número de falsos negativos y el número de falsos positivos.
F(-): Siendo realmente (+), el sistema los declara (-)F(+): Siendo realmente (-), el sistema los declara (+)
F(-): La enfermedad puede progresar.F(+): Falsas alarmas e intervenciones innecesarias
3636 /82/82
Modelo de solución
Señales
3737 /82/82
1. PRE-PROCESAMIENTO
Filtro mediana.Es un filtro no lineal, usado para eliminar el ruido de alta frecuencia sin eliminar las características significativas de la imagen.
3838 /82/82
1.2. Corte Automático
Corte automático.Se recorta la imagen para incluir sólo la región de interés, y por lo tanto reducir el tiempo total de procesamiento, en el 90% de las imágenes de la BD de la MIAS la mama ocupa menos del 49 %.
3939 /82/82
2. DETECCION DE SEÑALES• El filtro DoG es un filtro pasabandas, en el dominio
del espacio, construido a partir de dos Filtros Gaussianos simples.
• Estos dos filtros deben tener varianzas diferentes.
4040 /82/82
2.1. Filtro DoG
σ = 0.7618 σ = 0.8226
4141 /82/82
2.1. Filtro DoG.σ = 0.7618
σ = 0.8226
4242 /82/82
2.2. SegmentaciónExtrae ventanas cuadradas de 9x9, cuyo centro corresponde al centro de masa de cada uno de los puntos seleccionados en la etapa anterior.
Señal CalcificaciónImagen
DoG, Binary, Label, Area, Segment, Gray, Binary
4343 /82/82
3. EXTRACCION DE CARACTERISTICAS
4444 /82/82
4. CLASIFICACION
Área
Gris promedio
Compacidad
Gris del fondo calcificación (+, -)
capaentrada
capaintermedia
capasalida
Contraste Relativo
Una red neuronal de retro-propagación de tres capas es usada. La función de transferencia en todos los nodos es la tangente hiperbólica sigmoidal y la función de medida de performance es el error cuadrático medio.
4545 /82/82
Resultados Obtenidos
4646 /82/82
PROYECTOS DE DESARROLLO
4747 /82/82
Desarrollo de un algoritmo para la estructuración de datos de
direcciones proporcionados en formato libre
2007
4848 /82/82
Formato Libre - Estructurado• Datos de direcciones en formato libre, no pueden
ser manipulados por sistemas de DB.
• Para que un sistema de DB manipule los datos requiere una representación interna mediante un modelo de datos.
• La representación cumple reglas gramáticales.
4949 /82/82
Planteamiento del Problema• El problema consiste en cómo hacer para
convertir un texto en formato libre en una representación interna dadas ciertas reglas gramáticales.
5050 /82/82
Procedimiento de Soluciónaddess_un-format
parsing(index)
find_word(phonetic)word_for_revision
domain_definition
load_domain
domain_element
gramatic_rules find_elements
addess_format
word
domain_token
token
rules
parsing andfind words load domain
token
gramaticfind elements
2
1
3 4
5151 /82/82
Procedimiento de Soluciónaddess_un-format
parsing(index)
find_word(phonetic)word_for_revision
domain_definition
load_domain
domain_element
gramatic_rules find_elements
addess_format
word
domain_token
token
rules
5252 /82/82
1.1. Parsing and Find WordsAnalizador sintáctico (parsing)• El analizador sintáctico tiene como propósito
identificar las palabras (cadenas) que componen una dirección sin formato.
• Las palabras pueden están separadas por delimitadores.
• El resultado es una secuencia de palabras.
delimiteraddress_unformatparsing(index)
{word}
, ; :
- _
. .. +
1
5353 /82/82
1.1. Parsing and Find Wordsadress_id address_unformat
1 GERENAL MENDIBURU 1149 F SANTA CRUZ
2 AV LARCO 345 TDA 10 SOTANO
3 CALLE SHELL 285 TDA 1 LADO DE TIENDA DEL
4 SHELL 285 TDA 7 GALERIA FAROLES
word adress_id1 310 2
1149 1285 3285 4345 27 4
AV 2CALLE 3CRUZ 1
DE 3DEL 3
F 1FAROLES 4GALERIA 4GERENAL 1
LADO 3LARCO 2
MENDIBURU 1SANTA 1SHELL 3SHELL 4
SOTANO 2TDA 2TDA 3TDA 4
TIENDA 3
Analizador sintáctico(parsing)
1
, ; :- _. .. +
{word}
delimiter
5454 /82/82
1.2. Parsing and Find WordsBúsqueda de palabras (find words)• Verifica si la palabra identificada es palabra valida.• Se busca en una tabla de dominio de palabras (conjunto
de palabras válidas pertenecientes a la(s) ciudad(s) donde se va ha trabajar).
• Una palabra válida pasa a ser un token, el resto de palabras se revisan (pueden ser nuevas o inválidas)
find_word(phonetic)word_for_revision
word
domain_token
token
1
5555 /82/82
1.2. Parsing and Find WordsBúsqueda de palabras (find words)Búsqueda exacta.• Si la palabra se encuentra exactamen en el
dominio de palabras
Búsqueda fonética (similaridad fonética)• Si la palabra se pronuncia similarmente a alguna
palabra del dominio de palabras.
Búsqueda por distancia (similaridad métrica)• Si la palabra se escribe similarmente a alguna
palabra del dominio de palabras.
1
5656 /82/82
1.2. Parsing and Find WordsBúsqueda de palabras (find words)Búsqueda exacta.
Búsqueda fonética
Búsqueda por distancia
• Arequipa Arequipa• CANADA Canada
• Focet Faucet• Focep Faucet• Cayao Callao
• Lincee Lince• Coma Comas
1
5757 /82/82
2.1. Token ClasificationBase de datos del dominio de trabajo Corresponde a todas las tablas del modelo.• Los tipos de elementos pueden ser:
– Tipo de urbanizacion – Urbanizacion– Tipo de via – Via– Tipo de hito – Hito– Tipo de vivienda – Vivienda– Tipo de interior
– Zona– Manzana– Lote
2
5858 /82/82
3. Gramatic• La gramática corresponde a las reglas que definen la
estructura de cada dirección.• Se refiere a la presencia o no de un tipo de elemento y al
orden en que los tipos de elementos se pueden presentar en una dirección.
• Una regla es una estructura conformada por huecos, cada hueco pertence a un tipo de elemento.
• Cuando una dirección es descompuesta en sus tipos de elementos, se intenta que buscar los casos en los que exista coincidencia.
3
gramatic_rules rules
5959 /82/82
3. Gramaticejemplo de reglas gramáticales
3
direccion
nombre viatipo_via
via urbanizacion
tipo urbaniz nombre urbnúmero
númerotipo interior
direccion
nombre viatipo_via
via hito
tipo hito nombre hitonúmero
6060 /82/82
4. Find elements• Intenta hacer coincidir las secuencias de tipos de
elementos (conformadas por tokens) con algunas de las reglas gramaticales diseñadas.
• Entrega todos los posibles casos donde exista coincidencia o cercania.
domain_elementfind_elements
addess_format
token
rules
4
6161 /82/82
4. Find elements• Recibe una secuencia de tokens, cada uno de los
cuales tiene asignado una lista de tipos de elementos.
• Identifica todas las posibles conbinaciones de secuencias de tipos de elementos que se pueden formar.
• Intenta hacer coincidir las secuencias de tipos de elementos con algunas de las reglas gramaticales disenadas.
4
6262 /82/82
4. Find elementsdirección no estructurada avenida rosa toro 124 - A edificio el polo
tipo_via via via via separador via tipo_vivienda irrelevante viaurbanizacion urbanizacion numero interior hito hito
hito hito vivienda
tipo_via via via separador via hito viviendaUrbanizacion numero Interior tipo_vivienda via
Dirección estructurada tipo_via via numero tipo_vivienda vivienda
elementos
tokens
4
direccion
nombre viatipo_via
via vivienda
tipo_vivienda viviendanúmero
número tipo interior
6363 /82/82
Pronóstico sub-horario de la Demanda Eléctrica
2007
6464 /82/82
Alcances Funcionales_Sistema para el Pronóstico de Demanda a Corto Plazo_Modelo de Pronóstico con Redes Neuronales
configuration
transformation optimization
train ann
data access
run ann
configuration_
modeling
program next day
reporting
control program
program holiday
data input
Sistema Inteligente Sistema de Información
1
2 3
4
5
6565 /82/82
Transformación de datos• Los datos de la demanda histórica (Y) tienen una
estructura que relaciona la fecha y hora del día y el valor de la demanda total ejecutada.
• Se preparan los datos para ingresarlos al modelo.
fechaferiadohorademanda (Y)
demanda_historicaannomesquincenasemanadíadía semanaferiadohorademanda (Yt-1)demanda (Yt-2)demanda (Yt-3)demanda (Y)
demanda_modelo
6666 /82/82
Modelado1. Pronóstico de la demanda sub-horaria para el día
siguiente (PD1), 48 puntos, espaciados cada 30 minutos, haciendo uso de datos hasta el día anterior.Se pretende usar los datos del dia anterior, el dia que estáuna, dos y tres semanas atrás y otras combinaciones.
Demanda MW
0
500
1000
1500
2000
2500
3000
3500
4000
00:3
0
01:3
0
02:3
0
03:3
0
04:3
0
05:3
0
06:3
0
07:3
0
08:3
0
09:3
0
10:3
0
11:3
0
12:3
0
13:3
0
14:3
0
15:3
0
16:3
0
17:3
0
18:3
0
19:3
0
20:3
0
21:3
0
22:3
0
23:3
0
6767 /82/82
Modelado2. Pronóstico de la demanda sub-horaria para el resto del
día (PD2), haciendo uso de los datos del día anterior y de lo ocurrido en el día. El uso de datos de día anteriores se evaluara en la etapa de optimización del modelo.
3. Pronóstico de la demanda sub-horaria para las siguientes 2 horas (PD3), haciendo uso de los datos del día anterior y de lo ocurrido en el día. Dependiendo de la infraestructura de computo se definirá la frecuencia de entrenamiento de la red.
6868 /82/82
Técnicas de PronósticoRedes Neuronales Fuzzy Logic
• Se utiliza cuando la complejidaddel proceso es muy alta y no existen modelos matemáticos precisos, para procesos no lineales y cuando lasdefiniciones no estan definidas (impreciso o subjetivo).
.
.
W(1)
W(2)
L (t,d)
F (t,d)
DW (t,d)
DM (t,d)
M (t,d)
L (t,d-1)
L (t,d-7)
L (t,d-14)
L (t,d) : demanda en hora t en día d
M (t,d) : mes del día d
DM (t,d) : #día en mes del día d
DW (t,d) : #día en semana de día d
F (t,d) : indicador de feriado de día d
ARIMA• Es una generalización del
modelo autorregresivo de media móvil (ARMA). Ajusta los datos de series temporales con la finalidad de predecir puntos futuros de la serie.
6969 /82/82
Optimización de los modelos• En número de modelos a
diseñar es muy grande. • Dependen de la cantidad
de parámetros y sus valores.
• Es necesario búscar el mejor modelo.
• Se usan criterios de medición de resultados.
ALGORITMOS GENÉTICOS• Es una técnica de optimización
no lineal multivariada.• Es un método sistemático para
la resolución de problemas de búsqueda y optimización que usan los mismos métodos de laevolución biológica: selecciónbasada en la población, reproducción sexual y mutación.
Esta actividad puede consumir fuertes recursos de hardware y tiempo, dado que el procedimiento implica probar el comportamiento de tantos modelo como combinaciones
diferentes de parámetros se puedan hacer.
7070 /82/82
Medición de resultados• Medidas de la bondad de ajuste (intentan medir en cuánto
se desvía el nivel pronósticado del nivel real).
Siendo:Es el valor de la serie de tiempo en el momento tEs el valor pronosticado en el momento tEs el error pronosticado en el momento tNúmero de puntos pronosticados.
Nombre Unidad medida
Fórmula Valor actual Valor máximo
aceptable
MAPEMean Average Percentage Error
%
MAEMean Absolute Error
de la serie
RMSERoot Mean Square Error
de la serie
NYENt
t tt∑ =
=1*%100
NENt
t t∑ =
=12
NENt
t t∑ =
=1
tY
tF
ttt FYE −=
N
7171 /82/82
Pronóstico de dinero en efectivo para agencias bancarias y
cajeros electrónicos
2006
7272 /82/82
Planteamiento del Problema• Cómo pronosticar el monto (stock) de dinero en
efectivo que se va ha tener en los siguientes periodos de tiempo (horas, días, semanas, etc.), de tal manera que puede mantener un nivel óptimo de efectivo en todo momento.
7373 /82/82
Objetivo del Proyecto• Para calcular el nivel óptimo de efectivo para
agencias y cajeros electrónicos se debe de tomar en consideración los siguientes aspectos, no necesariamente medibles.
Minimizar Costo Financiero + Costo Transporte Caudales
Maximizar Satisfacción del Cliente + Seguridad contra robos
7474 /82/82
Modelo para CajerosS(t) : Stock actual o saldo actual en el dia td (t) : demanda de dinero en el dia th : dias de aviso P (t) : monto abastecido en el dia tN : Dias extras de pronóstico
7575 /82/82
Modelo para cajeros
7676 /82/82
Modelo para cajeros
días extras de pronóstico
S/.
…
1 2 3
…
N-1 NN’
Costo de Transporte (CT)
Interes (I)Óptimo
CT(1)
CT(2)
I(0)
CT(N)=I(N’)
… …
7777 /82/82
PROYECTOS FUTUROS
7878 /82/82
Proyectos de Investigación1. Detección del Fraude Bancario.2. Determinación del Riesgo Crediticio.3. Análisis de fuentes de información documental
abierta – extensible a radio y TV.4. Identificación del idioma desde la voz.5. Planificación de movimientos en robots
autoconfigurables.
7979 /82/82
Proyectos de Desarrollo
Constitución de K&S Peru
Knowledge and Systems
8080 /82/82
Libros• Metodología de la Investigación en Computación.
• Sistemas Inteligentes – Agentes Lógicos
• Sistemas Inteligentes – Agentes de Búsqueda
• Sistemas Inteligentes – Agentes Conexionistas
• Introducción a la Visión Computacional.
8181 /82/82
Ing. Samuel Alonso, Oporto Díaz (Ms)
[email protected]://www.wiphala.net/oporto
UNIVERSIDAD NACIONAL DE INGENIERIA
8282 /82/82
GRACIAS