多层感知机

1 感知机

  1. 感知机是一个二分类模型,输出0或者1(或者-1,1),是最早的AI模型之一。
  2. 它的求解算法等价于使用批量大小为1的梯度下降。
  3. 它不能拟合XOR函数,导致了第一次AI寒冬。

算法如下:

Image

2 多层感知机

2.1 原理

多层感知机使用隐藏层和激活函数来得到非线性模型。

多层感知机可以学习两条分割线来解决XOR问题,两条分割线的分类结果相乘可以得到最终的分类结果。

多层感知机包含出入层,隐藏层和输出层,隐藏层的大小是超参数,输入输出层的大小是求解的问题决定的。

Image

激活函数需要是非线性的,如果激活函数是线性的,那么拟合函数的输出还是线性函数。

当处理多分类问题时,输出用softmax来处理, 并且可以增加多个隐藏层来提高模型的拟合能力。

超参数:隐藏层数,每层隐藏层大小。

2.2 常见的激活函数

  1. Sigmoid 将输入投影到(0,1)。
  2. Tanh 将输入投影到(-1,1)。
  3. ReLU激活函数max(x,0)-优势是算起来很快。

3 从0开始实现代码

代码链接

4 使用pytorch简单实现

代码链接