Class NumericPerceptron

java.lang.Object
perceptron.Perceptron.NumericPerceptron
All Implemented Interfaces:
Perceptron<int[][],int[],double[]>

public class NumericPerceptron extends Object implements Perceptron<int[][],int[],double[]>
Implementación de un perceptrón numérico para clasificación binaria. Esta clase implementa el algoritmo clásico del perceptrón que puede aprender a clasificar patrones linealmente separables mediante el ajuste iterativo de pesos. El perceptrón utiliza una función de activación y un optimizador configurables, permitiendo flexibilidad en la implementación del algoritmo de aprendizaje.
Version:
1.0
Author:
YefraSoft
  • Constructor Details

    • NumericPerceptron

      public NumericPerceptron(int maxInter, Optimizer<double[],double[]> optimizer, ActivationFunction<Integer> activationFunction, Optional<Double> bias, Optional<Double> learningRate)
      Constructor del perceptrón numérico.
      Parameters:
      maxInter - Número máximo de iteraciones para el entrenamiento
      optimizer - Optimizador para actualizar los pesos
      activationFunction - Función de activación a utilizar
      bias - Valor opcional del bias (si no se proporciona, se usa 0.0)
      learningRate - Tasa de aprendizaje opcional (si no se proporciona, se usa 0.1)
  • Method Details

    • fit

      public double[] fit(int[][] datas, int[] labels)
      Entrena el perceptrón con los datos y etiquetas proporcionados. El algoritmo ajusta iterativamente los pesos hasta que todos los patrones sean clasificados correctamente o se alcance el número máximo de iteraciones.
      Specified by:
      fit in interface Perceptron<int[][],int[],double[]>
      Parameters:
      datas - Matriz de datos de entrenamiento donde cada fila es un patrón
      labels - Array de etiquetas correspondientes a cada patrón
      Returns:
      Array con los pesos finales después del entrenamiento
      Throws:
      IllegalArgumentException - si el número de patrones no coincide con el número de etiquetas
    • getBias

      public double getBias()
      Obtiene el valor actual del bias del perceptrón.
      Returns:
      El valor del bias
    • showStepByStepCalculations

      public void showStepByStepCalculations(int[][] testData, int[] expectedOutputs, double[] weights)
      Muestra los cálculos paso a paso para verificar el funcionamiento del perceptrón. Este método imprime la suma ponderada, la aplicación de la función de activación y la comparación con el resultado esperado para cada patrón de prueba.
      Parameters:
      testData - Datos de prueba para verificar
      expectedOutputs - Salidas esperadas para cada patrón
      weights - Pesos finales del perceptrón