沐神-动手学习深度学习,课后习题 3.7. softmax回归的简洁实现

发布时间:2026/7/28 2:15:04

沐神-动手学习深度学习,课后习题 3.7. softmax回归的简洁实现 答案以下是针对3.7节softmax回归简洁实现中两个练习的详细解答练习1调整超参数的影响批量大小Batch Size增大批量大小如512训练速度加快每个epoch耗时减少梯度估计更稳定但可能降低模型泛化能力内存消耗增加需注意显存限制[0]减小批量大小如64梯度噪声增加可能帮助逃离局部极小值需要更多迭代次数才能收敛适合在线学习场景学习率Learning Rate增大学习率如0.5收敛速度加快但可能跳过最优解可能出现损失值震荡如图1左[0]减小学习率如0.01收敛更稳定但需要更多训练时间可能陷入局部最优如图1右迭代周期Epochs增加epoch数如20模型可能过拟合训练数据需配合早停法early stopping使用减少epoch数如5可能欠拟合需监控验证集精度变化练习2过拟合现象与解决方案现象解释当迭代周期超过10次后测试精度开始下降如图2这是因为模型过度记忆训练集特征如记住特定噪声模式简单网络结构仅单层全连接缺乏正则化能力[0]训练集与测试集分布差异被放大解决方案正则化技术L2正则化权重衰减trainertorch.optim.SGD(net.parameters(),lr0.1,weight_decay0.01)Dropout层netnn.Sequential(nn.Flatten(),nn.Linear(784,256),nn.ReLU(),nn.Dropout(0.5),# 添加dropout层nn.Linear(256,10))数据增强transformtransforms.Compose([transforms.RandomHorizontalFlip(),# 随机水平翻转transforms.RandomRotation(10),# 随机旋转transforms.ToTensor()])早停法Early Stopping监控验证集损失当连续3个epoch未改善时停止训练模型结构调整增加隐藏层nn.Sequential(nn.Flatten(),nn.Linear(784,256),nn.ReLU(),nn.Linear(256,10))使用批标准化nn.Sequential(nn.Flatten(),nn.Linear(784,256),nn.BatchNorm1d(256),nn.ReLU(),nn.Linear(256,10))可视化建议使用TensorBoard绘制训练/验证损失曲线绘制混淆矩阵分析错误分类模式可视化权重矩阵观察特征学习情况通过系统调整超参数和引入正则化措施可以使模型在Fashion-MNIST数据集上达到85%以上的测试准确率。

相关新闻