神经网络练习

简单练习神经网络单层结构练习:
简单分类实现代码如下:
import numpy as np
import matplotlib.pyplot as plt

X = np.array([[1,3,3],
[1,4,3],
[1,1,1],
[1,0,2]])
Y = np.array([[1],
[1],
[-1],
[-1]])

W = (np.random.random([3,1])-0.5)*2
print(W)
#学习率
lr = 0.11
#输出
O = 0

def update():
global X,Y,W,lr
O = np.sign(np.dot(X,W))
W_C = lr*(X.T.dot(Y-O))/int(X.shape[0])
W = W+W_C

for i in range(100):
update()
print(W)
print(i)
O = np.sign(np.dot(X,W))
if (O == Y).all():
print(‘Finished!’)
print(‘epoch:’, i)
break

x1 = [3,4]
y1 = [3,3]

x2 = [1,0]
y2 = [1,2]

k = -W[1]/W[2]
b = -W[0]/W[2]

print(‘k=’,k)
print(‘b=’,b)
x_data = (0,5)
plt.figure()
plt.plot(x_data,x_data*k+b,‘r’)
plt.scatter(x1,y1,c=‘b’)
plt.scatter(x2,y2,c=‘g’)
plt.show()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值