lunes, 13 de junio de 2016

EJERCICIO REDES NEURONALES

Reconocimiento de patrones mediante redes neuronales

Para simular el funcionamiento de un perceptrón multinivel entrenado mediante el algoritmo back
propagation, se plantea un sencillo problema de reconocimiento de óptico de caracteres. Su descripción es la siguiente:


Dado un panel de entrada compuesto por una matriz de 7x5 puntos, se consideran 6 clases diferentes donde se pretenden clasificar las muestras que se introducen. Los patrones que definen correctamente a cada una de las clases son los números del 0 al 5.


Cuando a la entrada se presente una muestra distinta de los patrones correctos, el sistema presentará a su salida la información decodificada de la clase a la que pertenece la muestra, o bien, de la clase a la cual se aproxima más.

En base a este planteamiento, la red neuronal dispone de 35 entradas que se corresponden con los puntos de la matriz numerados. El valor de cada entrada puede ser 0 si el punto es blanco y 1 si el punto es negro. Por otro lado, dispone de 6 salidas, una por cada clase. Cuando se introduzca una muestra a la entrada únicamente se activará la salida de la clase a la que pertenezca, permaneciendo las 5 restantes desactivadas con valores próximos a cero. Se considera que una salida está activada cuando su valor es próximo a la unidad.


Para mayor entendimiento tenemos esta matriz representativa:


domingo, 12 de junio de 2016

Redes Neuronales Artificiales (NN)

Las NN aplicadas están, en general, inspiradas en las redes neuronales biológicas, aunque poseen otras funcionalidades y estructuras de conexión distintas a las vistas desde la perspectiva biológica. Las características principales de las NN son las siguientes:
1. Auto-Organización y Adaptabilidad: utilizan algoritmos de aprendizaje adaptativo y auto-organización, por lo que ofrecen mejores posibilidades de procesado robusto y adaptativo.
2. Procesado no Lineal: aumenta la capacidad de la red para aproximar funciones, clasificar patrones y aumenta su inmunidad frente al ruido.
3. Procesado Paralelo: normalmente se usa un gran número de nodos de procesado, con alto nivel de interconectividad.
El elemento básico de computación (modelo de neurona) se le llama habitualmente nodo o unidad. Recibe un input desde otras unidades o de una fuente externa de datos.
Cada input tiene un peso asociado w, que se va modificando en el llamado proceso de aprendizaje . Cada unidad aplica una función dada f de la suma de los inputs ponderadas
mediante los pesos




El resultado puede servir como output de otras unidades.



Las características de las NN juegan un importante papel, por ejemplo, en el procesado de señales e imágenes. Se usan arquitecturas que comprenden elementos de procesado adaptativo paralelo, combinados con estructuras de interconexiones jerárquicas.
Hay dos fases en la modelización con redes neuronales:
Fase de entrenamiento: se usa un conjunto de datos o patrones de entrenamiento para determinar los pesos (parámetros) que definen el modelo de red neuronal. Se calculan de manera iterativa, de acuerdo con los valores de los valores de entrenamiento, con el objeto de minimizar el error cometido entre la salida obtenida por la red neuronal y la salida deseada.
Fase de Prueba: en la fase anterior, el modelo puede que se ajuste demasiado a las particularidades presentes en los patrones de entrenamiento, perdiendo su habilidad de generalizar su aprendizaje a casos nuevos (sobreajuste).
Para evitar el problema del sobreajuste, es aconsejable utilizar un segundo grupo de datos diferentes a los de entrenamiento, el grupo de validación, que permita controlar el proceso de aprendizaje.

Normalmente, los pesos óptimos se obtienen optimizando (minimizando) alguna función de energía. Por ejemplo, un criterio muy utilizado en el llamado entrenamiento supervisado, es minimizar el error cuadrático medio entre el valor de salida y el valor real esperado.



sábado, 14 de mayo de 2016

VIV, la inteligencia artificial llega para quedarse



Fue con la presentación del iPhone 4s cuando vimos por primera vez a Siri, un asistente de voz que atiende a muchas de nuestras peticiones incluso sin tocar nuestro dispositivo –como ya hemos visto en el iPhone 6s–.
Poco tiempo le duró la exclusividad a Siri tras su puesta de largo, ya que al cabo del tiempo aparecieron otros dos asistentes de voz: Now de Google y Cortana de Microsoft.
Hasta el día de hoy, son los tres asistentes más destacados en el mundo tecnológico. No obstante, a esta condición le puede quedar poco tiempo.
El origen de VIV
Seguramente a la gran mayoría, el nombre Dag Kittlaus no os diga nada. Por el contrario a las firmas Apple, Google y Microsoft sí que lo conocen, especialmente la compañía de Cupertino.
Dag Kittlaus fue el creador del asistente de voz –al cual conocemos hoy como Siri–, a quién hace 6 años, la compañía californiana le lanzó una oferta por los derechos de la misma. Una vez llegado a este acuerdo, no se supo más ed Dag Kittlaus.
Unos años después, el nombre del creador de Siri vuelve a escena al confesar que todo este tiempo lo ha dedicado a la creación de su nueva obra, conocida como VIV el cerebro global.

