1 Star 0 Fork 957

杨超越 / machinelearning_homework_1

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
第四次作业补充.py 1.32 KB
一键复制 编辑 原始数据 按行查看 历史
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)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chaoyueyang/machinelearning_homework_1.git
git@gitee.com:chaoyueyang/machinelearning_homework_1.git
chaoyueyang
machinelearning_homework_1
machinelearning_homework_1
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891