Mostrando entradas con la etiqueta Clasificación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Clasificación. Mostrar todas las entradas

domingo, 30 de agosto de 2026

IA. Modelos

Perceptrón III.

IA. Modelos y paradigmas. Machine Learning

En las entradas anteriores hemos utilizado el problema del AND lógico para introducir el perceptrón y analizar su proceso de aprendizaje. El empleo de Calc como soporte nos ha permitido visualizar los datos, los cálculos y la evolución de los parámetros durante el aprendizaje.

Este planteamiento resulta apropiado desde el punto de vista didáctico, pero presenta dos limitaciones evidentes. Por una parte, el AND es un problema muy sencillo y completamente conocido, por lo que permite comprobar fácilmente el comportamiento del perceptrón, pero dice poco sobre su utilidad práctica. Por otra, aunque Calc resulta un excelente soporte para visualizar y seguir el funcionam iento de la arquitectura matemática del preceptrón, no constituye la forma más funcional de implementarlo.

Por tanto, el siguiente paso consiste en afrontar ambas limitaciones: utilizar un conjunto de datos que permita evaluar realmente el comportamiento del perceptrón y dotarlo de un soporte de ejecución que permita utilizarlo como un sistema de aprendizaje propiamente dicho. Antes de hacerlo, sin embargo, resulta necesario preguntarnos para qué podría ser útil un modelo de estas características en un contexto profesional concreto.

En nuestro caso, centraremos inicialmente la atención en algunos posibles ámbitos de aplicación del perceptrón en la intervención profesional de los orientadores educativos. Este planteamiento nos permitirá valorar sus posibilidades, pero también poner de manifiesto una cuestión fundamental: el perceptrón trabaja con una representación deliberadamente simplificada de la realidad, basada en una combinación lineal de variables.

El uso del problema AND como ejemplo puede llevar a pensar que esta representación está limitada a dos variables nominales y, por tanto, a una representación bidimensional. Sin embargo, esta limitación pertenece al ejemplo que hemos utilizado, no a la arquitectura del perceptrón. El modelo puede incorporar tantas variables de entrada como sea necesario, siempre que estas puedan representarse numéricamente.

Lo que sí es constitutivo del perceptrón clásico es la naturaleza de su salida: se trata de una clasificación binaria, es decir, la respuesta del modelo solo puede situarse en una de dos categorías, habitualmente representadas mediante los valores 0 y 1. Esta característica afecta también a las etiquetas del conjunto de datos, que deben expresar esas dos posibles clases.

Esta característica no constituye necesariamente una limitación para la intervención educativa, ya que existen numerosas situaciones en las que la decisión profesional puede formularse en términos dicotómicos: pertenencia o no pertenencia a una determinada categoría, presencia o ausencia de una situación de riesgo, necesidad o no de un determinado tipo de apoyo, etc. El problema radica en la dificultad de determinar qué variables son relevantes para establecer esa pertenencia y si la relación entre dichas variables y la categoría de destino puede representarse adecuadamente mediante una combinación lineal.

En otras palabras, el reto no consiste tanto en que la realidad educativa sea necesariamente incompatible con una clasificación binaria, sino en conseguir una representación de esa realidad en la que las variables seleccionadas permitan discriminar coherentemente entre las dos categorías. Cuanto más compleja sea la realidad que pretendemos categorizar, mayor será también la posibilidad de encontrar casos excepcionales que no encajen en la distribución general y que, por tanto, dificulten o impidan que una única frontera lineal separe correctamente ambas categorías.

Esta limitación puede contemplarse, sin embargo, desde otra perspectiva. Los casos en los que el perceptrón no consigue reproducir correctamente la etiqueta establecida constituyen precisamente aquellos en los que la regla aprendida por el modelo no resulta suficiente para explicar la categorización realizada. El perceptrón, por sí mismo, no puede determinar la causa de esa discrepancia: puede deberse a una variable no considerada, a una interacción entre variables que la combinación lineal no recoge o a las particularidades de un determinado caso. Pero sí puede señalar de forma objetiva dónde se produce esa discrepancia.

Desde esta perspectiva, el «fallo» del perceptrón puede adquirir un valor práctico. En lugar de considerar necesariamente los errores de clasificación como un resultado que debe ser eliminado, podemos utilizarlos como una señal para dirigir la atención del profesional hacia aquellos casos que merecen un análisis específico. El modelo establecería así una regla de clasificación a partir de los datos disponibles y, simultáneamente, pondría de manifiesto aquellos casos que se apartan de ella, sin pretender explicar por sí mismo las razones de esa discrepancia. Considero que esta posibilidad permite contemplar la utilidad del perceptrón desde una perspectiva diferente: no solo puede resultar útil cuando acierta en su clasificación, sino también —y potencialmente de forma especialmente interesante para la intervención profesional— cuando «falla», al señalar los casos en los que la regla aprendida no resulta suficiente y que, por ello, pueden requerir una valoración más detenida por parte del profesional.

