Java教程

2021-09-10作业

本文主要是介绍2021-09-10作业,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述
在这里插入图片描述

import numpy as np
def andActivator(x):
if x > 0:
return 1
else:
return 0

class ganzhiji(object):
def init(self, x):
self.x = x
self.w = np.random.rand(2, 1)
self.b = np.random.rand(1, 1)
def forward(self):
self.y = np.zeros((4, 1))
for i in range(self.x.shape[0]):
self.y[i] = andActivator(np.sum(self.x[i] * self.w + self.b))
def backward(self, t, lr):
delta = np.zeros((4, 1))

    loss = 0

    for i in range(self.x.shape[0]):
        delta[i] = (self.y)[i] - t[i]
        '''
        a=delta[i]
        b=self.y[i]
        c=t[i]
        a=b-c
        '''
        loss -= delta[i]
        gradient_b = delta[i]
        self.b -= lr * gradient_b
        gradient_w = self.x[i].T * gradient_b
        self.w -= lr * gradient_w
    print(loss)
    print(self.w)
    print(self.b)

if name == ‘main’:
x = np.matrix([[1, 1],
[1, 0],
[0, 1],
[0, 0]])
t = np.matrix([[1],
[0],
[0],
[0]])
g = ganzhiji(x)
lr = 0.01

for i in range(1000):
    f = g.forward()
    b = g.backward(t, lr)
这篇关于2021-09-10作业的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!