课程作业:基于 PyTorch 的手写数字识别模型训练
跟随课程要求完成基础机器学习项目,使用 PyTorch 框架搭建简易神经网络,加载 MNIST 数据集并完成数据预处理(图像归一化、维度转换),通过调整网络层数(从 2 层增至 3 层)和隐藏层神经元数量(128→256),优化模型训练效果。
独立编写训练脚本,实现损失函数(交叉熵)和优化器(SGD)的调用,记录 10 轮训练过程中的损失值变化,最终模型在测试集上的准确率达到 96%,比初始版本提升 8 个百分点。
用 Matplotlib 绘制训练 / 测试准确率曲线,分析模型在数字 “8” 和 “9” 上易混淆的原因,尝试增加 500 条难例样本进行补充训练,初步理解数据质量对模型效果的影响。
个人探索:校园花卉图像分类小项目
出于对计算机视觉的兴趣,自主开展小型分类项目,收集校园内 5 种常见花卉图像共 800 张(每种 150-170 张),使用 LabelImg 工具完成类别标注,生成 Pascal VOC 格式标注文件。
基于 PyTorch 搭建轻量级 CNN 模型,参考网上教程实现数据加载(自定义 Dataset 类)和简单数据增强(随机翻转、亮度调整),通过控制变量法测试不同学习率(0.01/0.001)对训练的影响,最终模型在验证集上准确率达 82%。
整理项目过程形成技术文档,包含数据集介绍、模型结构设计图、训练参数记录表和结果分析,其中对 “月季” 与 “蔷薇” 分类混淆的问题提出可能的改进方向(增加花瓣细节特征标注),加深对 “数据 - 模型 - 结果” 关联关系的理解。
社团实践:校园活动照片数据集整理与预处理
参与校内 AI 社团的数据整理项目,负责 2000 张校园活动照片的分类与预处理,使用 Label Studio 标注照片中的场景类别(如运动会、晚会、讲座),通过 Excel 统计标注进度,确保两周内完成分配任务。
用 Python 编写简单脚本(Pandas+OS 库)批量处理图像文件:统一调整尺寸至 224×224 像素,转换格式为 JPG,剔除模糊、重复的低质量样本 300 余张,处理后的数据按 8:2 比例划分为训练集和验证集,存储为模型可直接读取的格式。
参与社团内部分享会,介绍数据预处理过程中遇到的格式转换问题及解决方法,获得学长学姐关于 “样本均衡性处理” 的建议,后续补充 50 张稀缺场景照片,为社团后续的图像分类模型训练提供基础数据支持。