Desde esta perspectiva, plantearemos el diseño y uso del perceptrón para abordar una situación potencialmente real en el ámbito de la intervención profesional de los Servicios de Orientación.

En proceso..............................................................

miércoles, 15 de julio de 2026

IA. Modelos

Perceptrón (II)

IA. Modelos y paradigmas. Machine Learning

Damos continuidad aquí a la entrada precedente. Una vez expuesta en ella el esquema de la arquitectura del perceptrón, vamos a desarrollar la forma en que se concreta cada una de sus partes. Empezaremos por cómo obtenemos z a partir de X₁ y X₂; de dónde procede esa operación, por qué se define del modo en que se define y cuál es el efecto esperado.

Cuando Rosenblatt ideo el perceptrón planteó como primer elemento de su arquitectura la operación siguiente: z=(X1*w1) + (X2*w2) + b. La elección de esta operación no fue casual. El perceptrón se desarrolla dentro de una tradición que buscaba construir modelos matemáticos simplificados de la actividad neuronal, iniciada por McCulloch y Pitts y desarrollada posteriormente por Rosenblatt. En este planteamiento, una unidad recibe diferentes señales, las integra y determina su activación a partir del resultado. Rosenblatt incorpora a esta estructura la posibilidad de modificar los pesos de las conexiones mediante aprendizaje.

Esta aproximación permitió convertir una determinada hipótesis sobre el procesamiento neuronal en un modelo matemático susceptible de aprendizaje, pero también implicó una considerable simplificación de la actividad de una neurona biológica. Conviene, por tanto, entender el perceptrón como un modelo computacional inspirado en la neurona, y no como una representación de su funcionamiento biológico.

En nuestro caso, la operación que integra las entradas puede expresarse como una suma ponderada: z=(X1*w1) + (X2*w2) + b, pero los dos términos que aparecen en esta expresión corresponden a las dos variables de entrada de la tabla AND. La formulación matemática del perceptrón permite, no obstante, ser ampliada a tantas entradas como requiera el problema: z=i=1∑nXiwi+b. Por tanto, AND determina nuestro ejemplo, no la estructura general del perceptrón. Las entradas tampoco tienen por qué ser necesariamente variables binarias: lo que importa para esta operación es que puedan representarse numéricamente y participar en la suma ponderada.

La utilización de pesos en la operación responde a una necesidad básica: las distintas entradas no tienen por qué ejercer la misma influencia sobre el resultado. Cada wᵢ permite ponderar la contribución de su correspondiente entrada Xᵢ, incluso en sentido positivo o negativo. El término bias (b) cumple una función diferente: permite desplazar el resultado de la suma ponderada y ajustar el nivel a partir del cual las entradas pueden conducir a una determinada respuesta. Ambos son, por tanto, parámetros de la función que el perceptrón deberá ajustar mediante aprendizaje y que veremos más adelante. De momento, nos interesa dejar clara su función en la formulación de esta suma ponderada.

Concretando lo anterior en el primer registro de nuestra colección de datos, la fórmula anterior modifica la composición de la tabla al implicar la creación de espacios (columnas) para la ubicación de los pesos y del resultado de la suma ponderada, lo que nos obliga a reformular la original en la hoja de Calc que hemos elegido como soporte del siguiente modo: De la tabla original...

X₁ X₂ y
0 0 0

... pasamos a...

X₀ X₁ X₂ w₀ (b) w₁ w₂ z y
1 0 0 0 0 0 0 0

Como punto de partida debemos entender que el sumatorio original (X1*w1) + (X2*w2) + b es ahora equivalente a (x0*w0) + (X1*w1) + (X2*w2) (1). Ello se debe a la introducción de la variable X₀ y la reformulación o equivalencia de b como w₀. Ambas transformaciones obedecen al interés por facilitar la expresión de la operación (de la suma ponderada) como el producto escalar de vectores (2). Pero para que la operación X₀*w₀ sea siempre igual a w₀, esto es, a b,que es como debe ser según se deduce de la equivalencia entre las dos fórmulas de la suma ponderada, X₀ debe tener un valor constante e igual a 1 (3).

