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