山东大学人工智能导论实验四 利用神经网络分类红色和蓝色的花_山东大学人工智能导论实验报告

123 阅读5分钟

【代码要求】

定义模型结构

初始化模型的参数

循环

计算当前损失(前向传播),请使用Relu激活函数。

计算当前梯度(反向传播)

更新参数(梯度下降)

【文档要求】

1.对比使用逻辑回归和使用具有1层隐藏层神经网络的分类效果(请粘贴2种方法分类效果图),哪种效果更好,分析原因。

2.调整隐藏层大小(至少5种大小),观察不同大小隐藏层的模型的不同表现,请粘贴分类效果图,当隐藏层过大或过小时,会出现什么问题,并分析原因。


【实验目标】

  1. 建立具有隐藏层的完整神经网络
  2. 善用非线性单位
  3. 实现正向传播和反向传播,并训练神经网络
  4. 了解不同隐藏层大小(包括过度拟合)的影响

【实验内容】

利用具有1层隐藏层的神经网络分类红色和蓝色的花。参考1 和 参考2

【数据集介绍】

2分类数据集flower,红色和蓝色点的“花”。使用X, Y = planar_utils.load_planar_dataset()加载数据集,X为样本,共有400个,Y为样本对应的标签,0表示红色,1表示蓝色。

【代码要求】

  1. 定义模型结构

  2. 初始化模型的参数

  3. 循环

  • 计算当前损失(前向传播),请使用Relu激活函数。

  • 计算当前梯度(反向传播)

  • 更新参数(梯度下降)

【文档要求】

(本次实验我采用jupyter notebook进行实验)

1.对比使用逻辑回归和使用具有1层隐藏层神经网络的分类效果(请粘贴2种方法分类效果图),哪种效果更好,分析原因。

逻辑回归的分类效果如下:

但是训练的准确性只有47%,可能是数据集不是线性可分的,所以逻辑回归表现不佳

               数据集里面的数据有:400 个

               第  0  次循环,成本为:0.6931475438458983

               第  1000  次循环,成本为:0.6394767951130161

               第  2000  次循环,成本为:0.6371669009459804

               第  3000  次循环,成本为:0.6359841052167607

               第  4000  次循环,成本为:0.635215112310812

               第  5000  次循环,成本为:0.6346572327795306

               第  6000  次循环,成本为:0.6342253541419587

               第  7000  次循环,成本为:0.6338762776079157

               第  8000  次循环,成本为:0.6335853339615207

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!