Se debe observar, además, que estamos manteniendo el valor de la etiqueta (y) diferenciado de z, que resulta de la suma ponderada. Esto implica que no existe equivalencia entre el resultado de esa operación y el resultado esperado y (la etiqueta), debido a que todavía falta aplicar una segunda función que convierta el valor z en un resultado comparable con y, al que llamaremos y'. Será entonces y' el que podamos comparar con el valor esperado y. Esta función es la llamada función escalón.

La función escalón convierte el resultado cuantitativo z, obtenido mediante la suma ponderada, en una salida binaria y'. Para ello, evalúa una condición lógica que, en términos de programación, se puede expresarse mediante una estructura if: if z >= 0 then y' = 1 else y' = 0.

A nivel operativo, en cuanto a su expresión en nuestra hoja de cálculo, estas operaciones obligan de nuevo a modificar la estructura de nuestra tabla. Ahora..

X₀ X₁ X₂ w₀ (b) w₁ w₂ z y' y
1 0 0 0 0 0 0 0 0

... entendiendo que en cada una de las celdas situadas bajo el encabezado y' de nuestra hoja Calc está la función built-in equivalente =SI(D2>=0;1;0)

Una vez obtenida la salida y' mediante la función escalón, ya podemos compararla con el valor esperado y, es decir, con la etiqueta de cada observación. Esta comparación permite determinar si la respuesta obtenida (y') coincide con la esperada (y), cuestión que resolvemos mediante una simple resta (y-y'), cuyo resultado es 0, si se produce tal coincidencia (concordancia) o diferente de 0 en caso contrario (divergencia).

En términos de nuestro soporte, esto implica que deberemos añadir una nueva columna donde quede recogido el resultado de esta resta...

X₀ X₁ X₂ w₀ (b) w₁ w₂ z y' y y-y'
1 0 0 0 0 0 0 0 0 0

... ubicándose la fórmula correspondiente a y-y' en cada una de las celdas que se sitúan en la columna encabezada por la expresión y-y'. En nuestro caso, como valor primero obtenemos que y-y'= 0, lo que implica que el resultado es el esperado.

Cuando se da esta circunstancia, y-y'=0, no es necesario modificar los pesos, ya que los parámetros actuales han producido la respuesta correcta. Traducimos esto en que no es necesario activar el mecanismo de aprendizaje.

Esta situación puede repetirse con la entrada siguiente y con otras posteriores, pero no podemos concluir por ello que el aprendizaje haya finalizado. Para comprobarlo, debemos completar una época, que consiste en procesar una vez todos los ejemplos que forman parte de los datos de entrenamiento. En el caso de AND, por ejemplo, una época comprende las cuatro combinaciones posibles de x1 y x2. Al finalizarla podemos comprobar si se han producido errores y, en función de ello, determinar si el proceso de aprendizaje ha convergido.

Tenemos, por tanto, identificado que el llamado "aprendizaje" algorítmicamente requiere ser concretado dentro de una estructura condicional if, que consta necesarimente de dos términos; el primero de ellos implica la condición y-y'=0 y se concreta como respuesta como que los valores siguientes para la matriz de pesos wi, son los mismos que los precedentes. Dicho de otro modo, para nuestro ejemplo actual y siendo r2 el registro que sigue al precedente r1...



IF (y - y') = 0 THEN
    w0(r2) = w0(r1)
    w1(r2) = w1(r1)
    w2(r2) = w2(r1)
ELSE


En términos de concreción en nuetro soporte Calc necesitamos añadir tres nuevas columnas, una para cada nuevo valor wi' y establecer mediante asignación de contenido el valor de las originales celdas de las columnas wi la relación entre estas celdas y las que contienen los valores wi'. Cada celda wi' deberá contener la fórmula built-in que expresamos antes, una vez esté plenamente desarrollada (que no es ahora el caso).

A pesar de ello, por ir avanzando, implementaremos la nueva modificación de nuestro soporte calc para dar cabida a la estructura que será plenamente funcional en breve. Observese que los nuevos valores de los pesos (incluido w0 o bias se identifican como wi', aunque su sóla ubicación diferenciada de los wi operativos lo hace innecesario.

X₀ X₁ X₂ w₀ (b) w₁ w₂ z y' y y-y' w₀' w₁' w₂'
1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0

Y no lo es porque aun nos falta por saber cómo se concreta el procedimiento de aprendizaje del perceptrón cuando no existe coincidencia entre y e y', dicho de otro modo, cuando es necesario activar el procedimiento de modificación de los valores que son modificables (los pesos y el bias).

Obsérvese también que en la nueva reformulación de la tabla hemos incluído lo que sería el inicio del segundo registro, incluyendo los valores conocidos de sus Xi, pero también los valores Wi que derivan, por asociación de los precedentes Wi' del registro que precede. En este caso, esos valores Wi se generan automáticamente mediante copia o mediante asociación, tomando, por ejemplo, W0(r2) su valor del contenido de la celda W0'(r1) (4).

Aun tenemos pendiente explicar como se expresa la regla de aprendizaje del perceptrón cuando no se produce la igualdad entre y e y', esto es, cómo se concrea la segunda rama (Else) del condicional anterior.



IF (y - y') = 0 THEN
    w0(siguiente) = w0(actual)
    w1(siguiente) = w1(actual)
    w2(siguiente) = w2(actual)
ELSE
    w0(siguiente) = w0(actual) + η * (y - y') * X0
    w1(siguiente) = w1(actual) + η * (y - y') * X1
    w2(siguiente) = w2(actual) + η * (y - y') * X2
    

Analicemos ahora la fórmula del llamado "aprendizaje" generalizándola a partir de una de sus concreciones. Para W0, por ejemplo, tenemos que W0'= W0 + η * (y - y') * X0, luego podemos decir que Wi' = Wi + η * (y - y') * X0, siendo...

  • Wi' el valor que adquirirá el peso en la siguiente etapa del cálculo de z
  • Wi el valor precedente del peso. Obsérvese que es el único elemento de la fórmula que se suma al producto de los restantes
  • η (eta) es una constante (es la misma en cada una de las expresiones y a lo largo del todo el entrenamiento) que introducimos en la fórmula y que identificamos como tasa de aprendizaje (learning rate), que determina el tamaño del ajuste cuando el perceptrón "se equivoca". Como constante no resulta del propio "aprendizaje", siendo introducida por el programador como parte del algoritmo. Como tal elemento requiere su espacio en nuestra configuración Calc, lo que nos obliga a realizar una última modificación de nuestra hoja, con la peculiaridad que implica su carácter de constante.
X₀ X₁ X₂ w₀ (b) w₁ w₂ z y' y y-y' w₀' w₁' w₂' η
1 0 0 0 0 0 0 0 0 0 0 0 0 0,2
1 1 0 0 0 0
  • (y - y') es, como ya sabemos, el resultado de la diferencia entre y e y' que, como vemos participa de nuevo en la arquitectura del preceptrón. Ahora determinando la dirección del producto η * (y - y') * Xi, esto es, del ajuste de los sesgos
  • Finalmente, Xi es el valor que tiene la variable de entrada correspondiente al peso que estamos ajustando. Su participación en la fórmula hace que la corrección de cada peso tenga en cuenta la presencia y el valor de esa variable en el ejemplo que produjo el error. De este modo, no todos los pesos tienen necesariamente que modificarse en la misma medida: el ajuste de cada uno depende también del valor que tenía su correspondiente Xi.

Para finalizar, diremos que se considera lograda la convergencia cuando, tras aplicar el procedimiento de aprendizaje las veces que sea necesario (siempre en términos de épocas), persiste la igualdad y' = y para todos los registros de una época, lo que se traduce en que todos los Wi' = 0.

Los valores Wi que deberemos tomar como referencia para la fase de aplicación serán los correspondientes a W0, W1 y W2 del primer registro a partir del cual se mantiene la igualdad y' = y y, por tanto, la diferencia y − y' = 0 y los pesos permanecen inalterados. Estos serán los valores definitivos de los diferentes pesos, incluida la bias o W0 (5).

Documento. Desde este enlace puedes descargar el archivo Calc que contiene la versión heurístico y perceptrón del abordaje de AND.

NOTAS
1 Que es la fórmula que contiene la celda situada debajo de la b>cabecera z
2 Esta reformulación permite expresar la suma ponderada como un producto escalar, proporcionando una formulación matemática compacta y general que no depende del número de entradas y que facilita tanto su implementación computacional como la formulación del mecanismo de aprendizaje.
3 Estamos hablando de la propiedad del elemento neutro de la multiplicación. El 1 es el elemento neutro multiplicativo, porque cualquier número multiplicado por 1 permanece inalterado.
4 Realmente este procedimiento de asociación que genera los nuevos valores Wi resulta más difícil de explicar que de ejecutar. Analizar el funcionamiento del soporte Calc te va a permitir comprender la sencillez con la que se realiza con mucha mayor facilidad que lo que esta enrevesada explicación da a entender.
5 Debemos tener en cuenta que esa posición, el momento en que se produce la convergencia, va a depender de varios factores, incluyendo el tamaño de la variable que implementemos como tasa de aprendizaje. Ello obliga a adaptar el procedimiento de uso del perceptrón de nuestro soporte Calc a la realidad concreta que resulte del proceso de aprendizaje.