Надо разобраться,что происходит в куске кода

Есть кусок кода нейронной сети, которую писал по инструкциям одного человека. Однако, я никак не могу понять, по какому принципу сравниваются два массива. Объясните на максимально понятном языке, а то мне крайне сложно понимать, что я делаю, если не представляю, основываясь на чем машина принимает решения.

trn_inp=np.array([[0,0,1,1],[1,1,1,1],[1,0,1,1],[0,1,1,1]])  #Массив 4 на 1. 4 списка по 1 значению

trn_out=np.array([[0,1,1,0]]).T   #Ожидаемые выходные данные    ЧТО ЭТО ЗНАЧИТ С ТОЧКИ ЗРЕНИЯ ЛОГИКИ?

np.random.seed(mt.ceil(dt_time.second/5)) #"зарождение семени" для генерации ранд. чисел
syn_wei=2*np.random.random((4,1))-1   #Создается массив размером x на y, который заполняется рандомными значениями от -1 до 1

Ответы (1 шт):

Автор решения: CrazyElf

.T - это транспонирование матрицы, можно было бы тоже самое написать и другим способом (таким как ниже в выводе), но так часто короче и понятнее.

import numpy as np
print(np.array([[0,1,1,0]]).T)

Вывод:

[[0],
 [1],
 [1],
 [0]]

То есть на входе нейросети у вас матрица размером 4x4, а на выходе - вертикальный столбец из 4-х элементов.

0 0 1 1     0
1 1 1 1 --> 1
1 0 1 1     1
0 1 1 1     0
→ Ссылка