笔记四

本文介绍了在神经网络训练中如何准备数据,包括随机数的生成和int()函数的作用。详细讨论了偏移量b在加快训练过程中的作用,以及批量生成随机训练数据的优缺点。在练习部分,通过一个非线性问题的解决展示了将问题转化为线性方程组并用神经网络求解的过程,结果显示训练效果良好。
摘要由CSDN通过智能技术生成

5.3,准备训练数据

5.3.2,随机数

Python中的random包提供一个函数random,作用,在调用后产生一个[0, 1)范围内的随机小数。
产生[0, 99)之间的随机数,用random.random()*99
产生[0, 10)之间的随机数,用random.random()*10
在random.random()产生随机数之前,最好调用random.seed()来产生新的随机数种子。

>>>
>>> import random
>>> random.seed()
>>> random.random()
0.7240153658733561
>>> r = random.random() * 10
>>> print(r)
1.4500086238979748
>>> ri = int(r)
>>> print(ri)
1
>>>

附:int()的作用

>>>
>>> print(int(10.99))
10
>>> print(int(-10.99))
-10
>>>

我们发现,int()的作用其实是舍弃浮点数的小数部分,保留整数部分。并不是书中所讲的下取整。

5.4,完整训练代码

5.4.2,加入偏移量b加快训练过程

偏移量b的作用:在书中给出的场景下, w e i g h t × x weight \times x weight×x 的值范围在70~100,又因为激活函数 sigmoid 的突变区间大致是 [ − 5 , 5 ] [-5, 5] [5,5],所以激活函数 sigmoid 在自变量取 [ 70 , 100 ] [70, 100] [70,100] 区间中的值时恒为1,起不到分类的作用,故需要在 w e i g h t × x weight \times x weight×x 的基础上减去一个偏移量 b b b,使 w e

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值