1.对比使用逻辑回归和使用具有1层隐藏层神经网络的分类效果(请粘贴2种方法分类效果图),哪种效果更好,分析原因。
2.调整隐藏层大小(至少5种大小),观察不同大小隐藏层的模型的不同表现,请粘贴分类效果图,当隐藏层过大或过小时,会出现什么问题,并分析原因。
【实验目标】
- 建立具有隐藏层的完整神经网络
- 善用非线性单位
- 实现正向传播和反向传播,并训练神经网络
- 了解不同隐藏层大小(包括过度拟合)的影响
【实验内容】
利用具有1层隐藏层的神经网络分类红色和蓝色的花。参考1 和 参考2
【数据集介绍】
2分类数据集flower,红色和蓝色点的“花”。使用X, Y = planar_utils.load_planar_dataset()加载数据集,X为样本,共有400个,Y为样本对应的标签,0表示红色,1表示蓝色。
【代码要求】
-
定义模型结构
-
初始化模型的参数
-
循环
-
计算当前损失(前向传播),请使用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
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!