import math
def f(xx):
f1=1+math.exp(-1*xx)
return 1/f1
def g(ax):
g1=0
for i in range(5):
y1=ax[0]
for j in range(2):
y1=y1+ax[j+1]*x[i][j]
ys[i]=f(y1)
g1=g1+(y[i]-ys[i])*(y[i]-ys[i])
return g1
def dg(m):
h=0.01
g1=g(a)
ax=a
ax[m]=a[m]+h
g2=g(ax)
gg= (g1 - g2)/h
return gg
def ddg(m):
h=0.01
g1=dg(m)
ax=a
ax[m]=a[m]+h
g2=g(ax)
bx=a
bx[m]=a[m]+2*h
g3=g(bx)
d1=(g2-g1)/h
d2=(g3-g2)/h
gg= (d2 - d1)/h
return gg
y=[0,0,0,1,1]
x=[[2,3],[4,5],[5,2],[1,7],[2,2]]
a=[-2,0.7,0.5]
ys=[0,0,0,0,0]
de=[0,0,0]
for i in range(3):
de[i]=ddg(i)
print(de)
最終更新:2018年01月03日 13:17