利用神经网络进行手写体识别
两种重要的人工神经网络:感知机,sigmoid神经元。
神经网络标准学习算法:sgd(随机梯度下降)
Perceptrons(感知机)
二进制输入 x1,x2,x3...
sum=∑jwj∗xj ,其中 wj 是对应输入项的权重。
output={
0,1,if sum≤thresholdif sum>threshold
当我们将多个感知机级联起来,能得到一个更加丰富的函数网络,如下:
层级的关系,可以使得输入到输出的决策趋于抽象,从而在最终层得出一个抽象层次最高的决策。
当我们将感知机的公式进行简化:
f(wx+b)={ 0,1,if wx+b≤0if wx+b>0x= 一条样本输入的行向量, w= 感知机权重的列向量, b=−threshold
感知机不仅可以权衡输入,还能实现电路逻辑函数。
上图实现了nand(与非)逻辑运算。因此感知机网络可以像普通逻辑电路一样实现任意的函数。下图是对 ⊕ 运算符的实现:
到目前为止,感知机网络似乎就是另一种形式的逻辑电路。但是,利用学习算法,我们可以借助外部的数据刺激,使网络中的参数自动地调整,以得到期望的函数结果。
Sigmoid 神经元
期待的学习算法:对参数进行细微的调整 Δw ,得到输出结果细微的改变 Δoutput ,根据 Δoutput 继续对参数进行细微的调整,直到最优。
通过上述感知机的定义公式,可以发现, limz→0+f(z)≠lim