lunes, 23 de marzo de 2009

Perceptron

P E R C E P T R O N

El perceptrón usa una matriz para representar las redes neuronales y es un discriminador terciario que traza su entrada x (un vector binario) a un único valor de salida f(x) (un solo valor binario) a través de dicha matriz.


Perceptron.java

import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.junit.Test;

public class Perceptron {
patterns
teaching
attributes

public void deltaRule() {
boolean allCorrect = false;
boolean error = false;
double learningFactor = 0.2;
while (!allCorrect) {
error = false;
for (int i = 0; i < numberOfPatterns; i++) {
}
if (!error) {
allCorrect = true;
}
}
}

int[] setOutputValues(int patternNo) {

double bias = 0.7;
int[] result = new int[numberOfOutputNeurons];
int[] toImpress = patterns[patternNo];
for (int i = 0; i < toImpress.length; i++) {
}
return result;
}

public void printMatrix(double[][] matrix) {
}


public void testPerceptron() {

}
}

domingo, 15 de marzo de 2009

REDES NEURONALES DEFINICION Y APLICACIONES



Redes neuronales de tipo Biológico



Estas herramientas consisten en la representación gráfica ordenada de las distribuciones de probabilidad, y para la inferencia. Están adquiriendo cada vez más importancia en el campo de las ciencias biológicas sobre todo para dilucidar redes celulares, modelado de rutas de señalización proteica, integración y clasificación de datos, y análisis genético. La representación y uso de la teoría de la probabilidad hace a esta herramienta muy útil para la extracción de conocimiento a partir de los datos, expresión de relaciones causales y el aprendizaje de conjuntos de datos incompletos. Los modelos probabilísticos proveen un tratamiento natural para la naturaleza estocástica de los sistemas y medidas biológicas.


http://www.revistaesalud.com/index.php/revistaesalud/article/viewArticle/207/511


Redes Neuronales para aplicaciones concretas

Las redesdirigidas a aplicación están en general poco ligadas a las redes neuronales biológicas. Ya que el conocimiento que se posee sobre el sistema nervioso en general no es completo, se han de definir otras funcionalidades y estructuras de conexión distintas a las vistas desde la perspectiva biológica. Las características principales de este tipo de redes son los siguientes:
Auto Organización y Adaptatividad: utilizan algoritmos de aprendizaje adaptativo y auto organización, por lo que ofrecen posibilidades de procesado robusto y adaptativo




Procesado No Lineal: aumenta la capacidad de la red de aproximar, clasificar y su inmunidad frente al ruido.



Procesado paralelo: normalmente se usa un gran número de células de procesado por el alto nivel de interconectividad.




Aplicaciones



Desde el punto de vista de la aplicaciones, la ventaja de las redes reside en el procesado paralelo, adaptativo y no lineal. Las redes han encontrado muchas aplicaciones con éxito en la visión artificial, en el procesado de señales e imágenes, reconocimiento del habla y de caracteres, sistemas expertos, análisis de imágenes médicas, control remoto, control de robots, inspección industrial y exploración científica. El dominio de aplicación de las redes se puede clasificar de la siguiente forma: asociacion y clasificacion, regeneracion de patrones, regresion y generalizacion, optimizacion.


Asociación y Clasificación

Los patrones de entrada estáticos o señales temporales deben ser clasificadas o reconocidas.

Idealmente, un clasificador debería ser entrenado para que cuando se le presente una versión distorsionada ligeramente del patrón, pueda ser reconocida correctamente sin problemas. De la misma forma, la red debería presentar cierta inmunidad contra el ruido, esto es, debería ser capaz de recuperar una señal "limpia" de ambientes o canales ruidosos. Esto es fundamental en las aplicaciones holográficas, asociativas o regenerativas.

