示例#1
0
xmoid3 = lambda x: x * x * x * (1.0 / 6.0)
xmoidp3 = lambda x: 3 * x * x * (1.0 / 6.0)
xmoidpp3 = lambda x: 6 * x * (1.0 / 6.0)

xmoid4 = lambda x: x * x * x * x * (1.0 / 24.0)
xmoidp4 = lambda x: 4 * x * x * x * (1.0 / 24.0)
xmoidpp4 = lambda x: 12 * x * x * (1 / 0 / 24.0)

#bias = [[0.01],[0.01],[0.001],[0.0001],[0.00001],[0.0000001]]
bias = [[0.01], [0.01], [0.001]]
bias = []
machine = myfeedforward.MyFeedForward(
    [1, 1, 1, 1, 1, 1, 1, 1],
    [sigmoid, sigmoid, sigmoid, xmoid3, sigmoid, xmoid2, sigmoid, xmoid1], [
        sigmoidp, sigmoidp, sigmoidp, xmoidp3, sigmoidp, xmoidp2, sigmoidp,
        xmoidp1
    ], [
        sigmoidpp, sigmoidpp, sigmoidpp, xmoidpp3, sigmoidpp, xmoidpp2,
        sigmoidpp, xmoidpp1
    ], bias)

#machine = myfeedforward.MyFeedForward([1,1,1,1,1,1,1],[sigmoid,sigmoid,sigmoid,sigmoid,xmoid3,xmoid2,xmoid1],[sigmoidp,sigmoidp,sigmoidp,sigmoidp,xmoidp3,xmoidp2,xmoidp1],[sigmoidpp,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp3,xmoidpp2,xmoidpp1],bias)

#machine = myfeedforward.MyFeedForward([1,1,1,1,1,1],[sigmoid,sigmoid,sigmoid,sigmoid,xmoid2,xmoid1],[sigmoidp,sigmoidp,sigmoidp,sigmoidp,xmoidp2,xmoidp1],[sigmoidpp,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp2,xmoidpp1],bias)
weights = machine.initial_w()

for i in range(len(weights)):
    weights[i] = 1.0

plot = xyplotter.xyplotter(-1.0, 0.0, 1.0, 1.0, "Simple Plot for Raymond", 2)
示例#2
0
#xmoid2   = lambda x: x*x * 0.5
#xmoidp2  = lambda x: x
#xmoidpp2 = lambda x: 1.0
#xmoid3   = lambda x: x*x*x * (1.0/6.0)
#xmoidp3  = lambda x: 3*x*x * (1.0/6.0)
#xmoidpp3 = lambda x: 6*x   * (1.0/6.0)
#
#xmoid4   = lambda x: x*x*x*x * (1.0/24.0)
#xmoidp4  = lambda x: 4*x*x*x * (1.0/24.0)
#xmoidpp4 = lambda x: 12*x*x *  (1/0/24.0)

#bias = [[0.01],[0.01],[0.001],[0.0001],[0.00001],[0.0000001]]
bias = [[0.01], [0.01], [0.001]]
bias = []
machine = myfeedforward.MyFeedForward(
    [1, 20, 40, 1], [xmoid1, sigmoid, sigmoid, xmoid1],
    [xmoidp1, sigmoidp, sigmoidp, xmoidp1],
    [xmoidpp1, sigmoidpp, sigmoidpp, xmoidpp1], bias)

weights = machine.initial_w()

for i in range(len(weights)):
    weights[i] *= 1.0

nw = len(weights)

print "weights=", weights
m = [0.0] * len(weights)
v = [0.0] * len(weights)
beta1t = 1.0
beta2t = 1.0
示例#3
0
#xmoid2   = lambda x: x*x * 0.5
#xmoidp2  = lambda x: x
#xmoidpp2 = lambda x: 1.0
#xmoid3   = lambda x: x*x*x * (1.0/6.0)
#xmoidp3  = lambda x: 3*x*x * (1.0/6.0)
#xmoidpp3 = lambda x: 6*x   * (1.0/6.0)
#
#xmoid4   = lambda x: x*x*x*x * (1.0/24.0)
#xmoidp4  = lambda x: 4*x*x*x * (1.0/24.0)
#xmoidpp4 = lambda x: 12*x*x *  (1/0/24.0)

#bias = [[0.01],[0.01],[0.001],[0.0001],[0.00001],[0.0000001]]
bias = [[0.01], [0.01], [0.001]]
bias = []
machine = myfeedforward.MyFeedForward(
    [1, 15, 30, 1], [sigmoid, sigmoid, sigmoid, sigmoid],
    [sigmoidp, sigmoidp, sigmoidp, sigmoidp],
    [sigmoidpp, sigmoidpp, sigmoidpp, sigmoidpp], bias)
#machine = myfeedforward.MyFeedForward([1,13,26,52,1],[xmoid1,sigmoid,sigmoid,sigmoid,xmoid1],[xmoidp1,sigmoidp,sigmoidp,sigmoidp,xmoidp1],[xmoidpp1,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp1],bias)
#machine = myfeedforward.MyFeedForward([1,52,1],[xmoid1,sigmoid,xmoid1],[xmoidp1,sigmoidp,xmoidp1],[xmoidpp1,sigmoidpp,xmoidpp1],bias)

