Vous êtes sur la page 1sur 9

Universidad de Oriente

Núcleo Anzoátegui
Escuela de Ingeniería
Departamento de Computación y Sistemas

Adaline

Profesor: José Bastardo Alumno:


Marcano Isaias 23546998

Barcelona 12 de Marzo del 2019


PLANTEAMIENTO DEL PROBLEMA

Como acercamiento a la inteligencia artificial tenemos varios puntos de acceso y estrategias


posibles, entre ellas están los agentes que cumplen determinadas tareas bajo ciertos
criterio ya pre establecidos, también entre estas se encuentran aquellos que responden
ante estímulos externos para así responder de manera eficiente a las distintas situaciones
o peticiones a las que pueden llegar a tener que hacer frente.
Tomando en cuenta lo antes dicho podemos tener otra ruta de acceso a la implementación
de inteligencia artificial, una ruta un poco más orgánica por decirlo de una forma, esto se
hace mediante Redes Neuronales los cuales se pueden presentar como neuronas que
esperan cierto estimulo y que reaccionan antes el, diferenciándose de otros agentes debido
a que aprenden de estos estímulos a cómo reaccionar ante cada uno para así realizar cierta
actividad o para aprender a reconocer ciertos patrones o funciones inherentes de los
estímulos que está recibiendo, llegando así a no solo poder responder adecuadamente a
los estímulos conocidos, si no también aprendiendo a predecirlos y predecir si sus acciones
darán un resultado satisfactorio o incluso dando la opción de escoger el procedimiento más
acertado según su predicciones de la situación a la que se ha expuesto.
Tomando en cuenta lo antes dicho podemos ver que la red neuronal necesita de un
entrenamiento, un problema y un supervisor que será el que se encargara no solo de
presentar los estímulos y problemas si no, también de abstraer, verificar y enviar la
información a la red para realizar así su entrenamiento y mediante esto obtener la solución
o predicciones que pueda dar la red sobre los estímulos o el ambiente en el que se
encuentra.
Ya habiendo mencionado que es una Red Neuronal, podemos ver que es un sistema de
inteligencia artificial, así que podemos continuar a lo que es un perceptron simple, que no
es más que una única neurona la cual es capaz de discernir únicamente la solución para
todos aquellos problemas que son linealmente separables, es decir aquellos problemas que
solo pueden tener dos respuestas, positivo o negativo, dependiente esto de su lugar en el
plano.
Ante lo mencionado anteriormente podemos discernir que los problemas a solucionar son
aquellos que son linealmente separables en dos únicos conjuntos que estarán separados
por un híper plano separador creando así dos conjuntos, los cuales pueden ser de
aprobación y rechazo, de discernimiento entre objetos A y objetos B o incluso de predicción
de patrones.
El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples
decisiones y reconocimiento de patrones. Por ejemplo, se puede entrenar una red
para formar el tiempo pasado de los verbos en inglés, leer texto en inglés y manuscrito.
El Perceptrón multicapa (MLP) puede ser usado para la predicción de una serie de
datos en el tiempo; tal ha sido su éxito en la medición de la demanda de gas y electricidad,
además de la predicción de cambios en el valor de los instrumentos financieros.
Predicción de mercados financieros, diagnósticos médicos, el Perceptrón como
una red codificadora, el Perceptrón aprende a sumar enteros.
NETtalk es un Perceptrón que es capaz de transformar texto en ingles en sonido
individual (representaciones fonéticas) y la pronunciación con la utilización de un
sintetizador de voz; cuenta con aproximadamente 300 nodos de neuronas (siendo 80
en la capa escondida) y 20,000 conexiones individuales.
MARCO TEORICO

Neurona Biológica

Una neurona es una célula componente principal del sistema nervioso, cuya función
principal es recibir, procesar y transmitir información a través de señales químicas y
eléctricas gracias a la excitabilidad eléctrica de su membrana plasmática. Están
especializadas en la recepción de estímulos y conducción del impulso nervioso entre ellas
mediante conexiones llamadas sinapsis, o con otros tipos de células como, por ejemplo, las
fibras musculares de la placa motora.

Neurona computacional

La neurona de McCulloch-Pitts es una unidad de cálculo que intenta modelar el


comportamiento de una neurona "natural", similares a las que constituyen del cerebro
humano. Ella es la unidad esencial con la cual se construye una red neuronal artificial.