Asociación: de especial interés son las dos clases de asociación: autoasociación y heteroasociación. El problema de la autoasociación es recuperar un patrón enteramente, dada una información parcial del patrón deseado. La heteroasociación es recuperar un conjunto de patrones B, dado un patrón de ese conjunto. Los pesos en las redes asociativas son a menudo predeterminados basados en la regla de Hebb
. Normalmente, la auto correlación del conjunto de patrones almacenado determina los pesos en las redes auto asociativas. Por otro lado, la correlación cruzada de muchas parejas de patrones se usa para determinar los pesos de la red de Heteroasociación.

Clasificación no Supervisada:

para esta aplicación, los pesos sinápticos de la red son entrenados por la regla de aprendizage no supervisado, esto es, la red adapta los pesos y verifica el resultado basándose únicamente en los patrones de entrada.

Clasificación Supervisada:





esta clasificación adopta algunas formas del criterio de interpolación o aproximación. En muchas aplicaciones de clasificación, por ejemplo, reconocimiento de voz, los datos de entrenamiento consisten de pares de patrones de entrada y salida. En este caso, es conveniente adoptar las redes Supervisadas, como las bien conocidas y estudiadas redes de retropropagacion. Este tipo de redes son apropiadas para las aplicaciones que tienen una gran cantidad de clases con límites de separación complejos.



http://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html




PERCEPTRON

El cuerpo de la neurona se representa como un sumador lineal de los estímulos externos zj, seguida de una función no lineal yj = f(zj). La función f(zj) es llamada la función de activación, y es la función que utiliza la suma de estímulos para determinar la actividad de salida de la neurona.



El modelo perceptrón de McCulloch-Pitts, es la base de la mayor parte de las arquitectura de las RNA que se interconectan entre sí. Las neuronas emplean funciones de activación diferentes según la aplicación, algunas veces son funciones lineales, otras funciones sigmoidales (p.ej. la tanh), y otras funciones de umbral de disparo. La eficiencia sináptica se representa por factores de peso de interconección wij, desde la neurona i, hasta la neurona j.
Los pesos pueden ser positivos (excitación) o negativos (inhibición). Los pesos junto con las funciones f(z) dictan la operación de la red neuronal. Normalmente las funciones no se modifican de tal forma que el estado de la red neuronal depende del valor de los factores de peso (sinápsis) que se aplica a los estímulos de la neurona.
En un perceptrón, cada entrada es multiplicada por el peso W correspondiente, y los resultados son sumados, siendo evaluados contra el valor de umbral, si el resultado es mayor al mismo, el perceptrón se activa.

http://electronica.com.mx/neural/informacion/perceptron.html




R E D E S N E U R O N A L E S
Una red neuronal es un procesador masivamente paralelo distribuido que es propenso por naturaleza a almacenar conocimiento experimental y hacerlo disponible para su uso. Este mecanismo se parece al cerebro en dos aspectos:
  • El conocimiento es adquirido por la red a través de un proceso que se denomina aprendizaje.
  • El conocimiento se almacena mediante la modificación de la fuerza o peso sináptico de las distintas uniones entre neuronas.
Una red neuronal es un modelo computacional con un conjunto de propiedades específicas, como son la habilidad de adaptarse o aprender, generalizar u organizar la información, todo ello basado en un procesamiento eminentemente paralelo.
FUNCIONAMIENTO DE LA RED NEURONAL


Aprendizaje supervisado


Se introducen unos valores de entrada a la red, y los valores de salida generados por esta se comparan con los valores de salida correctos. Si hay diferencias, se ajusta la red en consecuencia.

Aprendizaje de refuerzo


Se introducen valores de entrada, y lo único que se le indica a la red si las salidas que ha generado son correctas o incorrectas.


Aprendizaje no supervisado


