Está en la página 1de 11

Neurona de McCulloch-Pitts

Ms. Ing. Jairo E. Mrquez D.


Introduccin
Las redes neuronales articiales son objetos matemticos o computacionales que
se denen en un intento de simular el cerebro humano en un ordenador.
Computacionalmente suponen un modelo distinto a la tradicional mquina de
Turing o de procesamiento en serie. Una red neuronal articial permite un
procesamiento altamente paralelo, al menos en teora (es claro que si se
implementan en un ordenador convencional con su procesamiento en serie, el
procesamiento de la informacin deja de ser realmente paralelo).

Una red neuronal tiene capacidad para aprender y adaptarse a nuevas


condiciones del entorno, como las redes reales; en nuestro caso, esas condiciones
de contorno vienen dadas por los valores en las seales de entrada de la red. Se
pueden distinguir modelos de redes neuronales con diversos tipos de aprendizaje:
el aprendizaje puede ser no guiado o guiado, y dentro de que sea guiado, el
modelo de profesor puede variar.
Como el cerebro humano, un red neuronal articial ha de ser un sistema robusto,
al que la prdida de algunas de sus unidades constituyentes (las neuronas) no
afecte de forma signicativa a efectos de resolver los problemas para los que se
disee.

El primer modelo de neurona, propuesto por McCulloch y Pitts en los aos 40, es
un combinador lineal: la neurona realiza una combinacin lineal de las seales de
entrada, cada una de las cuales tiene su peso, jo o no, y en funcin del valor
obtenido puede activarse o no (si supera un cierto valor umbral, se activa y
devuelve una salida; si no, devuelve otro). El modelo puede mejorarse aplicando la
salida de la combinacin lineal a una cierta funcin, generalmente diferenciable,
aunque ello no es imprescindible, y comparar el valor que toma la funcin con el
valor umbral para determinar si la neurona se activa o no.
Una red neuronal se puede representar
mediante un grafo dirigido, donde cada nodo
representa una neurona, y las aristas
representan las conexiones entre las
mismas. Es claro que el grafo es dirigido,
pues las seales que se envan las neuronas
entre s son siempre en el mismo sentido (y
por tanto, tiene sentido que las aristas sean
dirigidas). Lo que s puede ocurrir, y de
hecho ocurre en todos los modelos
recurrentes de redes neuronales, es que la
salida de una neurona inuya en sus propias
entradas; es decir, una neurona se puede
realimentar.
Una red neuronal puede ser entrenada para que realice unas determinadas
tareas. Una de las formas ms comunes de realizar dicho entrenamiento es
proporcionar a la red un determinado conjunto de entradas y las correspondientes
salidas que se esperan para esas entradas. De ese modo las neuronas de la red
podran, si por ejemplo estuviramos trabajando con una red formada por
neuronas de McCulloch-Pitts, ajustar sus pesos para conseguir obtener los
resultados deseados. Adems, si se trabaja previamente sobre el problema a
resolver, se puede disear la estructura de la red de forma que resulte ms
sencillo el tratamiento del mismo.
En general, se espera de una red neuronal articial que responda de forma similar
ante entradas parecidas; es decir, que la red tenga capacidad de generalizacin.
Para comprobar si dos entradas son parecidas se puede medir la distancia
(vectorial) entre ambas, o utilizar cualquier otro tipo de medida que tenga sentido
en el contexto del problema que estemos resolviendo.
El modelo neuronal de McCulloch y Pitts fue el primer modelo neuronal moderno, y
ha servido de inspiracin para el desarrollo de otros modelos neuronales. Sin
embargo, en muchos de los estudios en que refieren a este modelo, no se
interpreta correctamente el sentido que quisieron dar originalmente McCulloch y
Pitts, atribuyndole caractersticas o funciones que no fueron descritas por sus
autores, o restndole importancia a la capacidad de procesamiento del modelo.
Por otro lado, el modelo McCulloch-Pitts por s mismo est retomando importancia

debido a que es uno de los pocos modelos digitales en tiempo discreto y, como
para realizar implantaciones electrnicas o computacionales de las neuronas
artificiales en la actualidad se utilizan sistemas digitales, con la mayora de los
modelos analgicos actuales es necesario realizar ciertas adaptaciones a los
modelos al momento de implantarlos, lo que dificulta y hace imprecisa a dicha
implantacin con respecto al comportamiento terico derivado del modelo.
Definicin
En trminos generales, la neurona de
McCulloch-Pitts es una unidad de clculo 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 clculo en una neurona
consiste en realizar una suma ponderada de
las entradas, seguida de la aplicacin de una
funcin no-lineal, como se ilustra en la
siguiente figura