¿Qué es VIV?
Viv pertenece a una nueva generación de asistentes, desarrollado con inteligencia artificial. Una grandísima evolución de Siri, con la cual Dag Kittlaus pretende tumbar al asistente de Apple, como a Cortana y Now.
Una de las característica que hace a Viv diferente y le da ventaja sobre el resto de los asistentes, es la capacidad de guardar información relevante para un futuro, permitiendo procesar y entender mejor las tareas encomendadas.
Gracias a esta propiedad mencionada, unida a la gran integración con las aplicaciones de terceros, VIV puede realizar grandes acciones con suma facilidad, como por ejemplo pedir algo a través de internet sin necesidad de descargar ninguna aplicación para ello.
¿Cuándo llegará?

El día 9 de este mes de Mayo tendrá lugar la presentación oficial de VIV. Por lo que estamos a menos de una semana de poder comprobar su verdadera eficiencia. ¿Será para tanto este nuevo y mejorado asistente? Muy pronto lo sabremos.

sábado, 7 de mayo de 2016

Ejercicio control de combustible - resuelto

Buenas noches, hoy en clase el ingeniero nos propuso este ejercicio.

Considérese un sistema con las siguientes reglas, interpretadas como implicaciones de Mamdani:
a) Si la temperatura es alta entonces la presión es elevada.
b) Si la temperatura es baja entonces la presión es baja.
c) Si la presión es baja entonces la entrada de combustible debe ser grande
d) Si la presión es elevada entonces la entrada de combustible debe ser pequeña
Con los siguientes conjuntos difusos:
temperatura(ºC): baja = (0/0 .2/30 .8/40 1/50 .7/60 .2/70 0/80)
alta = (0/50 .3/60 .8/70 1/80 1/90 .5/100 0/110)
presión(bar): baja = (0/0 .4/200 .8/400 1/600 1/800 .8/1000 .4/1200 0/1400)
       elevada = (0/1000 .2/1200 .4/1400 .8/1600 1/1800 1/1900 0.5/2000 0/2200)
ent-combustible(litros/hora): pequeña = (0/0 .6/1 1/2 1/3 .4/4 0/5)
grande = (0/4 .5/5 1/6 .5/7 0/8)
Si la temperatura actual es 60ªC, determinar el valor para la entrada de combustible empleando la técnica del primer
valor máximo para transformar valores difusos en nítidos


Este ejercicio se desarrolló en Xfuzzy. 





Esto fué lo explicado en clase:




El archivo se encuentra AQUI!!


Ejercicio cruzar la calle - resuelto

¡Qué tal! Espero se encuentren bien. Hoy les tengo el ejercicio explicado en el último post.
El ejercicio es desarrollado en el programa xfuzzy.




Aqui una foto tomada en clase:



Aquí les dejo el enlace para la descarga del programa  AQUI!!
Y el archivo se encuentra  AQUI!!

Cualquier consulta no duden en escribirme: icabrerajaim@crece.uss.edu.pe

miércoles, 4 de mayo de 2016

X fuzzy - Cruzar la callle

XFUZZY:

Xfuzzy es un entorno compuesto por un conjunto de herramientas que facilitan el diseño, la verificación y la síntesis de sistemas difusos. Proporciona una interfaz gráfica de usuario basada en el toolkit Athena-3D sobre X-window. Todas las herramientas incluidas en el entorno Xfuzzy pueden también ser ejecutadas independientemente. De este modo el usuario puede utilizar las herramientas interactivamente desde la línea de comandos Unix, llamarlas desde un fichero script, o integrarlas con otros entornos de desarrollo.

Bajo la herramienta XFUZZY vamos a realizar un ejemplo donde se simula a un peatón tomando la decisión de cruzar la calle.

Como variables de entrada tendremos:
  • Velocidad del auto.
  • Distancia del auto
Como variable de salida de tiene:
  • Velocidad del peatón.
Las reglas serán las siguientes:
















He elaborado unas diapositivas que están a su disposición en este enlace. Aquí encontrarás el ejemplo completo, en el siguiente post les mostraré cómo se realiza en el programa XFUZZY además de proporcionarles el archivo.
Hasta la próxima semana.







domingo, 1 de mayo de 2016

PUBLICACION DE ARCHIVOS

Buenos días seguidores mios, solo les informo que en este link encontrarán los archivos y diapositivas que tratamos en esta semana. Saludos

LINK LINK LINK!!!  

Lógica Difusa: Parte 1

En esta y las demás semanas que se vienen hablaremos de todo lo referente a LÓGICA DIFUSA, mostraré como se se aplica, la forma que trabaja ademas de brindarles múltiples archivos y ejemplos.

