深度学习—— 多层感知器 MLP

多层感知器 MLP

MLP是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个节点层组成,每一层连接到下一层

    解决的问题:分类问题 MLP是神经网络中最基础、最简单的 其余神经网络还有 误差反向传播神经网络(BP) 卷积神经网络(CNN——用于图像识别) 时间递归神经网络(LSTM——用于语音识别)

12.1 神经网络的结构

    输入层 隐层 输出层 不同层之间不是全连接的 全连接:上一层的任何一个神经元与下一层的所有神经元都有连接

12.2 神经网络的训练和学习

神经网络的三个基本要素

    权重 神经元之间的连接强度由权重表示,权重的大小表示可能性的大小 偏置(阈值) 偏置的设置是为了正确分类样本,是模型中的重要参数 保证通过输入算出的输出值不能随便激活 激活函数 起非线性映射的作用,可以将神经元的输出幅度限制在一定范围内,一般限制在(-1,1)或(0,1)之间。 最常用的激活函数是Sigmoid函数,可将(-∞,+∞)的数映射到(0,1) tanh也属于激活函数,映射到(-1,1) 下层单个神经元的值与上层所有输入之间的关系 注意:在最后需要减掉偏置(阈值),以排除掉一些不符合条件的上层输入 识别过程(以数字识别为例): 读取图片,以像素点为单位分解 归一化每个像素点的灰度值,如果值越大就越亮,值越小就越暗 将每行像素点拼接成一维作为这张图片的特征 输出由10个神经元组成,分别表示(0-9)十个数字,每个神经元的值也在(0-1)之间表示灰度 神经元的值越大表示输入经判断后是该数字的可能性越大,作为结论 如图有两个隐层,每个隐层有16个偏置 那么总共需要 784×16 + 16×16 + 16×10 = 13002个参数,也就是每条边的权值 神经网络的学习也就是通过训练集来不断训练得到更加合适的权值(参数)和偏置(阈值)
经验分享 程序员 微信小程序 职场和发展