机器学习实验四神经网络学习

实验四:神经网络学习

一、实验目的

将实现用于神经网络的反向传播算法,并将其应用于手写数字识别的任务中。

二、实验环境

Window10,Octave

三、实验步骤/过程

1.神经网络:
1.1数据可视化:加载数据并通过调用函数 displayData.m 将其显示在二维图上。
1.2模型表示:将存储在ex4weights.mat中的网络参数θ(1),θ(2)由ex4.m加载到Theta1和 Theta2 这两个参数中。
1.3前馈与损失函数:在nnCostFunction.m 中添加代码以返回损失:
在这里插入图片描述

1.4 正则化损失函数:使用现有的 nnCostFunction.m 计算非正则化的损失函数,然后加上正则项的损失。
2.反向传播:
2.1 Sigmoid梯度:在sigmoidGradient(z)添加代码:

g=sigmoid(z).*(1-sigmoid(z));

2.2随机初始化:在randInitializeWeights.m中添加代码:
在这里插入图片描述

2.3反向传播:实现反向传播算法。
2.4梯度检验:运行提供的函数checkNNGradients.m,该函数将创建一个小的神经网络和数据集,用于检查梯度。
2.5正则化神经网络:实现反向传播算法后,将向梯度添加正则化。
2.6使用 fmincg 学习参数
3.可视化隐藏层:使用displayData函数显示一个对应于25个神经元的图像,每一幅图像对应于神经网络的一个隐藏神经元。

四、实验结果

1.1数据可视化:
在这里插入图片描述

1.3前馈与损失函数:
在这里插入图片描述

1.4 正则化损失函数:
在这里插入图片描述

2.1 Sigmoid梯度:
在这里插入图片描述

2.4梯度检验:
在这里插入图片描述

2.5正则化神经网络:
在这里插入图片描述

2.6使用 fmincg 学习参数:
在这里插入图片描述

3.可视化隐藏层:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值