神经网络与深度学习课程作业-1-线性神经网络与多层感知机

此贴仅做课程作业使用!!!按自己的理解对上课内容进行总结

一、神经网络实现一般步骤

        实现数据集的生成/加载-->实现数据集的读取-->建立模型-->定义损失函数-->定义优化函数-->训练(初始化模型参数、训练模型参数)-->测试模型的训练效果

二、线性神经网络

1.线性回归

        考虑比较简单的回归问题:假设自变量x和因变量y之间的关系是线性的,即y可以表示为x中元素的加权和,这里通常允许包含观测值的一些噪声;其次,我们假设任何噪声都比较正常,如噪声遵循正态分布。给定样本与回归模型,通过学习样本数据的方式将自变量与因变量之间的关系进行回归,从而得到可以根据自变量比较准确预测因变量的模型。

        对于简单的线性回归问题,可以采用以下的步骤训练解决:

1.初始化模型参数(w,b)

2.取出用于训练的数据

3.经由模型函数正向传播预测自变量

4.计算损失函数(平方损失函数)

5.反向传播求解损失函数对各模型参数的导数

6.梯度下降法更新模型参数

7.循环执行2-6步直到训练完所有数据

2.线性分类(线性二分类/多分类)

        线性分类与线性回归有所不同,线性分类器则透过特征的线性组合来做出分类决定,以达到此种目的,使样本通过直线(或超平面)可分。

        由于最后我们需要得到的是概率,因此考虑引入Sigmod函数作为输出层的激活函数,将模型预测的结果数据转化为(0,1)的范围,即映射概率:

         

       

 对于线性分类问题,可以采用以下的步骤训练解决:

1.初始化模型参数

2.取出用于训练的数据

3.经由模型函数正向传播预测自变量

4.计算损失函数(交叉熵损失函数)

5.反向传播求解损失函数对各模型参数的导数

6.梯度下降法更新模型参数

7.循环执行2-6步直到训练完所有数据

三、多层感知机

1.单神经元模型与激活函数

 

 其中,f(x)有多种形式,比较常见的几种如下:

(1)sigmoid函数

(2)Tanh函数

(3)Relu函数

(4)对称型阶跃函数

2.多层前馈网络(BP神经网络)

        多层感知机是一种多层前馈网络,由多层神经网络构成,每层网络将输出传递给下一层网络。神经元间的权值连接仅出现在相邻层之间,不出现在其他位置。如果每一个神经元都连接到上一层的所有神经元(除输入层外),则成为全连接网络。

3.BP算法

BP学习算法由正向传播和反向传播组成:

① 正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。

② 反向传播是将误差(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。

网络训练的目的,是使对每一个输入样本,调整网络参数,使输出均方误差最小化。这是一个最优化问题。

BP算法的基本步骤:

 前向传播:

误差反传 --输出层

 误差反传--隐含层

4.性能优化

(1)模型初始化

        简单的考虑,把所有权值在[-1,1]区间内按均值或高斯分布进行初始化。
        Xavier初始化:为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等。因此需要实现下面的均匀分布:

(2)训练数据与测试数据

        数据包括:训练数据、验证数据、测试数据。通常三者比例为70%,15%,15%或60,20,20,当数据很多时,训练和验证数据可适当减少。        

(3)训练数据与测试数据:𝐾折交叉验证

        原始训练数据被分成 K 个不重叠的子集。 然后执行 K 次模型训练和验证,每次在 K−1 个子集上进行训练, 并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。 最后,通过对 K 次实验的结果取平均来估计训练和验证误差。

(4)改善欠拟合与过拟合

        权重衰减:为防止过拟合和权值震荡,加入新的指标函数项

        暂退法:在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。

(5) 其他优化方法

        动量法可有效改善收敛速度,以及避免一些陷入局部极小值

         AdaGrad(自适应梯度)及Adam等算法可自适应调节学习速率,加速收敛

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值