APLICACIONES DEL BIOINFORMATICA PERCEPTRON UNIVERCIDAD NACIONAL DEL SANTA
INGENIERIA DE SISTEMAS E INFORMATICA
En informe presentan R AelMsiguiente OS SAM A M E se JO N A T H Alas N aplicaciones el perceptron en !a"a CICLOV
# BIOIN IOINF FORM ORMATICA TICA
PERCEPTRON DE 2 ENTRADAS El Perceptrón es un tipo de red neuronal artificial desarrollado artificial desarrollado por Frank Rosenblat,, también puede entenderse como perceptrón la neurona artificial y Rosenblat artificial y unidad básica de inferencia en forma de discriminador lineal, lineal , que constituye este modelo de red neuronal artificial, esto debido a que el perceptrón puede usarse como neurona dentro de un perceptrón más grande u otro tipo de red neuronal artificial.
Definición
El concepto más básico que permite comenzar a entender un perceptrón es asociarlo a un sensor, ya sea de temperatura, umedad, ni!el de l"quidos, grado de acidez, coloración, densidad, etc. Es, en esencia, un dispositi!o que, dada la presencia de uno o !arios fenómenos de entrada, permite representarlo#s$ mediante una se%al de salida fácilmente reconocible. &ora bien, si dotamos a este simple dispositi!o de !arios canales de entrada #dos o más$, le abremos agregado una notable me'or"a ya que podrá discriminar o diferenciar entre distintos fenómenos de entrada !ariables y entregarnos una salida que representará el criterio diferenciador o resultado de la interacción entre las entradas. El modelo biológico más simple de un perceptrón es una neurona y !ice !ersa. Es decir, el modelo matemático más simple de una neurona es un perceptrón, (a 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 a)ón. (as dendritas operan como sensores que recogen información de la región
$ BIOINFORMATICA donde se allan y la deri!an acia el cuerpo de la neurona que reacciona mediante una sinapsis que en!"a una respuesta acia el cerebro, esto en el caso de los seres !i!os. *na neurona sola y aislada carece de razón de ser. +u labor especializada se torna !aliosa en la medida en que se asocia a otras neuronas, formando una red. ormalmente, el a)ón de una neurona entrega su información como -se%al de entrada- a una dendrita de otra neurona y as" sucesi!amente. El perceptrón que capta la se%al en adelante se entiende 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 de salida
/onde
#un !ector binario$ a un nico !alor
#un solo !alor binario$ a tra!és de dica matriz.
es un !ector de pesos reales y
una suma ponderada$.
es el producto punto #que computa
es el 0umbral0, el cual representa el grado de inibición de
la neurona, es un término constante que no depende del !alor que tome la entrada. El !alor de
#1 o 2$ se usa para clasificar
como un caso positi!o o un caso
negati!o, en el caso de un problema de clasificación binario. El umbral puede pensarse de como compensar la función de acti!ación, o dando un ni!el ba'o de acti!idad a la neurona del rendimiento. (a suma ponderada de las entradas debe producir un !alor mayor que
para cambiar la neurona de estado 1 a 2.
&prendiza'e En el perceptrón, e)isten dos tipos de aprendiza'e, el primero utiliza una tasa de aprendiza'e mientras que el segundo no la utiliza. Esta tasa de aprendiza'e amortig3a el cambio de los !alores de los pesos.
2
% BIOINFORMATICA El algoritmo de aprendiza'e es el mismo para todas las neuronas, todo lo que sigue se aplica a una sola neurona en el aislamiento. +e definen algunas !ariables primero4
el
denota el elemento en la posición
el
el elemento en la posición
el
denota la salida de la neurona
el
denota la salida esperada
el
es una constante tal que
en el !ector de la entrada
en el !ector de peso
(os dos tipos de aprendiza'e difieren en este paso. Para el primer tipo de aprendiza'e, utilizando tasa de aprendiza'e, utilizaremos la siguiente regla de actualización de los pesos4
Para el segundo tipo de aprendiza'e, sin utilizar tasa de aprendiza'e, la regla de actualización de los pesos será la siguiente4
Por lo cual, el aprendiza'e es modelado como la actualización del !ector de peso después de cada iteración, lo cual sólo tendrá lugar si la salida difiere de la salida deseada . Para considerar una neurona al interactuar en mltiples iteraciones debemos definir algunas !ariables más4
denota el !ector de entrada para la iteración i denota el !ector de peso para la iteración i denota la salida para la iteración i
& BIOINFORMATICA denota un periodo de aprendiza'e
de
iteraciones
En cada iteración el !ector de peso es actualizado como sigue4
Para cada pare'a ordenada en
Pasar
a la regla de
actualización El periodo de aprendiza'e e)iste un !alor positi!o que4
se dice que es separable linealmente si y un !ector de peso
tal
para todos los .
o!ikoff #2567$ probo que el algoritmo de aprendiza'e con!erge después de un nmero finito de iteraciones si los datos son separables linealmente y
el nmero de errores esta limitado a4
.
+in embargo si los datos no son separables linealmente, la l"nea de algoritmo anterior no se garantiza que con!er'a.
Perceptron de 2 entradas en a!a
El 'm(ito e !a"a para comen)ar a crear c*igos para +ue el perceptron aprena, pac-age reneuronal$. import !a"a/util/0. pu(lic class Main 1
pu(lic static "oi main2String34 args5 1
6 BIOINFORMATICA
Scanner R 7 ne8 Scanner 2S9stem/in5. S9stem/out/println2: PERCEPTRON DE $ ENTRADAS :5. int n;
"#$ GENERAMOS LA TA%LA AND PARA 2 PESOS
A+u> generamos la ta(la an para $ pesos en el cual tenemos +ue tener en cuenta las
au=7
for2!7.!7n.!@@51
au=7au=$.
cont7.
cont$7.
grupo7#.
for2i7.i7
BIOINFORMATICA
if2cont77au=51
cont7.
grupo@@. G
if2grupoH$751
Ta(laAn3i43!47#.
cont@@.
Gelse1
Ta(laAn3i43!47#.
cont@@. G
Gelse1 for2int ?7.?n.?@@51
if2Ta(laAn3i43?477#51
cont$@@. G G
if2cont$7751
Ta(laAn3i43!47#.
Gelse1
Ta(laAn3i43!47#. G GG
BIOINFORMATICA
G S9stem/out/println2: S9stem/out/println2:
TABLA AND:5. Para :@n@: pesos:5.
for2!7.!7
for2i7.i7n.i@@51
if2Ta(laAn3!43i477#51 S9stem/out/print2: :@Ta(laAn3!43i4@: :5.
Gelse1 S9stem/out/print2Ta(laAn3!43i4@: :5. G G
S9stem/out/println25. G $/INGRASANDO LOS DATOS
Ingresamos los atos como son los pesos; el factor e apreni)a!e 9 el um(ral
S9stem/out/println25. ou(le34peso7ne8 ou(le3n@#4. int Jo7#. ou(le Ko7;e7.
BIOINFORMATICA
for2i7#.i7n.i@@51 S9stem/out/println2:nIngresa el peso :@i5.
peso3i47R/ne=tDou(le25. G S9stem/out/println2:Ingresa el "alor el um(ral:5.
Ko7R/ne=tDou(le25.
S9stem/out/println2:Ingresa el Factor e Apreni)a!e:5.
e7R/ne=tDou(le25.
%/ INCIA EL %UCLE PARA HALLAR LOS PESOS IDEALES A+u> se inicia el (ucle para ?allar los pesos ieales 9 si no sucee se usa el factor e apreni)a!e para +ue la neurona aprena
ou(le 34salia7ne8 ou(le3
8?ile2au=$751 au=$7.
BIOINFORMATICA
) 7 .
salias7::.
&/GENERAMOS LAS SALIDAS DE ACUERDO A LA TA%LA AND
S9stem/out/println2:nCalculano las salias///n:5.
for2!7#.!7
Su(Salia7.
for2i7#.i7n.i@@51
Su(Salia7Su(Salia@Ta(laAn3!#43i#40peso3i4. G
salia3!47Su(Salia@Ko0Jo.
salia3!47salia3!40#.salia3!47Mat?/roun2salia3!45.salia3!4 7salia3!4#.
if2salia3!4751
93!47#. Gelse1
93!47#. G
S9stem/out/println2:Salia :@!@:, :@salia3!4 @:t97:@93!45.
if293!47Ta(laAn3!#43n451 au=$7au=$@#.
# BIOINFORMATICA
salias7!@:; :@salias.
if2au=$77#51
)7!#. G GG
6/ HACEMOS EL AJUSTE DE LOS PESOS& SI ALGUNA SALIDA NO COINCIDE
CON LA TA%LA
if2au=$751 if2au=$77#51
S9stem/out/println2:nLa salia :@salias@: no coincie con la ta(lan:5.
Gelse1
S9stem/out/println2:nLas salias :@salias@: no coincien con la ta(lan:5. G
S9stem/out/println2: ITERACIN :@2it@#55. S9stem/out/println2:A!ustano los pesos///n:5. 3i#45.
for2i7#.i7n.i@@51 peso3i47peso3i4@2$0e0Ta(laAn3)43n40Ta(laAn3)4
## BIOINFORMATICA
peso3i47peso3i40#.peso3i47Mat?/roun2peso3i45.peso3i47pes o3i4#. S9stem/out/println2:El nue"o "alor el peso :@i@: es, :@peso3i45. G
Ko7Ko@2$0e0Ta(laAn3)43n40Jo5.
Ko7Ko0#.Ko7Mat?/roun2Ko5.Ko7Ko#. S9stem/out/println2:El nue"o "alor el Qm(ral es,
:@Ko5.
it@@.
Gelse1
S9stem/out/println25.
S9stem/out/println2:nLAS SALIDAS COINCIDEN CON LA TABLA; los "alores
for2i7#.i7n.i@@51 S9stem/out/println2:000 PESO :@i@: , :@peso3i45. G S9stem/out/println2:000 QMBRAL2Ko5, :@Ko5. S9stem/out/println2:n00 El Numero e iteraciones
fue, :@it5.
S9stem/out/println2:n:5. G G G
#$ BIOINFORMATICA
G Ap'(cac()n de perceptron en a!a
Ap'(cac()n de 'as sa'(das de' perceptron
#% BIOINFORMATICA
PERCEPTRON DE N ENTRADAS
#& BIOINFORMATICA
El 'm(ito e !a"a para comen)ar a crear c*igos para +ue el perceptron aprena, pac-age reneuronal$. import !a"a/util/0. pu(lic class Main 1
pu(lic static "oi main2String34 args5 1 Scanner R 7 ne8 Scanner 2S9stem/in5. S9stem/out/println2: PERCEPTRON DE N ENTRADAS :5. int n;
"#$ GENERAMOS LA TA%LA AND PARA N PESOS
A+u> generamos la ta(la an para N pesos en el cual tenemos +ue tener en cuenta las
au=7
for2!7.!7n.!@@51
au=7au=$.
cont7.
#6 BIOINFORMATICA
cont$7.
grupo7#.
for2i7.i7
cont7.
grupo@@. G
if2grupoH$751
Ta(laAn3i43!47#.
cont@@.
Gelse1
Ta(laAn3i43!47#.
cont@@. G
Gelse1 for2int ?7.?n.?@@51
if2Ta(laAn3i43?477#51
cont$@@. G G
if2cont$7751 Ta(laAn3i43!47#.
# BIOINFORMATICA
Gelse1
Ta(laAn3i43!47#. G GG G S9stem/out/println2: S9stem/out/println2:
TABLA AND:5. Para :@n@: pesos:5.
for2!7.!7
for2i7.i7n.i@@51
if2Ta(laAn3!43i477#51 S9stem/out/print2: :@Ta(laAn3!43i4@: :5.
Gelse1 S9stem/out/print2Ta(laAn3!43i4@: :5. G G
S9stem/out/println25. G $/INGRASANDO LOS DATOS
Ingresamos los atos como son los pesos; el factor e apreni)a!e 9 el um(ral
# BIOINFORMATICA
S9stem/out/println25. ou(le34peso7ne8 ou(le3n@#4. int Jo7#. ou(le Ko7;e7.
for2i7#.i7n.i@@51 S9stem/out/println2:nIngresa el peso :@i5.
peso3i47R/ne=tDou(le25. G S9stem/out/println2:Ingresa el "alor el um(ral:5.
Ko7R/ne=tDou(le25.
S9stem/out/println2:Ingresa el Factor e Apreni)a!e:5.
e7R/ne=tDou(le25. %/ INCIA EL %UCLE PARA HALLAR LOS PESOS IDEALES
A+u> se inicia el (ucle para ?allar los pesos ieales 9 si no sucee se usa el factor e apreni)a!e para +ue la neurona aprena
ou(le 34salia7ne8 ou(le3
# BIOINFORMATICA
8?ile2au=$751
au=$7. ) 7 .
salias7::.
&/GENERAMOS LAS SALIDAS DE ACUERDO A LA TA%LA
S9stem/out/println2:nCalculano las salias///n:5.
for2!7#.!7
Su(Salia7.
for2i7#.i7n.i@@51
Su(Salia7Su(Salia@Ta(laAn3!#43i#40peso3i4. G
salia3!47Su(Salia@Ko0Jo.
salia3!47salia3!40#.salia3!47Mat?/roun2salia3!45.salia3!4 7salia3!4#.
if2salia3!4751
93!47#. Gelse1
93!47#. G
# BIOINFORMATICA
S9stem/out/println2:Salia :@!@:, :@salia3!4 @:t97:@93!45.
if293!47Ta(laAn3!#43n451 au=$7au=$@#. salias7!@:; :@salias.
if2au=$77#51
)7!#. G GG
6/ HACEMOS EL AJUSTE DE LOS PESOS& SI ALGUNA SALIDA NO COINCIDE
CON LA TA%LA
if2au=$751 if2au=$77#51
S9stem/out/println2:nLa salia :@salias@: no coincie con la ta(lan:5.
Gelse1
S9stem/out/println2:nLas salias :@salias@: no coincien con la ta(lan:5. G
S9stem/out/println2: ITERACIN :@2it@#55. S9stem/out/println2:A!ustano los pesos///n:5.
$ BIOINFORMATICA
for2i7#.i7n.i@@51
3i#45.
peso3i47peso3i4@2$0e0Ta(laAn3)43n40Ta(laAn3)4
peso3i47peso3i40#.peso3i47Mat?/roun2peso3i45.peso3i47pes o3i4#. S9stem/out/println2:El nue"o "alor el peso :@i@: es, :@peso3i45. G
Ko7Ko@2$0e0Ta(laAn3)43n40Jo5.
Ko7Ko0#.Ko7Mat?/roun2Ko5.Ko7Ko#. S9stem/out/println2:El nue"o "alor el Qm(ral es,
:@Ko5.
it@@. Gelse1
S9stem/out/println25.
S9stem/out/println2:nLAS SALIDAS COINCIDEN CON LA TABLA; los "alores
for2i7#.i7n.i@@51 S9stem/out/println2:000 PESO :@i@: , :@peso3i45. G S9stem/out/println2:000 QMBRAL2Ko5, :@Ko5. S9stem/out/println2:n00 El Numero e iteraciones
fue, :@it5.
S9stem/out/println2:n:5.
$# BIOINFORMATICA
G G G G INGRESAMOS LA CANTIDAD DE PESOS DEL PERCEPTRON
$$ BIOINFORMATICA
INRESAMOS LOS DATOS,
$% BIOINFORMATICA
OBTENEMOS LA SALIDAS,