今天来打卡task5:模型集成。
集成学习的方法挺多,常见的有stacking、boosting。
使用交叉验证法获得比较好的精度之后,选择集成的方法可以使用投票,也可以就对概率值进行平均。
众所周知,在训练神经网络的时候,容易遇到过拟合问题,还有就是运行过慢甚至卡顿的问题。
使用dropout可以对过拟合问题作出改善。
在代码中加入dropout结构。
# 定义模型
class SVHN_Model1(nn.Module):
def __init__(self):
super(SVHN_Model1, self).__init__()
# CNN提取特征模块
self.cnn = nn.Sequential(
nn.Conv2d(3, 16, kernel_size=(3, 3), stride=(2, 2)),
nn.ReLU(),
nn.Dropout(0.25),
nn.MaxPool2d(2),
nn.Conv2d