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!!!