神经网络与深度学习-课程内容总结1

机器学习基本问题

数据集,模型,数据条目是问题的要素

回归问题(线性回归,对数回归)

回归问题输出连续。给定样本,构造损失函数,对损失函数求导,另导数为0,找出参数使损失函数最小。

指数回归就是把损失函数用log的形式重新修改(逻辑斯蒂回归)。

分类问题(线性二分类,线性多分类)

分类问题输出离散,是所属类别或属于某一类的概率。因此用sigmoid函数对输出进行处理,使输出属于0-1。然后按照回归问题步骤,求导,求损失函数最小。此时损失函数非线性,因此无法求解,所以采用迭代的方法,得到含有学习率的表达式。

指数回归推广到线性多分类回归中,softmax,交叉熵损失。

神经元模型

人工神经元模型M-P模型(大于阈值才有输出)可用非对称型sigmoid函数、对称型sigmoid函数和对称型阶跃函数,作为作用函数(激活函数?)进行模拟。

hebb规则:只有输入和输出都被加强时,连接权值的调整量才会增强。

感知机模型

感知机解决线性分类问题,是一种线性分类器。

通过点到直线的距离公式的正负,及分子的正负(利用sign符号函数定义损失函数)

多层感知机

多层感知机就是在输入和输出间加一层或多层隐单元,可以解决XOR问题

多层前馈网络及BP算法

多层感知机就是一种多层前馈网络,如果每一个神经元都连接到上一层的所有神经元,则为全连接网络。

多层前馈网络的反向传播算法就是BP算法。是梯度下降法在多层前馈网中的应用。

BP算法的基本思想是通过计算网络输出与真实目标之间的误差,并将误差反向传播到网络中的每个神经元,以便调整各层之间的连接权重,从而降低误差,提高网络的预测能力。该算法主要分为两个阶段:前向传播和反向传播。

下面是BP算法的主要步骤:

1. 初始化:随机初始化神经网络中的连接权重。

2. 前向传播(Forward Propagation):将输入数据送入网络的输入层,通过连接权重和激活函数,逐层计算各个神经元的输出,直至得到输出层的输出。

3. 计算误差:将输出层的预测结果与真实的目标输出进行比较,计算网络在当前权重下的误差。

4. 反向传播(Backward Propagation):根据误差,从输出层开始,按照反向顺序逐层计算每个神经元的梯度。梯度表示误差随着权重的变化而变化的速率。这一步是BP算法的核心,通过链式法则计算梯度,并将误差从输出层反向传播到隐藏层和输入层。

5. 权重更新:根据梯度和学习率(一个调整步长的参数),更新连接权重,使误差减小。学习率的选择对于训练的收敛和效果都有重要影响。

6. 重复训练:重复执行前向传播、误差计算、反向传播和权重更新,直到网络的预测结果收敛或达到预定的训练迭代次数。

性能优化

1.几个常用技巧

(1)模型初始化时,把所有权值在[-1,1]之间按均值或高斯分布初始化,或Xavier初始化

(2)训练数据、验证数据、测试数据三者比例通常为70%、15%、15%或60、20、20。可用K折交叉验证

(3)欠拟合和过拟合

(4)权重衰减(L2正则化):在损失函数里加入新的函数项,约束了权值不能过大,可防止过拟合和权值震荡。

(5)Dropout暂退:计算下一层之前把当前层一些节点置零

2.动量法

有效改善收敛速度,避免陷入局部最小值,解决SDG问题

3.自适应梯度算法(AdaGrad:Adaptive Gradient)

由于学习率单调递减,训练后期学习率过小会导致训练困难,需设置全局初始学习率。

RMSProp:使用指数衰减,加入超参数ρ控制衰减速度。

Adam:加入历史梯度平方的指数衰减平均(r),保留动量。

                        
BP算法部分参考原文链接:https://blog.csdn.net/m0_74086448/article/details/132007507

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值