第一章、神经网络如何工作
1.1 尺有所短,寸有所长
人类和计算机的对弈(合作)。
1.2 一台简单的预测机
即:输出---->计算---->结果,其中对结果的计算与已知正确答案的比较不断修正C的值使得误差值持续细化;对于编程语言来说,应当可以利用while循环来实现此类功能。个人觉得应该是监督学习的一部分。根据结果与已知真实示例进行比较得到的误差,调整内部参数,使预测更加精确。
1.3 分类器与预测器并无太大差别
通过一条直线(线性函数)来进行小虫的分类,通过对斜率的调整尽可能的将两种虫子区分开来。现在,这条直线就是小虫的分类器。
1.4 训练简单的分类器
开始时,利用一条随机的分界器,即y=Ax开始讨论。如果场景太过于复杂,也可考虑使用y=Ax+B的直线形式,函数的复杂程度往往决定着分类器的精准程度。对于某些特定的情况,数据或样本过多可能导致分类器即函数过拟合(over fitting),导致分类器不能正常工作。其中x坐标对应的y数值的选择决定着分类器是否可以工作良好。误差值(E)=(期望目标值 - 实际输出值)。期望目标值为某一x值对应的真实值,实际输出值是x对应的A计算出的值。正确的期望值t=(A+∆A),∆表示"微小的变化量"。
E=t-y=(A+∆A)x-Ax=(∆A)x
利用公式∆A=E/x求出∆A的值与原来的A相加,再次用下个实例对A进行检验。如果结果仍然不能令机器满意,则继续上述过程。但到此我才发现这是对单一样本的训练。此时应当对函数的参数适度改进(moderate)。
于是出现了下面的公式:
∆A=L(E/x)
L意为learning rate(学习率),这是一个在机器学习中被频繁使用到的单词。此处可参照https://www.cnblogs.com/lliuye/p/9471231.html