第一部分 神经网络如何工作(1.1-1.2)

1.1 尺有所短,寸有所长

  总结来说,就是一些任务比如数百万数字乘法运算这种对于计算机很容易,而图像识别这种对人类来说很容易。

1.2 一台简单的预测机

  书中举了一个例子:假设不知道千米和英里之间的转换方式,仅仅知道两者关系是线性的,并且有两组正确的千米/英里匹配的数值对示例,如下所示。

真实示例

千米

英里

1

0

0

2

100

62.137

  线性关系的形式应该为“英里 = 千米 * C”,其中C为常数,但是现在还不知C是多少。

  其实如果是用人类的思维,马上可以想出两点确定一条直线,C =(62.137 - 0)/ (100 - 0),马上可以计算出C。但是站在计算机的角度,要怎么求出C?

计算机的做法

  1. 随手取一个随机的数值,不妨取C=0.5,那么千米=100时,计算得到的英里为50。
  2. 和真实示例给出的62.137相比,少了12.137. 这是计算结果与列出的示例真实值之间的差值,即误差。
  3. 现在已经知道这个C错了,不能很好的计算出真实示例2,而且已经知道误差,它可以指导机器取猜测得到第二个更好的C值。
  4. 将C从0.5增加到0.6看看会发生什么?计算得到的英里为60,误差值变得更小了,为2.137。这里使用之前得到的误差值指导如何改变C的值。因为希望输出值变得更大些,因此稍微增加了C的值。
  5. 重复这个过程,输出值60还是还小,再次微调C,这次调置0.7,发现误差值为-7.863。负号说明这次调动超了。
  6. 那如果从0.6调到0.61得到的误差值为1.137,所以这次微调是比较成功的。现在如果对这个误差感到满意的话,已经可以给出最终关系了;或者可以继续重复上面的内容。
  7. 其实每次的修正值取为误差值的百分比是比较科学的,因为大误差意味着较大的修正值,小误差意味着只需要小小地微调C值即可。

总结

  计算机的做法看似有些愚蠢、呆板,因为人在学校里学习代数知识求解数学和科学问题往往是一步到位,精确求解。但是,对于计算机来说,尝试得到一个答案,然后多次改进,这种迭代的方式更适合它的计算方式。

猜你喜欢

转载自www.cnblogs.com/shayue/p/10325187.html