人工神经网络是一种模拟人脑的结构和功能的计算机算法。它由输入层、隐藏层和输出层组成,并通过计算权值和偏差来模拟人脑的神经元之间的信息传递。
下面是一个用 Java 实现的人工神经网络的简单示例:
``` import java.util.Arrays;
public class ArtificialNeuralNetwork { // 输入层节点数 int inputLayerSize; // 隐藏层节点数 int hiddenLayerSize; // 输出层节点数 int outputLayerSize;
// 输入层到隐藏层的权值矩阵
double[][] weightsInputToHidden;
// 隐藏层到输出层的权值矩阵
double[][] weightsHiddenToOutput;
// 输入层到隐藏层的偏差向量
double[] biasInputToHidden;
// 隐藏层到输出层的偏差向量
double[] biasHiddenToOutput;
public ArtificialNeuralNetwork(int inputLayerSize, int hiddenLayerSize, int outputLayerSize) {
this.inputLayerSize = inputLayerSize;
this.hiddenLayerSize = hiddenLayerSize;
this.outputLayerSize = outputLayerSize;
this.weightsInputToHidden = new double[inputLayerSize][hiddenLayerSize];
this.weightsHiddenToOutput = new double[hiddenLayerSize][outputLayerSize];
this.biasInputToHidden = new double[hiddenLayerSize];
this.biasHiddenToOutput = new double[outputLayerSize];
// 初始化权值和偏差为随机值
for (int i = 0; i < inputLayerSize; i++) {
for (int j = 0; j < hiddenLayerSize; j++) {
weightsInputToHidden[i][j] = Math.random();
}
}
for (int i = 0; i < hiddenLayerSize; i++) {
for (int j = 0; j < outputLayerSize; j++) {
weightsHiddenToOutput[i][j] = Math.random();
}
biasInputToHidden[i] = Math.random