import numpy as np
import math
import nn
number=5
y=[0,0,0,1,1]
x=[[5,2],[7,4],[5,6],[1,8],[2,10]]
eq=[[2,0,1],[3,0,1],[4,2,3]]
a=np.zeros([3,3])
e=np.zeros([5,number])
df=np.zeros([3,3])
for s in range(3):
for sx in range(3):
a[s][sx]=np.random.random()
for i in range(number):
e[0][i]=x[i][0]
e[1][i]=x[i][1]
tr=0
while tr<10:
tr=tr+1
sub2=nn.nn()
sub2.e=e
sub2.number=number
sub2.eq=eq
sub2.y=y
e1=sub2.makedata(a)
for eq1 in range(3):
for m in range(3):
a1=a
a1[eq1][m]=a[eq1][m]+0.01
sub2=nn.nn()
sub2.e=e
sub2.number=number
sub2.eq=eq
sub2.y=y
e2=sub2.makedata(a1)
df[eq1][m]=(e2-e1)/0.01
sig=0
for eq1 in range(3):
for m in range(3):
sig=sig+df[eq1][m]*df[eq1][m]
sig=math.sqrt(sig)
ax=np.zeros([3,3])
for eq1 in range(3):
for m in range(3):
ax[eq1][m]=a[eq1][m]-0.01*e1*df[eq1][m]/sig
sub3=nn.nn()
sub3.e=e
sub3.number=number
sub3.eq=eq
sub3.y=y
e3=sub3.makedata(ax)
print(e1)
print(e3)
最終更新:2018年02月14日 15:58