神经网络-单个神经元代码实现




#这里的激活函数用的是sigmod/逻辑回归函数
def prediction(row,weights):
	activation = weights[0]
	for i in range(len(row)- 1):
		activation += weights[i+1]*row[i]
	return 1.0 if activation >= 0.0 else 0.0

 

#权重更新
def renew_weights(train,learning_rate,how_many_epoch):
    weights = [0.0 for i in range(len(train[0]))]
    for epoch in range(how_many_epoch):
        sum_error = 0
        for row in train:
            y_prediction = prediction(row,weights)
            error = row[-1] - y_prediction
            sum_error += error**2
            weights[0] = weights[0] + learning_rate*error
            for i in range(len(row)-1):
                weights[i+1] = weights[i+1] + learning_rate * error * row[i]
        print('This is epoch: %d, our learning_rate is : %.4f, the error is : %.4f' % (epoch, learning_rate, sum_error))
    return weights





你可能感兴趣的:(神经网络,深度学习,python,神经网络)