No existe ningún tipo de guía. De esta manera lo único que puede hacer la red es reconocer patrones en los datos de entrada y crear categorías a partir de estos patrones. Así cuando se le entre algún dato, después del entrenamiento, la red será capaz de clasificarlo e indicará en que categoría lo ha clasificado.
TOPOLOGIA DE UNA RED NEURONAL
Aunque inicialmente se desarrollaron redes de una sola capa, lo más usual es disponer tres o más capas: la primera capa actúa como buffer de entrada, almacenando la información bruta suministrada a la red o realizando un sencillo pre-proceso de la misma, la llamamos capa de entrada; otra capa actúa como interfaz o buffer de salida, almacenando la respuesta de la red para que pueda ser leída, la llamamos capa de salida; y las capas intermedias, principales encargadas de extraer, procesar y memorizar la información, las denominamos capas ocultas.
La arquitectura más usada en la actualidad de una red neuronal consistiría en:
  • Una primJustificar a ambos ladosera capa de entradas, que recibe información del exterior.
  • Una serie de capas ocultas (intermedias), encargadas de realizar el trabajo de la red.
  • Una capa de salidas, que proporciona el resultado del trabajo de la red al exterior.


Fuente:


I N T E L I G E N C I A A R T I F I C I A L


La Inteligencia Artificial es una ciencia que trata de la comprensión de la inteligencia y del diseño de máquinas que puedan realizar simulación de las actividades intelectuales del hombre

APLICACION

Aplicaciones en la Medicina

En la medicina en general la inteligencia artificial ayuda a los médicos a hacer diagnósticos, supervisar la condición de los pacientes, administrar tratamientos y preparar estudios estadísticos.

Aplicación en los Sistemas Productivos

Existe una tendencia creciente a la implementación de sistemas de manufactura/ensamblaje más autónomos e inteligentes, debido a las exigencias del mercado por obtener productos con niveles muy altos de calidad; lo cual con operaciones manuales se hace complicada y hace que los países subdesarrollados como el nuestro no alcance niveles competitivos a nivel mundial.

Aplicación en la Robótica

El interés de la IA en la robótica se centra en los agentes inteligentes que manipulan el mundo físico. Los robots son agentes físicos que realizan tareas mediante la manipulación física del mundo.

viernes, 13 de marzo de 2009

INTELIGENCIA ARTIFICIAL Y SUS APLICACIONES

Se denomina inteligencia artificial a la rama de la ciencia informatica dedicada al desarrollo de agentes racionales no vivos.

Agente es cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas).

Racionalidad es la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado. (Este concepto de racionalidad es más general y por ello más adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina).

De manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura.

Campos de aplicación en la Inteligencia Artificial

Lingüística computacional
Minería de datos (Data Mining)
Industriales.
Médicas
Mundos virtuales
Procesamiento de lenguaje natural (Natural Language Processing)
Robótica
Sistemas de apoyo a la decisión
Videojuegos
Prototipos informáticos

http://es.wikipedia.org/wiki/Inteligencia_artificial


Aplicación en el campo Medico o de la Salud

La aplicación de las técnicas de Inteligencia Artificial en el campo de la salud no es algo nuevo, ya en la década de los 80, los científicos trabajaban en la creación de programas de ordenador capaces de realizar diagnosis y recomendaciones terapéuticas. Desde entonces las líneas de investigación en este campo han cambiado desde la diagnosis en situaciones clínicas de rutina a centrarse en todo el espectro de los cuidados en salud definiéndose los nuevos instrumentos como Sistemas de Apoyo a la Decisión Clínica.
Las herramientas de la inteligencia artificial permiten, hoy día, apoyar la prescripción de medicamentos, dar soporte en la docencia y la obtención de resultados en laboratorios, realizar vigilancia clínica…

Véase más información en:
http://www.revistaesalud.com/index.php/revistaesalud/article/viewArticle/207/511


Aplicación en el campo Industrial

