アットウィキロゴ

にゅうう^-^^

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