神经网络
回顾:单层神经网络即自适应神经元算法(Adaline)
用分类的自适应算法,并采用梯度下降算法来学习模型的权重系数,用一下的规则在训练集的每个迭代更新权重向量w:
计算基于整个训练集的梯度,并通过梯度相反方向退一步更新权重。优化定义为误差平方和(SSE)的目标函数J(w)以找到该模型的最优权重。此外把梯度乘以学习率,必须谨慎选择该参数以平衡学习速度与全局最小成本函数过度所带来的风险。在梯度下降优化中,每次迭代都同时更新所有权重。为权重向量w的每个权重定义偏导数。
激活函数:
阈值函数:
虽然Adaline由输入层和输出层两层组成,但它被 称为单层网络,因为在输入层和输出层之间存在着单链接
正题:多层神经网络也叫作多层感知机
定义:将多个单神经元连接到多层前馈神经网络
层次:三层结构(有一个及其以上的隐藏层我们就叫做深度人工神经网络)
输入层 隐藏层 输出层
超参数:神经网络的层数,神经元个数,迭代次数,学习率,激活函数
MLP的学习过程:
1.从输入层开始,把训练数据的模型通过网络传播输出
2.基于网络传播,用稍后将描述的代价函数计算出想要的最小化错误
3.反向传播误差,匹配网络中相应的权重结果并更新模型
4.用正向传播计算网络输出,并应用阈值函数以前描述的独热表示方式获得预测结果的分类标签
正向传播算法步骤:
1.最开始,我们会初始化一组 的取值,并且选定一个激活函数,为了后面的方便,我们假设选定sigmoid函数作为激活函数。
2.有了联结权重 和激活函数 之后,就可以由前往后计算,依次算出所有的 值,最终算出输出层的 值。这就是前向传播算法。
公式解释:z1(h)为净输入,φ()为激活函数,要以基于梯度的方法学习与神经元连接的权重,函数必须可微。
常见的激活函数
1.Sigmoid函数:
2.tanh函数:
3.Relu函数