赞
踩
深度学习入门介绍,主要是MLP
深度学习是机器学习的一个分支,因此深度学习也满足机器学习的一般流程:提出假设模型、计算模型好坏、选择表现最好的模型。
神经网络中不同的连接会导致不同的网络结构,参数θ表示“神经元”中的所有权重和方差。
全连接
基本流程:输入一个向量,乘以不同的系数,再将结果用sigmoid函数从输出到下一层作为输入。这里每一个神经元都是一个函数,称为激活函数。
一个常见的神经网络可以分为输入层、隐藏层和输出层,基本结构如下:
即深度学习的模型假设过程就是设计神经网络结构,包括网络层数、每层的神经元数量等。
对于输入N个x的情况,使用并行计算加速运算过程。
手写数字识别
输入:将图片像素化为16*16的像素点,作为输入向量,像素点有痕迹则为1,无痕迹则为0
输出:每个维度代表一个数字的置信度。
layer1-layerL中包含了手写数字识别候补的函数集,需要选择合适的网络结构从而构建一个较好的模型。
通过给定一组参数将手写数字1识别为1的过程中,计算交叉熵。
对于所有的训练集,每个数据均存在一个C,总体损失为对C的求和
找到一个函数使得总体损失最小,即找到使总体损失最小的参数。
神经网络求系数的方法称为反向传播。假设我们对多分类的问题进行求导,整个模型的损失函数定义为L(θ),每一个l是每一个小分类的交叉熵。
拿出一个神经元进行分析:
前向传播是神经网络中的第一步。在前向传播中,输入数据通过网络的各层,从输入层传递到输出层,以计算网络的预测值。这是一个由输入到输出的数据传递过程,它包括以下步骤:
a. 初始化:初始化神经网络的权重和偏差(参数)。这些参数将被用来计算预测值。
b. 输入传递:将输入数据传递到输入层,并将其逐层传递到隐藏层和输出层。每一层使用之前层的输出和当前层的权重以及激活函数来计算输出。
c. 计算输出:在输出层,计算神经网络的最终输出,这是模型对输入数据的预测。
反向传播是用来更新神经网络的参数,以便减小模型的预测误差的过程。这一过程是在前向传播之后进行的,它包括以下步骤:
a. 计算损失:首先,计算模型的预测与真实标签之间的差距,通常使用损失函数(如均方误差或交叉熵)来度量。这个差距称为损失。
b. 反向传播误差:从输出层开始,计算每一层的误差梯度,以了解每一层对总损失的贡献。这是通过链式规则计算的,以确定如何调整每一层的权重和偏差来减小损失。
c. 参数更新:使用误差梯度信息,更新每一层的权重和偏差,通常使用梯度下降或其变种的优化算法。目标是最小化损失函数,使模型的预测更接近实际标签。
d. 重复迭代:重复前向传播和反向传播步骤,以逐渐调整模型的参数,降低损失,提高模型性能,直到达到满意的训练结果。
假设a=σ(z):
如果不是output layer,则需要一直算到最后的output layer。为简化计算,可以从output向前计算
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。