代码拉取完成,页面将自动刷新
同步操作将从 孟圣奇/machinelearning_homework 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import numpy as np
from sklearn.metrics import accuracy_score
def sigmod(x):
return 1.0/(1.0+np.exp(-x))
def wangluo(l,m):#建立多隐层神经网络
w1 = np.random.randn(2,l)
b1 = np.zeros(( 1 ,l))
w2 =np.random.randn(l,m)
b2 = np.zeros(( 1 ,m))
w3 = np.random.randn(m,2 )
b3 = np.zeros(( 1 ,2 ))
return w1,b1,w2,b2,w3,b3
t = np.zeros((200,2))
for i in range (200):
t[i,y[i]]=1
epsilon = 0.0008
w1,b1,w2,b2,w3,b3 = wangluo(10,10)
for i in range(1000):#开始迭代
a1 = sigmod(np.dot(x,w1)+b1)
a2 = sigmod(np.dot(a1,w2)+b2)
a3 = sigmod(np.dot(a2,w3)+b3)
delta3 = a3*(1-a3)*(t-a3)
delta2 = a2*(1-a2)*(np.dot(delta3,w3.T))
delta1 = a1*(1-a1)*(np.dot(delta2,w2.T))
w3 += epsilon * np.dot(a2.T, delta3)
b3 += epsilon * np.sum(delta3, axis=0)
w2 += epsilon * np.dot(a1.T, delta2)
b2 += epsilon * np.sum(delta2, axis=0)
w1 += epsilon * np.dot(x.T, delta1)
b1 += epsilon * np.sum(delta1, axis=0)
if (i+1)%100==0:
L = np.sum((a3 - t)**2)
y_pre = np.argmax(a3, axis=1)
acc = accuracy_score(y, y_pre)
print("每迭代100次的损失函数为:",L,"每迭代100次的准确率为:",acc)
if i ==999:
print(" ")
print("最终的损失函数为:",L,"最终的准确率为:",acc)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。