目录
深入研究鸢尾花数据集
画出数据集中150个数据的前两个特征的散点分布图:
4.5 实践:基于前馈神经网络完成鸢尾花分类
继续使用第三章中的鸢尾花分类任务,将Softmax分类器替换为前馈神经网络。
- 损失函数:交叉熵损失;
- 优化器:随机梯度下降法;
- 评价指标:准确率。
4.5.1 小批量梯度下降法
为了减少每次迭代的计算复杂度,我们可以在每次迭代时只采集一小部分样本,计算在这组样本上损失函数的梯度并更新参数,这种优化方式称为小批量梯度下降法(Mini-Batch Gradient Descent,Mini-Batch GD)。
为了小批量梯度下降法,我们需要对数据进行随机分组。
目前,机器学习中通常做法是构建一个数据迭代器,每个迭代过程中从全部数据集中获取一批指定数量的数据。
4.5.2 数据处理
4.5.3 模型构建
输入层神经元个数为4,输出层神经元个数为3,隐含层神经元个数为6。
4.5.4 完善Runner类
4.5.5 模型训练
4.5.6 模型评价
4.5.7 模型预测
思考题
1. 对比Softmax分类和前馈神经网络分类。(必做)
分类效果图可参考:
2. 自定义隐藏层层数和每个隐藏层中的神经元个数,尝试找到最优超参数完成多分类。(选做)
3. 对比SVM与FNN分类效果,谈谈自己看法。(选做)
4. 尝试基于MNIST手写数字识别数据集,设计合适的前馈神经网络进行实验,并取得95%以上的准确率。(选做)
总结
1. 总结本次实验;
2. 全面总结前馈神经网络,梳理知识点,建议画思维导图。
例如:
ref:
NNDL 实验4(下) - HBU_DAVID - 博客园 (cnblogs.com)
2.5. 自动微分 — 动手学深度学习 2.0.0-beta1 documentation (d2l.ai)
4.7. 前向传播、反向传播和计算图 — 动手学深度学习 2.0.0-beta1 documentation (d2l.ai)