Esto se expresa matemticamente como

Donde

es la suma ponderada.
es el valor de la i-sima entrada (input).
es el peso (weights) de la conexin entre la i-sima entrada y la
neurona.

es el valor umbral (threshold)


o es la salida (output) de la neurona.
s es la funcin no-lineal conocida como funcin de activacin.

La funcin de activacin que se usa es

La suma ponderada se puede expresar de una manera ms compacta usando el


produto de matrices:

Con
y

son los vectores extendidos de pesos y de entrada, respectivamente.

Tambin se puede simplificar la representacin grfica de la siguiente manera:

La estructura matemtica formal en trminos de tablas de verdad de este tipo de


neurona son:

En este modelo tan


sencillo puede verse
que la activacin de la
neurona depende del
valor que tomen los
pesos y las entradas, de
forma que la variacin
de
stos
originan
distintas salidas para la
misma entrada a la
neurona. En la prctica,
los
pesos
de
las
neuronas se modifican sometiendo a la red a un entrenamiento, permitiendo que la
red realice una funcin determinada. Esta es la caracterstica que diferencia a una
red neuronal de una mquina algortmica clsica: una red neuronal no se
programa, se educa.

La red es capaz de retener y asociar el


conocimiento a travs de la adaptacin de los
pesos de las neuronas siguiendo una regla de
aprendizaje. Estas reglas son ecuaciones
expresadas en funcin de las entradas y
salidas de las neuronas y describen la forma
de variacin de los pesos. En definitiva, son el
instrumento empleado por las neuronas para
adaptarse a la informacin que se le
presenta.
Usos de las neuronas

Permite hacer funciones lgicas


Primera aproximacin a las redes neuronales
Capacidad de computacin universal (puede simular cualquier programa
computable)

Autmatas finitos (AF) equivalentes a clulas


Para cada clula existe un AF equivalente, para ello tenemos que:
1. Que del AF y la clula etiquetada con h = 2y se crea una entrada activadora
externa al circuito.
2. Se aade una rama excitadora para cada clula (a) que contenga h.
3. Aadir clula (a) con h=1 y que recibe 1 nica entrada del exterior,
correspondiente al smbolo inicial de la cadena.
4. Se aade una rama excitadora desde la salida de la clula (a) a cada una
de las clulas cuya etiqueta contenga a h.
5. Se introduce una clula con etiqueta F, con h = 2 y que recibe una nica
entrada externa, correspondiente al smbolo final de cadena.
6. Se aade una rama excitadora hacia la clula F desde cada una de las
clulas del circuito que enve al menos una rama excitadora hacia cualquier
clula cuya etiqueta contenga uno de los estados finales.
Perceptrn simple
Es un modelo de red neuronal propuesto por Rosemblatt (1959), es una red
monocapa con alimentacin hacia adelante. As que este tipo de red, es una
coleccin de neuronas similares a McCulloch-Pitts, con entradas continuas [0, 1],
umbral Tj y salida bipolar {1, 1}.
Tambin, puede entenderse como perceptrn la neurona artificial y unidad bsica
de inferencia en forma de discriminador lineal, que constituye este modelo de red
neuronal artificial, esto debido a que el perceptrn puede usarse como neurona
dentro de un perceptrn ms grande u otro tipo de red neuronal artificial.

El concepto ms bsico que permite comenzar a entender un perceptrn es


asociarlo a un sensor, ya sea de temperatura, humedad, nivel de lquidos, grado
de acidez, coloracin, densidad, etc. Es, en esencia, un dispositivo que, dada la
presencia de uno o varios fenmenos de entrada, permite representarlo(s)
mediante una seal de salida fcilmente reconocible. Ahora bien, si dotamos a
este simple dispositivo de varios canales de entrada (dos o ms), le habremos
agregado una notable mejora ya que podr discriminar o diferenciar entre
distintos fenmenos de entrada variables y entregarnos una salida que
representar el criterio diferenciador o resultado de la interaccin entre las
entradas.
El modelo biolgico ms simple de un perceptrn es una neurona y vice versa. Es
decir, el modelo matemtico ms simple de una neurona es un perceptrn, La
neurona es una clula especializada y caracterizada por poseer una cantidad
indefinida de canales de entrada llamados dendritas y un canal de salida llamado
axn. Las dendritas operan como sensores que recogen informacin de la regin

