(
Back to
course page)
Edit
作业总览
本次作业目的是使用监督学习来模仿人玩游戏的动作。
首先,下载本次作业程序包
(点击下载ZIP)
在本次作业中,你需要收集数据,并训练学习模型。
Edit
收集数据
在play.py中已经为大家准备好了收集数据的运行入口。运行 play.py 玩出一场漂亮的游戏, 将会记录每一时刻的游戏画面和你按下的按键(左、右、上)。
注意,监督学习只能模拟你的行为,如果你的行为有错误,不能纠正你的错误。得到数据文件数据将保存在logs目录。
Edit
训练模型
learn.py
是提取特征和训练模型的代码:
- extract_features 函数提取特征,这里已经写了一个简单的特征提取方法,就是记录屏幕上每个位置的信息
- 提取特征后按键信息将被视为类别,得到监督学习数据集训练模型
- 模型将保存在 logs 目录
可以修改特征提取的方法,以及要加载的训练数据路径,然后运行 learn.py 训练你的模型。
作业框架中使用了sklearn库的RandomForestClassifier训练模型。
Edit
测试模型
修改 test.py 中要加载的模型路径后运行,自动开始游戏并输出结果。
Edit
作业内容
- 对于现有的特征提取方法,收集训练数据,尝试三种以上的学习方法,撰写学习方法的介绍,报告性能对比
- 尝试修改特征提取方法,得到更好的学习性能
Edit
作业报告
本次作业需要提交报告和代码。报告需详细介绍对代码的实现。
使用
这个文档模版(点击下载) 撰写实验报告。
Edit作业提交
将
作业报告 存储为PDF文件,用学号命名,例如231221001.pdf,并与相应的源码打包为 学号命名的.zip文件,例如 231221001.zip
上传到sftp
sftp://www.lamda.nju.edu.cn 作业文件夹地址:/D:/Courses/IntroAi_HW/hw3
(用户名: IntroAI, 密码: course01234!@#$)
(注意:该sftp不能替换文件,上传一次后,如果需要修改,请在文件名后加上版本号再上传,例如231221001-1.zip)
注意:
作业严禁抄袭!