-Por ejemplo se considera a una persona como alta si mide mas de 1.80mts, pero de igual forma se considera a una persona como alta si mide 1.7999mts
- Esta consideración no existe en la lógica tradicional que utiliza demarcaciones estrictas para determinar pertenencia en sets: 
-Ejemplo: A es el set clásico de personas altas
       A = { x | x > 1.8} 
      Una persona que mide 1.799999mts es baja!

Desde que Lotfy A. Zadeh (1965) desarrolló este concepto de lógica difusa, se ha trabajando en este tema, el principal centro de desarrollo es Japón, donde sus investigadores la han aplicado a muy diversos sistemas, principalmente electrodomésticos, sistemas más recientes están vinculados con la industria, la medicina y la actividad espacial. Muchas publicaciones y libros se han escrito de este tema, pero aún queda mucho por explorar.

APLICACIÓN
Los sistemas basados en lógica tienen múltiples aplicaciones, entre ellas:
  • Control numérico
  • Clasificación
  • Soporte de decisión
  • Visión computarizada
  • Sistemas expertos
  • Sistemas de control de acondicionadores de aire
  • Sistemas de foco automático en cámaras fotográficas
  • Electrodomésticos familiares (frigoríficos, lavadoras...)
  • Optimización de sistemas de control industriales
  • Sistemas de escritura
  • Mejora en la eficiencia del uso de combustible en motores
  • Sistemas expertos del conocimiento (simular el comportamiento de un experto humano)
  • Tecnología informática
  • Bases de datos difusas: Almacenar y consultar información imprecisa. Para este punto, por ejemplo, existe el lenguaje FSQL.
  • En general, en la gran mayoría de los sistemas de control que no dependen de un Sí/No.
ETAPAS PARA LA APLICACIÓN DE LAS REGLAS DE LÓGICA DIFUSA
 La lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc.

La clave de esta adaptación al lenguaje, se basa en comprender los cuantificadores de nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco").
Entrada de datos: son los datos ingresados para ser procesados, estos datos son cualitativos, entendibles para el sistema.

Difusor: esta operación se realiza en todo instante de tiempo, es la puerta de entrada al sistema de inferencia difusa. Es un procedimiento matemático en el que se convierte un elemento del universo de discurso (variable medida del proceso) en un valor en cada función de membresía a las cuales pertenece.

Mecanismo de Inferencia: las reglas difusas representan el conocimiento y la estrategia de control, pero cuando se asigna información específica a las variables de entrada en el antecedente, la inferencia difusa es necesaria para calcular el resultado de las variables de salida del consecuente, este resultado es en términos difusos, es decir que se obtiene un conjunto difuso de salida de cada regla, que posteriormente junto con las demás salidas de reglas se obtendrá la salida del sistema.

Desdifusor: es un proceso matemático usado para convertir un conjunto difuso en un número real. El sistema de inferencia difusa obtiene una conclusión a partir de la información de la entrada, pero es en términos difusos. Esta conclusión o salida difusa es obtenida por la etapa de inferencia borrosa, esta genera un conjunto borroso pero el dato de salida del sistema debe ser un número real y debe ser representativo de todo el conjunto obtenido en la etapa de agregado, es por eso que existen diferentes métodos de defusificación y arrojan resultados distintos, el “más común y ampliamente usado” es el centroide. Con el método de defusificación del centroide se transforma la salida difusa en un número real el cual es la coordenada equis (x) del centro de gravedad de tal conjunto difuso de salida.

Salida de datos: Es la variable que tomará el actuador para modificar el estado del proceso.

Esta es una foto tomada en clase:



jueves, 21 de abril de 2016

Inteligencia artificial para detectar ataques cibernéticos

Investigadores del Instituto Tecnológico de Massachusetts (MIT), del Laboratorio de Inteligencia Artificial CSAIL y de la firma de seguridad PatternEx han colaborado para desarrollar un sistema de inteligencia artificial capaz de predecir los ataques cibernéticosel 85% de las veces. Conocido como AI², este software detecta hasta cinco veces menos falsos positivos que los sistemas utilizados hasta la fecha.
En las pruebas llevadas a cabo se utilizaron más de 3’6 millones de líneas de registro de actividad online.  AI² identificó el 85% de los ataques escaneando esta información con técnicas de aprendizaje automático y sin supervisión. Al final del día, el sistema envía un informe a un operador humano que debe confirmar o rechazar las alertas de seguridad de la máquina.

El sistema no depende totalmente de la inteligencia artificial, la retroalimentación del operador humano se añade al mecanismo de aprendizaje de AI² y este lo tiene en cuenta en los siguientes análisis. Esto es lo que los investigadores han llamado intuición analista (AI en inglés), por eso recibe el nombre de AI².

Introduccion

Este blog contribuirá a la formación de estudiantes e interesados en el tema. El blog tendrá temas donde se estudiará los fundamentos de los algoritmos genéticos y lógica difusa, se desarrollaran sistemas inteligentes basados en redes neuronales, además de algoritmos de clasificación.