李宏毅机器学习笔记2——DeepLearning(深度学习)

深度学习入门介绍,主要是MLP

深度学习是机器学习的一个分支,因此深度学习也满足机器学习的一般流程:提出假设模型、计算模型好坏、选择表现最好的模型。

一、Neural Network(神经网络)

神经网络中不同的连接会导致不同的网络结构,参数θ表示“神经元”中的所有权重和方差。

全连接

计算方法:

基本流程:输入一个向量,乘以不同的系数,再将结果用sigmoid函数从输出到下一层作为输入。这里每一个神经元都是一个函数,称为激活函数。

一个常见的神经网络可以分为输入层、隐藏层和输出层,基本结构如下:

即深度学习的模型假设过程就是设计神经网络结构,包括网络层数、每层的神经元数量等。

对于输入N个x的情况,使用并行计算加速运算过程。

应用示例:

手写数字识别

输入:将图片像素化为16*16的像素点,作为输入向量,像素点有痕迹则为1,无痕迹则为0

输出:每个维度代表一个数字的置信度。

layer1-layerL中包含了手写数字识别候补的函数集,需要选择合适的网络结构从而构建一个较好的模型。

二、goodness of function(即损失函数)

损失举例:

通过给定一组参数将手写数字1识别为1的过程中,计算交叉熵。

总体损失:

对于所有的训练集,每个数据均存在一个C,总体损失为对C的求和

找到一个函数使得总体损失最小,即找到使总体损失最小的参数。

三、pick the best function(选择最好的函数)

梯度下降

反向传播

神经网络求系数的方法称为反向传播。假设我们对多分类的问题进行求导,整个模型的损失函数定义为L(θ),每一个l是每一个小分类的交叉熵。

拿出一个神经元进行分析:

Forward pass

前向传播是神经网络中的第一步。在前向传播中,输入数据通过网络的各层,从输入层传递到输出层,以计算网络的预测值。这是一个由输入到输出的数据传递过程,它包括以下步骤:

a. 初始化:初始化神经网络的权重和偏差(参数)。这些参数将被用来计算预测值。

b. 输入传递:将输入数据传递到输入层,并将其逐层传递到隐藏层和输出层。每一层使用之前层的输出和当前层的权重以及激活函数来计算输出。

c. 计算输出:在输出层,计算神经网络的最终输出,这是模型对输入数据的预测。

Backward pass

反向传播是用来更新神经网络的参数,以便减小模型的预测误差的过程。这一过程是在前向传播之后进行的,它包括以下步骤:

a. 计算损失:首先,计算模型的预测与真实标签之间的差距,通常使用损失函数(如均方误差或交叉熵)来度量。这个差距称为损失。

b. 反向传播误差:从输出层开始,计算每一层的误差梯度,以了解每一层对总损失的贡献。这是通过链式规则计算的,以确定如何调整每一层的权重和偏差来减小损失。

c. 参数更新:使用误差梯度信息,更新每一层的权重和偏差,通常使用梯度下降或其变种的优化算法。目标是最小化损失函数,使模型的预测更接近实际标签。

d. 重复迭代:重复前向传播和反向传播步骤,以逐渐调整模型的参数,降低损失,提高模型性能,直到达到满意的训练结果。

假设a=σ(z):

如果不是output layer,则需要一直算到最后的output layer。为简化计算,可以从output向前计算

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值