donde se hallan y la derivan hacia el cuerpo de la neurona que reacciona


mediante una sinapsis que enva una respuesta hacia el cerebro, esto en el caso
de los seres vivos.
Este tipo de red es capaz de aprender a clasicar patrones linealmente
separables.
Salida +1 si pertenece a la clase, 1 si no pertenece
Pesos determinan zonas de clasicacin separadas por un hiperplano (en el
caso de 2 entradas, la separacin sera una lnea)
Ejemplo: con dos entradas:

Minsky y Papert (1969) mostraron esta limitacin del perceptrn para


representar/aprender funciones no separables linealmente (ejemplo: XOR no
separable linealmente, necesita ms de 1 capa).
Cdigo de perceptrn en java para correrlo y probarlo, es slo una muestra, no es
general, est hecho para dos caractersticas, lo que deben hacer es ajustarlo y/o
completarlo.
import java.text.DecimalFormat;

public class Perceptron {


/** Vector de Pesos */
private double weights[] = {0.5,-0.1,0.2};
/**
* Patrones aumentados de nuestra Muestra de Entrenamiento:
* {Caracterstica #1, Caracterstica #2, Bias}
*
* */
private double entries[][] = {{1.5,3,1},{3.5,4,1},{1,2,1},
{4,2,1}};
/** Clases a las que pertenecen los vectores de la variable
entries*/
private double outputs[] = {0,1,0,1};
/** Razn de aprendizaje */
private double learningRate = 0.9;

public double[] getWeights(){


return weights;
}
public double[][] getEntries(){
return entries;
}
public double[] getOutputs(){
return outputs;
}

/** Funcin para calcular el net */


public double computeNet(double[] entrie){
double net = 0;
for(int i = 0; i < entrie.length; i++)
net += entrie[i] * weights[i];
if(net > 0)
return 1;
else
return 0;
}

/** Funcin para corregir pesos */


public void adjustWeights(double[] entrie,double net, double
output){
double e = (output - net) * learningRate;
for(int i=0; i < entrie.length; i++){
weights[i] = roundTwoDecimals(entrie[i] * e +
weights[i]);
}
}

/** Funcin para entrenar */


public void train(){

boolean mistake;
do{
mistake = false;
for(int i = 0; i < entries.length; i++){
double net = computeNet(entries[i]);
if(net != outputs[i]){
mistake = true;
adjustWeights(entries[i],net,outputs[i]);
}
}

}while(mistake);
}
public void outputFinalWeights(){
for(int i = 0; i< weights.length; i++){
System.out.println("Peso " + (i+1) +
weights[i]);

"=" +

}
}

public double roundTwoDecimals(double d) {


DecimalFormat twoDForm = new DecimalFormat("#.##");
return Double.valueOf(twoDForm.format(d));
}
public Perceptron(){
}
public static void main(String args[]){
Perceptron p = new Perceptron();
p.train();
p.outputFinalWeights();
}

Referencias
1. D. Michie, D.J. Spiegelhalter, C.C. Taylor (eds). Machine Learning, Neural
and Statistical Classification, 1994. [1]
2. R. Rojas. Neural Networks: A Systematic Introduction, Springer, 1996 .ISBN
3-540-60505-3.
3. Freund, Y. and Schapire, R. E. 1998. Large margin classification using the
perceptron algorithm. In Proceedings of the 11th Annual Conference on
Computational Learning Theory (COLT' 98). ACM Press.
4. Gallant, S. I. (1990). Perceptron-based learning algorithms. IEEE
Transactions on Neural Networks, vol. 1, no. 2, pp. 179-191.
5. Rosenblatt, Frank (1958), The Perceptron: A Probabilistic Model for
Information Storage and Organization in the Brain, Cornell Aeronautical
Laboratory, Psychological Review, v65, No. 6, pp. 386-408.
6. Minsky M L and Papert S A 1969 Perceptrons (Cambridge, MA: MIT Press)
7. Novikoff, A. B. (1962). On convergence proofs on perceptrons. Symposium
on the Mathematical Theory of Automata, 12, 615-622. Polytechnic Institute
of Brooklyn.

8. Widrow, B., Lehr, M.A., "30 years of Adaptive Neural Networks: Peceptron,
Madaline, and Backpropagation," Proc. IEEE, vol 78, no 9, pp. 1415-1442,
(1990).

También podría gustarte