Это точно Нейросеть? - PullRequest
0 голосов
/ 20 января 2020

Я сижу и работаю над этой программой день и ночь, изучая искусство создания нейронных сетей с нуля, но меняя значение X в строке для i в диапазоне (X): ничего не меняется. То есть сеть выдает одинаковый результат за один проход или за сотни тысяч. Это заставляет меня думать, что я борюсь с очень сложной операцией if, которая мне совсем не нравится, потому что эта сеть - мой проект для поступления в школу, и если я принесу обычную операцию сравнения в качестве проекта, меня выгонят из этого с позором. Кроме того, у меня есть проблема с умножением матриц, что значительно усложняет задачу и не позволяет мне двигаться.

import numpy as np
def Sigmoid(x):
    return 1/(1+np.exp(-x))
trn_inp=np.array([[1],[2],[3]])  #Массив 2 на 1. 2  строки и 1 столбец
trn_out=np.array([[1,2,3]]).T #Ожидаемые выходные данные
print("trn_inp now: \n"+str(trn_inp))
print("trn_inp matrix: "+str(np.shape(trn_inp)))
print("trn_out now: \n"+str(trn_out))
print("trn-out matrix: \n"+str(np.shape(trn_out)))
np.random.seed(1)
syn_wei=2*np.random.random((1,1))-1   #Создается массив размером x на y, который заполняется рандомными значениями от -1 до 1
#print(syn_wei)
o=1
for i in range(1):
    print("Try # "+str(o))
    out=Sigmoid(np.dot(trn_inp, syn_wei))
    err=trn_out-out
    adj=np.dot(trn_inp.T,err*(out*(1-out)))
    syn_wei+=adj
    o+=1
    print("=="*10)
    print("New weights: ")
    print(syn_wei)
    print("=="*10)
print("Out after refresh: ")
print(out)
new_inp=np.array([[8,2,3]]).T #Введение нового значения для сравнения
out=Sigmoid(np.dot(new_inp, syn_wei))
print("New out: "+str(out))
print(out)
#out_str="".join(str(x) for x in out)
#print(out_str)
out_flt=0
for k in range(0,len(out)):
    out_flt=out[k]
    #print(out_flt)
    if out_flt==0:
        print("No matches")
    elif out_flt>=0.5:
        print("May have matches")
    elif out_flt>=0.8:
        print("Match")
    else:
        print("ERROR")
#out_flt=float(out_str)
#out_int=int(out_str)
#print("Results for new situation : "+out_str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...