El resultado del cálculo en una neurona consiste en realizar una suma ponderada de las
entradas, seguida de la aplicación de una función no lineal, como se ilustra en la siguiente
figura

Perceptron Simple

El modelo biológico más simple de un perceptrón es una neurona y viceversa. Es decir, el


modelo matemático más simple de una neurona es un perceptrón. La neurona es una célula
especializada y caracterizada por poseer una cantidad indefinida de canales de entrada
llamados dendritas y un canal de salida llamado axón. Las dendritas operan como sensores
que recogen información de la región donde se hallan y la derivan hacia el cuerpo de la
neurona que reacciona mediante una sinapsis que envía una respuesta hacia el cerebro,
esto en el caso de los seres vivos.
Una neurona sola y aislada carece de razón de ser. Su labor especializada se torna valiosa
en la medida en que se asocia a otras neuronas, formando una red. Normalmente, el axón
de una neurona entrega su información como "señal de entrada" a una dendrita de otra
neurona y así sucesivamente. El perceptrón que capta la señal en adelante se extiende
formando una red de neuronas, sean éstas biológicas o de sustrato semiconductor
(compuertas lógicas).
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.
1 𝑠𝑖 𝑤 ⋅ 𝑥 − 𝑢 > 0
𝑓 ( 𝑥 ) = {{
0 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
Donde W es un vector de pesos reales y w ⋅ x es el producto escalar (que computa una suma
ponderada). u es el 'umbral', el cual representa el grado de inhibición de la neurona, es un
término constante que no depende del valor que tome la entrada.
El valor de f(x) (0 o 1) se usa para clasificar x como un caso positivo o un caso negativo, en
el caso de un problema de clasificación binario. El umbral puede entenderse como una
manera de compensar la función de activación, o una forma de fijar un nivel mínimo de
actividad a la neurona para considerarse como activa. La suma ponderada de las entradas
debe producir un valor mayor que u para cambiar la neurona de estado 0 a 1.

Adaline
El Adaline se puede tomar como la evolución de la neurona simple, es decir un perceptron
simple mejorado para poder resolver problemas que estén más allá de la lógica lineal base
transformando su punto base de la función, signo cuyos únicos resultados posibles son
funciones lineales, a una función sigmoidea, lo cual permite que esta función se transforme
en una función pseudo senoidal permitiendo de esta manera solucionar problemas de
mayor complejidad que los linealmente separables.
Esta función sigmoide suplanta la función signo como función de activación y tomara como
parámetro principal, al igual que la función signo, lo pesos y valores de los vectores de
entrada.
La ecuación base de esta función es:

1
𝑆𝑖𝑔𝑚𝑜 =
1 + 𝑒 𝑅/𝑈
Donde R es la multiplicación de los valores del vector de entrada por su peso y U es el
valor umbral utilizado como base para el procesamiento de la neurona.
Esta función sigmoide puede tomar 1 de 3 valores:
1 𝑆𝑖 𝐴 ≥ 1
𝐹(𝑥) = {0.5 𝑆𝑖 𝐴 ≅ 0.5
0 𝑆𝑖 𝐴 ≤ 0
MARCO METODOLOGICO

El proyecto se lleva a cabo mediante la implementación del adaline, que no es otra cosa
más que una única neurona entrenada para saber la colocación de función signo la cual se
ubica sobre el plano. El proyecto se realizara en java mediante la implementación de
JFreeChart, utilizando un conjunto de puntos prediseñado para mantener el problema y su
solución de una magnitud no solo manejable, si no también abarcables de manera sencilla.
Para ejemplificar el funcionamiento del adaline se ha presentado un experimento sencillo,
el cual consiste en enseñarle a una neurona a diferenciar entre dos objeto colocados en un
plano, siendo los que están por encima de la recta separadora del plano, cuadrados y por
debajo, círculos.
Mediante el entrenamiento por corrección de error, el cual se basa en darle a la neurona
un conjunto de aprendizaje el cual consta de los puntos a analizar y la solución o la respuesta
que debería de dar la neurona al sistema, tomando en cuenta esta respuesta, se hará o no
un reajuste a la recta que separa los dos objetos a diferenciar, viendo estos resultados la
propia neurona se autocorrige y en caso de cometer algún error reinicia el proceso de
aprendizaje, causando así que este se prolongue para dar al final una seguridad de que los
resultados obtenidos una vez acabe el entrenamiento serán satisfactorios, esto se lleva a
cabo de esta forma debido a que no se desea interrumpir el procesamiento de la neurona
ya que un entrenamiento intrusivo aunque un poco más efectivo lleva más tiempo de
proceso y disminuye su eficacia con respecto al tiempo de inicialización de la neurona.
Para definir la condición de parada de este proceso de corrección de errores se realizara una
corrección de errores basándose en la reducción del mismo para dejar este error porcentual por
debajo del 0.00001% y asegurar el correcto funcionamiento y entrenamiento del adaline.
RESULTADOS OBTENIDOS

En la siguiente imagen se ven los siguientes punto tomados para la ejemplificacion del
adaline se tomaron de menera de que el problema no fuera linealmente separable, con esto
se quiere decir que en vez de mantener los punto alineados de una manera de que un hiper
plano separador pueda crear una frontera entre ambos objetos, a diferencia de en el caso
del perceptron que permite solo problemas linealmente separables, el adaline nos permite
solucionar oproblemas que no cuenten con esta propiedad.

Al inicio del aprendizaje de la funcion de auste es elegida al azar la cual es ajustada cada
vez que la neurona se equivoca tomando como ecuacion de ajuste 𝑊 = 𝑊 +
1(ύ − ύ ´) ∗ 𝑋, donde W es el peso a ajustar, ύ − ύ ´ son el valor obtenido por la funcion de
aceptacion y el valor obtenido respectivamente y X es el valor de la varible asociada al plano
de implementacion, sea este x, y el valor umbral. Esta seccion es complemtamente igual al
perceptron simple, la mayor diferencia entre un percetron simple y el adalanie es el echo
de su aprendizje por minimixzacion de error y su capacidad de dicernir entre conjuntos que
no sean lineamente separables.
En este caso la funcion de activacion, es la que se encargara de verificar la veracidad de
respuesta y si es correcta la misma para luego pasar a hacer un reajustes o no, siendo la
funcion de activacion la siguiente:

1
𝑆𝑖𝑔𝑚𝑜 =
1 + 𝑒 𝑅/𝑈

Siendo sigmo la funcion sigmoide que se encargar de derivar los resultados en 1, 0 y 0,5
según sea el caso y dando asi la dualidad de este problema, pero gracias a su capacidad de
dicernir si un valor esta bien, mal o es acertado pero no es el punto apreciado, es capas de
tomar cierta cuvatura lo cual se refleja en mayor curvatura o mayor valor de cxambio en los
pasos mientras que mas cerca de 1 o de 0 este el valor resultante de la funcion sigmo. En
esta funcion tenemos R

𝑅 = (𝑢𝑚𝑏𝑟𝑎𝑙 ∗ 𝑤1 + 𝑥 ∗ 𝑤2 + 𝑦 ∗ 𝑤3)
es la multiplicación de los valores del vector de entrada por su peso y U es el valor umbral
utilizado como base para el procesamiento de la neurona que puede ser 1 o -1, siendo 1 en
este caso.
CONCLUSIONES

Como se podra apreciar en la siguiente imagen, la Neurona una vez entrenada fue capas de
reoconocer y difrenciar los dos conjuntos, uno del otro y agruparlos por color. Todo esto lo
logra despues de analizar los resultados y entrenarse durante al menos 8 ciclos de el
conjunto de entrenamiento, esto devido a que el la reduccion de error minimo de 0.00001%
tomado esto en cuenta la cantidad de veces la cual es repetida el entrenakiento en este
caso es menima devido a la poca cantidad de datos, lo cual es algo que no se espera de
problemas con una cantidad de datos mayores o con una mayor complejidad.

Por lo antes demostrado se puede decir que resulto como éxito la implementación del
adaline, cuya única neurona es capaz de diferenciar entre dos grupos de “objetos”
colocados en un plano mediante la diferenciación de su posición mediante sus coordenadas
en el plano y luego así representándolo en el mismo. A diferencia del perceptron simple, en
este caso tenemos dos puntos de inflexión lo cuales crean la función sigmoidea que
diferencia a los dos conjuntos, como se puede apreciar clara mente en la imagen antes
expuesta.

Vous aimerez peut-être aussi