La incorporación de agentes de decisión inteligente, redes neuronales, sistemas expertos, algoritmos genéticos y autómatas programables para optimización de sistemas de producción es una tendencia activa en el ambiente industrial de países con alto desarrollo tecnológico y con una gran inversión en investigación y desarrollo. Dichos componentes de la Inteligencia Artificial tienen como función principal controlar de manera independiente, y en coordinación con otros agentes, componentes industriales tales como celdas de manufactura o ensamblaje, y operaciones de mantenimiento, entre otras. Existe una tendencia creciente a la implementación de sistemas de manufactura/ensamblaje más autónomos e inteligentes, debido a las exigencias del mercado por obtener productos con niveles muy altos de calidad; lo cual con operaciones manuales se hace complicada.

Véase más información en:
http://www.gestiopolis.com/Canales4/ger/inteartificial.htm


Aplicación en el campo de los videojuegos

Actualmente, cualquier acción que realiza un jugador dentro de un juego tiene que haberla previsto el desarrollador; el software fallaría si se le pidiera algo que no haya sido previsto y programado previamente. Por el contrario, un juego basado en una inteligencia artificial más sofisticada podría dar soluciones para las decisiones tomadas al vuelo por los jugadores.
El juego de Grand, Creatures es una representación de la evolución. En él, los jugadores deben enseñar a sus Norns (criaturas) a comer, hablar y defenderse por sí solos; éstos aprenden y se desarrollan de forma dinámica y, posteriormente, pasan una serie de rasgos genéticos a su prole.
Adam Rusell, jefe de programación de la Inteligencia Artificial de Fable, destacó ayer durante su ponencia en el encuentro Mundos Digitales 2005 que los videojuegos del futuro exigen, mayores dosis de inteligencia artificial. Russell señaló que en juegos como The Sims 2 se han añadido, en esta versión, características de deseos y miedos a los personajes, un paso más en dotar de “aspiraciones” y comportamientos a los “actores virtuales” que se recrean en este juego.
La inteligencia artificial podría definirse (en el mundo de los videojuegos) como el conjunto de algoritmos diseñados para simular un ser inteligente, con todo lo que eso conlleva, bajo un mundo virtual. Hay muchos lenguajes de programación que han sido concebidos para trabajar en la IA, como lisp o prolog.
En los juegos actuales, estos sujetos son capaces de reaccionar a nuestras acciones de una forma mucho más parecida a un ser humano. Juegos que son ejemplos evidentes de un buen diseño de IA podrían ser Metal Gear Solid 2 y 3, juegos de accion en primera persona (FPS) como Halo, o de estrategia/simulación como Los Sims.

http://www.nebulared.com/Terminos.php?term=5
http://www.meristation.com/v3/des_noticia.php?id=cw42c1cb555da67&pic=GEN
http://www.euroresidentes.com/Blogs/avances_tecnologicos/2007/04/videojuegos-e-inteligencia-artificial.html

jueves, 12 de marzo de 2009

¿3 aplicaciones que usan Intelignecia Artificial?

  • Robótica.- Teóricamente el uso de sistemas robóticos podría extenderse a casi todas las áreas imaginables en donde se necesite de la ejecución de tareas mecánicas, tareas hoy ejecutadas por el hombre o imposibles de ejecutar por él (por ej. una exploración sobre el terreno de la superficie marciana).

  • Sistemas Expertos.- Los sistemas expertos se basan en la simulación del razonamiento humano, (por ej. Control: Tiempo real y tiempo diferido).

  • Realidad Virtual.- En futuro se piensa crear realmente un mundo artificial, que esté inmerso por ejemplo dentro de una realidad virtual, en la cual podamos meternos, tener una mascota, enseñarle, zurrarle, hacer que esta mascota persiga conejos que a su vez aprendan a huir de ella, y que, en general, tenga una existencia totalmente independiente con respecto a nosotros

fuente: http://html.rincondelvago.com/inteligencia-artificial_16.html

¿Que es Inteligencia Artificial?

El sistema de decisiones de una máquina, creada o no por el ser humano, que muestre cierta inteligencia, al menos aparentemente, y que tenga las características de un sistema de impulso vital.
fuente: http://www.molwick.com/es/voluntad/150-inteligencia-artificial.html#texto