1.多层感知器与梯度下降算法
多层感知器也叫做神经网络
单层神经网络无法拟合异或问题,因此有了多层神经网络
多层神经网络也用梯度下降算法来训练
梯度下降法是一种致力于找到loss函数极值点的算法,使得loss函数值最小。
所谓的“学习”便是改进模型参数,以便通过大量训练步骤将损失最小化。
梯度的输出向量表明了在每个位置损失函数下降最快的方向。
对梯度进行缩放的参数被称为学习率
2.激活函数与常见的优化函数
1.relu函数
2.sigmoid函数
3.tanh函数
激活函数必须可导,因为要反向传播。
relu用的最多。
sigmoid用于二分类的输出
优化函数:是compile模型所需要的两个参数中的一个,可以先实例化一个优化器对象,然后把它传入model.compile(),或者可以通过名称来调用优化器。在后一种情况下,将使用优化器的默认参数。
1.SGD:随即梯度下降优化器
和min-batch是同一个意思,抽取m个小批量(独立同分布)样本,通过计算他们平均度均值。
参数如下:
学习率过大就会跳过极值点,过小就会更新太多次,学习的特别慢。
2.RMSprop
参数如下:
3.Adam优化器
3.多层感知器代码实现
模型构造:
编译、训练模型: