import numpy as np
import math
import cal
link=[[2,0,1],[3,0,1],[4,2,3]]
x=[[2,1],[3,4],[5,6],[7,8],[9,10]]
y=[0,0,0,1,1]
number_var=2
number=5
number_eq=3
number_e=5
a=np.zeros([number_eq,number_var+1])
a[0][0]=0.4
a[0][1]=0.7
a[0][2]=0.5
a[1][0]=0.4
a[1][1]=0.7
a[1][2]=0.5
a[2][0]=0.4
a[2][1]=0.7
a[2][2]=0.5
sub=cal.cal()
sub.number=number
sub.number_eq=number_eq
sub.number_var=number_var
sub.number_e=number_e
sub.a=a
sub.x=x
sub.y=y
sub.link=link
de=sub.makedata()
print(de)
class cal:
def makedata(self):
e=np.zeros([self.number_e,self.number])
for tr in range(self.number):
e[0][tr]=self.x[tr][0]
e[1]import numpy as np
import math
[tr]=self.x[tr][1]
for eq in range(self.number_eq):
for tr in range(self.number):
z=self.a[eq][0]
for j in range(self.number_var):
s1=self.link[eq][j+1]
z=z+self.a[eq][j+1]*e[s1][tr]
s2=self.link[eq][0]
e[s2][tr]=1/(1+math.exp(-z))
de=0
for i in range(self.number):
de=de+(self.y[i]-e[4][i])*(self.y[i]-e[4][i])
return de
最終更新:2018年02月11日 18:14