Package perceptron.Perceptron
Class NumericPerceptron
java.lang.Object
perceptron.Perceptron.NumericPerceptron
- All Implemented Interfaces:
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 Summary
ConstructorsConstructorDescriptionNumericPerceptron
(int maxInter, Optimizer<double[], double[]> optimizer, ActivationFunction<Integer> activationFunction, Optional<Double> bias, Optional<Double> learningRate) Constructor del perceptrón numérico. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
fit
(int[][] datas, int[] labels) Entrena el perceptrón con los datos y etiquetas proporcionados.double
getBias()
Obtiene el valor actual del bias del perceptrón.void
showStepByStepCalculations
(int[][] testData, int[] expectedOutputs, double[] weights) Muestra los cálculos paso a paso para verificar el funcionamiento del perceptrón.
-
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 entrenamientooptimizer
- Optimizador para actualizar los pesosactivationFunction
- Función de activación a utilizarbias
- 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 interfacePerceptron<int[][],
int[], double[]> - Parameters:
datas
- Matriz de datos de entrenamiento donde cada fila es un patrónlabels
- 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 verificarexpectedOutputs
- Salidas esperadas para cada patrónweights
- Pesos finales del perceptrón
-