#machine = myfeedforward.MyFeedForward([1,1,1,1,1,1,1],[sigmoid,sigmoid,sigmoid,sigmoid,xmoid3,xmoid2,xmoid1],[sigmoidp,sigmoidp,sigmoidp,sigmoidp,xmoidp3,xmoidp2,xmoidp1],[sigmoidpp,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp3,xmoidpp2,xmoidpp1],bias)

#machine = myfeedforward.MyFeedForward([1,1,1,1,1,1],[sigmoid,sigmoid,sigmoid,sigmoid,xmoid2,xmoid1],[sigmoidp,sigmoidp,sigmoidp,sigmoidp,xmoidp2,xmoidp1],[sigmoidpp,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp2,xmoidpp1],bias)
weights = machine.initial_w()

for i in range(len(weights)):
    weights[i] *= 1.0

nw = len(weights)

print "weights=", weights
示例#4
0
#xmoid2   = lambda x: x*x * 0.5
#xmoidp2  = lambda x: x
#xmoidpp2 = lambda x: 1.0
#xmoid3   = lambda x: x*x*x * (1.0/6.0)
#xmoidp3  = lambda x: 3*x*x * (1.0/6.0)
#xmoidpp3 = lambda x: 6*x   * (1.0/6.0)
#
#xmoid4   = lambda x: x*x*x*x * (1.0/24.0)
#xmoidp4  = lambda x: 4*x*x*x * (1.0/24.0)
#xmoidpp4 = lambda x: 12*x*x *  (1/0/24.0)

#bias = [[0.01],[0.01],[0.001],[0.0001],[0.00001],[0.0000001]]
bias = [[0.01], [0.01], [0.001]]
bias = []
machine = myfeedforward.MyFeedForward(
    [1, 13, 26, 52, 1], [xmoid1, sigmoid, sigmoid, sigmoid, xmoid1],
    [xmoidp1, sigmoidp, sigmoidp, sigmoidp, xmoidp1],
    [xmoidpp1, sigmoidpp, sigmoidpp, sigmoidpp, xmoidpp1], bias)
#machine = myfeedforward.MyFeedForward([1,52,1],[xmoid1,sigmoid,xmoid1],[xmoidp1,sigmoidp,xmoidp1],[xmoidpp1,sigmoidpp,xmoidpp1],bias)

#machine = myfeedforward.MyFeedForward([1,1,1,1,1,1,1],[sigmoid,sigmoid,sigmoid,sigmoid,xmoid3,xmoid2,xmoid1],[sigmoidp,sigmoidp,sigmoidp,sigmoidp,xmoidp3,xmoidp2,xmoidp1],[sigmoidpp,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp3,xmoidpp2,xmoidpp1],bias)

#machine = myfeedforward.MyFeedForward([1,1,1,1,1,1],[sigmoid,sigmoid,sigmoid,sigmoid,xmoid2,xmoid1],[sigmoidp,sigmoidp,sigmoidp,sigmoidp,xmoidp2,xmoidp1],[sigmoidpp,sigmoidpp,sigmoidpp,sigmoidpp,xmoidpp2,xmoidpp1],bias)
weights = machine.initial_w()

for i in range(len(weights)):
    weights[i] *= 1.0

weights0 = weights[:]
m = [0.0] * len(weights)
v = [0.0] * len(weights)
beta1t = 1.0
示例#5
0
import myfeedforward5 as myfeedforward
import math, random

beta = 1.5
sigmoid = lambda x: math.tanh(beta * x)
sigmoidp = lambda x: beta * (1.0 / math.cosh(beta * x))**2
sigmoidpp = lambda x: -2.0 * beta * beta * math.tanh(beta * x) * (
    1.0 / math.sech(beta * x))**2
xmoid = lambda x: x * x
xmoidp = lambda x: 2 * x
xmoidpp = lambda x: 2
machine = myfeedforward.MyFeedForward(
    [1, 1, 1, 1, 1], [sigmoid, sigmoid, sigmoid, sigmoid, xmoid],
    [sigmoidp, sigmoidp, sigmoidp, sigmoidp, xmoidp],
    [sigmoidpp, sigmoidpp, sigmoidpp, sigmoidpp, xmoidpp])
weights = machine.initial_w()

alpha = 0.05
A = 0.1
for i in range(1000000):
    x = 2 * random.random() - 1
    e = A * x * x
    e1 = machine.evaluate([x], weights)[0]
    gg = machine.w_energy_gradient([x], [e], weights)
    error = gg[0]
    g1 = gg[1]
    for j in range(len(g1)):
        weights[j] -= alpha * g1[j]
    #print "x,e,e1,error,w=",x,e,e1,error,weights
    print x, e, e1, (
        e1 - e)**2, error, weights[0], weights[1], weights[2], weights[3]