python神经网络入门---读书笔记(1)简单的神经网络

Neural Networks

神经网络:一种能够模仿人类的认知过程的数学模型,例如 AlphaGo、识别玩具,深度学习训练玩游戏,过滤垃圾短信。

#矩阵的点乘
A = [ ]
for i in range(3):
	A.append([ ])
	for j in range(3):
		A[i].append(1)
# print(A)
B = [ ]
for i in range(3):
	B.append([ ])
	for j in range(3):
		B[i].append(2)
# print(B)

C = [ ]
for i in range(3):
	C.append([ ])
	for j in range(3):
		C[i].append(A[i][j]*B[i][j])

上面的例子,首先看A,从头往下看,当i=0时,j=0,1,2 是第一行,都填充1;当i=1时,j=0,1,2 是第二行,都填充1;当i=2时,j=0,1,2 是第三行,都填充1;最后得到矩阵[[1,1,1],[1,1,1],[1,1,1]]

1 感知器模型
运算规则 y = w 1 x 1 + w 2 x 2 + w 3 x 3 y=w_1x_1+w_2x_2+w_3x_3 y=w1x1+w2x2+w3x3, 偏置为b ,计算误差包括均方误差,交叉熵误差,损失函数越小,网络解决问题能力越强,寻找损失函数最小值。

1.1 误差反向传播

误差导数 e ′ = d e d w e'=\frac{de}{dw} e=dwde,w为权值,e对y求导,y对w求导,不断改变连接权值,优化出解决问题,使输出和期望输出距离越来越小。

1.2 激活函数
对于非线性问题,提高网络拟合性能。

  1. sigmoid函数, f ( z ) = 1 1 + e − z f(z) = \frac{1}{1+e^{-z}} f(z)=1+ez1, f ( z ) ′ = f ( z ) [ 1 − f ( z ) ] f(z)^{'}=f(z)[1-f(z)] f(z)=f(z)[1f(z)],当z=0时,梯度消失,反向传播随之消失,解决方法是把输入z控制在[-a,a]范围内。
  2. tanh函数, f ( z ) = e z − e − z e z + e − z f(z) = \frac{e^{z}-e^{-z}}{e^{z}+e^{-z}} f(z)=ez+ezezez f ( z ) ′ = 1 − f ( z ) 2 f(z)^{'}=1-f(z)^2 f(z)=1f(z)2,梯度下降更快。
  3. ReLU函数
    2 单层神经网络
    输入层,隐含层,输出层
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值