Características de entrada y limitaciones de la Neurona M-P

Andres Felipe Ocampo
6 min readDec 30, 2023

Bien y para terminar el año 2023 finalizaremos lo comenzado en el artículo anterior, probablemente alguno de vosotros esté pensando que, claro, está bien algunas de las entradas o algunas de las preguntas que tenemos, por ejemplo X1 si es fin de semana, si X2 si tengo tarea que realizar, probablemente esta pregunta en vez de ser si tengo tarea, es si no tengo tarea que realizar, interesante reflexión no?.

Okay, porque cuando se activa la neurona, quiero decir que vamos al cine y que estrenan película hoy es otra buena opción. Sin embargo, algunos estaréis pensando, claro, pero esta otra pregunta que tenemos aquí, la de si está cerrado el cine. Lógicamente, si el cine está cerrado, es decir, si se activa este input, en este caso, si el cine está cerrado, da igual el resto de inputs no?.

Es decir, daría igual que fuese el fin de semana, daría igual que fuese que tuviese tarea, daría igual que estén en película, oque incluso no tuviera dinero, porque si se activa que el cine está cerrado, entonces la neurona tiene que devolverme “0" sí o sí, esta claro, porque no puedo ir a ver ninguna película, mmm me sospecho que algunas de los inputs pueden tener ciertos comportamientos que deberíamos conocer, estáis de acuerdo no?, pues vamos a ello.

Para solventar este tipo de casuísticas McCulloch y Pitts definieron dos tipos de inputs de características de entrada que básicamente vamos a denominar como Inputs Inhibidores y exitadores, fijaros, los excitadores, por decirlo de alguna manera, serían este X1, X2 y X4 que vemos aquí.

X1 -> ¿Es fin de semana? -> Si o No

X2 -> ¿Tengo tareas a realizar? -> Si o No

X3 -> ¿Está el cine cerrado? -> Si o No

X4 -> ¿Estrenan película hoy? -> Si o No

X5 -> ¿Tengo dinero? -> Si o No

Son preguntas que para que nuestra neurona se active o no se active tenemos que hacer esa agregación, tenemos que hacer ese sumatorio, contarlos y en el caso de que sea más que el threshold o límite se activará.

En el caso de que sea menos, no se activará. En el caso de los inhibidores la cosa cambia de acuerdo y este tipo de input se corresponderían con estos que veíamos aquí X3 y X5 cuando un inhibidor se activa en este caso que el fin está cerrado o que no tengo dinero, entonces esa neurona siempre va a devolver cero, es decir, no se va a activar la neurona independientemente del valor que reciba en el resto de inputs.

Cuando se activa un input que es un inhibidor, la neurona básicamente no se activa y devuelve siempre cero, tenerlo en cuenta. Fijaros que en este caso tendría todo el sentido del mundo. Da igual que se activen el resto de inputs x1, x2, x3 o x4 que si x3 o el x5 está activo, es decir, es igual a 1.

En este caso quiere decir que el fin está cerrado. La neurona siempre nos va a devolver cero independientemente del resto, porque este input es un inhibidor. Bien, pues esto que vemos aquí es la neurona de McCulloch y Pitts (Neurona M-P), esa primera neurona artificial que se crea que como podemos ver es una neurona con un funcionamiento muy simple, pero que ya nos permite tomar ciertas decisiones. De hecho, nos permite incluso representar ciertas puertas lógicas, operaciones lógicas, como por ejemplo la funcion and() o la funcion or().

Imaginaros que esta es la neurona y yo tengo dos inputs X-1 y X-2, los dos inputs son exitadores, en este caso, y tengo aquí este output, sería tan sencillo como que yo estableciese un threshold o límite de dos para representar la función lógica and(), es decir, si X1 esta activo y X2 también está activo, entonces la neurona se activa.

Sin embargo, si uno está activo pero el otro no. Entonces solamente tendríamos un input activo como threshold o límite de dos, la neurona no se activaría, lo mismo ocurriría para representar, por ejemplo, la función lógica or().

En este caso, lo que haríamos sería modificar nuestro threshold o límite, lo pondríamos como igual a 1 y en este caso de la misma manera que veíamos anteriormente, en el caso de que X1 esté activo y X2 no esté activo, entonces nosotros tendríamos la neurona activa. En el caso de que los dos estén activos, la neurona también estaría activa, y en el caso de que ninguno de ellos estuviese activo, entonces nuestra neurona no estaría activa porque no sumarían uno, que es el valor de nuestro threshold o límite. Entonces, fijaros, es una neurona sencillita pero que ya nos permite incluso representar algunas funciones lógicas, como por ejemplo and(), or(), etc.

Bien, pues para terminar con la neurona de McCulloch y Pitts, me gustaría hablar un poquito de las limitaciones que tiene. Aparentemente tiene algunas limitaciones que son evidentes, que son obvias, por ejemplo, que únicamente recibe valores binarios {1,0} y el output también va a ser un valor binario {1,0}. Fijaros que la mayoría de los problemas que nosotros vamos a querer resolver con algoritmos de inteligencia artificial, pues el input no van a ser valores binarios.

  • Pues por ejemplo, si quiero clasificar una imagen, esa imagen no va a ser un valor binario, o si quiero que sea predecir el precio de una casa o cualquier cosa, ese precio, esos inputs que va a recibir, no van a ser valores binarios.
  • Bien, por otro lado, también tiene otra limitación bastante grande que realmente comparte con algunos algoritmos o con algunas técnicas de machine learning. Y es que tenemos que seleccionar el threshold o límite de manera manual. Tenemos que definir el número de valores de entrada, a partir del cual cuando estén activos esa función, esa neurona se va a activar y a partir del cual en el caso de que haya menos activos que ese threshold o límite, esa neurona no se va a activar.
  • Fijaros, todas las entradas son iguales, esta es otra de las limitaciones que tienen. No se le puede asignar un mayor peso a una de las entradas. Si recordamos el ejemplo anterior, imaginaros que por ejemplo, la entrada de si tengo tareas que realizar. Pues para mí es más importante que si estrenan una película nueva o no. Por qué? Pues porque básicamente si yo no hago mis tareas, ya sean mis tareas de la universidad, mis tareas del trabajo, lo que sea, pues probablemente vaya a tener problemas al día siguiente o en el futuro, con lo cual yo le quiero dar más peso a esa característica de entrada que por ejemplo, a la de si estrenan una película. Pues no hay ninguna forma, utilizando este algoritmo de proporcionar más peso a estas características de entrada que pueden ser más relevantes para nosotros.
  • Y por último, y una de las cosas más importante es que no son capaces de resolver problemas que no sean linealmente separables. Hasta ahora hemos visto que son capaces de resolver problemas o de representar funciones lógicas, como por ejemplo and(), or(), etc. Pero estos problemas son linealmente separables.

Lo veremos más adelante con un ejercicio práctico, ¿Qué quiere decir esto de que sean linealmente separables? otras funciones lógicas más complejas, como por ejemplo la función XOR() es una función, para resolver este tipo de problemas necesitamos construir un límite de decisión que no sea lineal, es decir, es un problema que no es linealmente separable y por lo tanto este tipo de algoritmo, la neurona de McCulloch y Pitts, no va a ser capaz de resolver este tipo de problemas. Bien, pues esto es todo sobre la neurona de McCulloch y Pitts, la primera neurona artificial de la historia y para el próximo año 2024, vamos a ver cómo evoluciona esta neurona hacia lo que hoy en día conocemos como el Perceptrón, así que apretaros el cinturón que vienen curvas chaval@s.

--

--