Код переписал с видео т. к. заинтересовался нейросетями, я расписал что как происходит и всё равно ничего не понял много массивов : )
Либо попробуйте ответить проще почему персептрон или нейрон так работает. Или может тут вообще всё неправильно (тогда как работает настоящий нейрон или персептрон)
package round1; //объявляем переменные public class PerseptronNetwork { private final int BIAS = 0; private final int WEIGHT = 1; private int numLayers; private int[] sizes;
//массив размеров равнен произвольному числу размеров и слои равны длине размера public PerseptronNetwork(int... sizes) { this.sizes = sizes; this.numLayers = sizes.length; } // массив feedforward со вложенным массивом входов private int[] feedForward1(int[] inputs) { // сейчас выходы ничему не равны int[] outputs = null; //перебор слоев i = 1 где слои это длина массива sizes = 3 for(int i = 1; i < numLayers; i++) { //новая переменная size = sizes[размер массива = i] теперь длина 2 числа 3 и 2 int size = sizes[i]; //новая переменная z = новому массиву где int[size = sizes[размер массива = i] - но sizes равно 3 2] int[] z = new int[size]; //новая переменная выходы = новому массиву где int[size = sizes[размер массива = i] - но sizes равно 3 2] outputs = new int[size]; //перебор size = sizes[размер массива = i] - но sizes равно 3 2, for(int j=0; j < size; j++) { //вложенный цикл перебирает входы, а они равны двум нулям for(int k=0; k < inputs.length; k++) { //z[j] = z[j] + WEIGHT * inputs[k] умножение ширины на длину входов и к ним прибавляется z[j] где j размер массива z z[j] += WEIGHT * inputs[k]; } // БИАС = БИАС + z[j] z[j] += BIAS;
public static void main(String[] args) { //передача произовольных значений 2 3 2 PerseptronNetwork net = new PerseptronNetwork(2, 3, 2); //передача входов 0 и 0 int[] inputs = {0, 0}; //забирают поле из другого метода передают туда 0 и 0 int[] outputs = net.feedForward1(inputs); //перебор i из длинны выходов for (int i = 0; i < outputs.length; i++) { //вывод на экран, выводятся две единицы в любых случаях кроме когда все нули на входе System.out.println(outputs[i]); } }
Либо попробуйте ответить проще почему персептрон или нейрон так работает.
Или может тут вообще всё неправильно (тогда как работает настоящий нейрон или персептрон)