课后作业:神经网络(Neural Networks)

作者:欧新宇(Xinyu OU)

本文档所展示的测试结果,均运行于:Intel Core i7-7700K CPU 4.2GHz

【作业提交】

将分类结果保存到文本文档进行提交(写上每一题的题号和题目,然后再贴答案),同时提交源代码。

  1. 测试结果命名为: ex08-结果-你的学号-你的姓名.txt
  2. 输出图片命名为: ex08-性能对比图-你的学号-你的姓名.png (.jpg)
  3. 源代码命名为:
  • ex08-01Baseline-你的学号-你的姓名.py
  • ex08-02Single-你的学号-你的姓名.py
  • ex08-03Multi-你的学号-你的姓名.py
  • ex08-04Logistic-你的学号-你的姓名.py
  • ex08-05Tanh-你的学号-你的姓名.py
  • ex08-06ReLU-你的学号-你的姓名.py
  • ex08-07All-你的学号-你的姓名.py

*结果文件,要求每小题标注题号,两题之间要求空一行*


要求在 "鸢尾花" 数据集上完成以下任务,要求如下:

  1. 要求训练集和测试集的分割比例为: 1:9
  2. 先构建一个基于默认参数的Baseline模型(ex08-01Baseline),分别在Baseline的基础上设置单隐层模型(增加/减少神经元)(ex08-02Single)、多隐层模型(ex08-03Multi),并输出评分结果。【注意:该题可能需要多次运行,并选择一个出一个较好的结果,提供给第3题使用。】
  3. 选择一个较好的模型,在此基础上测试三种不同的激活函数 {'logistic', 'tanh', 'relu'},并输出评分结果。分别命名为:ex08-04Logistic,ex08-05Tanh,ex08-06ReLU。
  4. 对以上六个模型 {'Baseline', 'Single', 'Multi', 'Logistic', 'Tanh', 'ReLU'}, 绘制测试集性能曲线图.(ex08-07All, ex08-性能对比图)
  5. 所有模型性能评分,都写入文件(ex08-结果),格式为:
01Baseline: 训练集准确率: 1.0000, 测试集准确率: 0.9704.
02Single: 训练集准确率: 1.0000, 测试集准确率: 0.9630.
...
06ReLU: 训练集准确率: 1.0000, 测试集准确率: 0.9778.

数据集载入方法

from sklearn import datasets
iris = datasets.load_iris()

统一设置:random_state=10

Baseline

Single

Multi

Logistic

Tanh

ReLU

所有方法对比