一、感知机 (Perceptron)
感知机由多个输入乘以权重,再加上偏置(bias),经过一个激活函数(阶跃函数),最后输出,如下图所示
以二元感知机为例:
binary classification, from Lboro University slides
分割的直线为,Tips:偏置b可以用输入为1,权重为b来代替,即
binary perceptron, from Lboro University slides
局限性:
单层感知机无法解决异或(XOR)问题
limitation, from Lboro University slides
从上图可以看出,多层感知机可以解决异或(XOR)这样的较复杂的问题,但是,没有方法去训练权重。因为通过最后一层的输出,我们可以调整最后一层的权重,但是,前面几层的权重,无法通过训练得来
二、激活函数(Activation Function)
激活函数具有非线性特征,神经网络中引入激活函数,可以使网络具有非线性特性
[图片上传失败...(image-ee237-1593752288567)]
如果一个激活函数有导数,那么就可以计算模型的每个参数的误差,从而可以看出每个参数对最终结果的影响,这就是反向传播(backpropagation)
在了解反向传播之前,先了解一下什么是损失函数。
三、损失函数
以图像分类为例,假设这只水懒由四个像素点组成(真实情况为)
otter picture, from CS321n (Stanford University)
然后使用训练好的线性分类器进行分类,最终用不同的训练好的分类器算出的结果就是score
scores, from Lboro University slides
在知道了score的计算过程之后,接下来就介绍损失函数
损失函数:,其中
为用其他分类器算出的score,
为用正确的分类器计算出的真实值,它的计算值用来反映跟真实值相比,这个分类器的误差大小
example from Lboro University slides
cat loss
car loss
airplane loss
前面[AI] 2机器学习实例中的也是损失函数的一种
四、反向传播(backpropagation)
导数链式法则:
导数在computational graph中的运用:
sample from Lboro University slides
result of computational graph, from Lboro University slides