深度学习图像问题集锦

1,训练集中包含样本不均衡的多类数据,对于数量多的一类进行下采样,会导致数据分布和测试的真实情况不同,会对结果有什么影响?

答:首先,在构建训练集和测试集的时候,训练集和测试集的数据分布都应该与样本的真实分布情况一致,才能有效训练并对模型进行测试。所以,当数据不均衡的时候,更要注意数据采样的重要性。针对医疗数据,假设分为正常和异常两类,一般来说,正常样本占绝大多数,所以需要对正常样本进行”下采样“,所以必定存在一些正常细胞的特征未被学习到,并且很可能会被误分,但是这对异常细胞的召回率是没有影响的,另外,正常细胞更多的是重复性的样本,样本间存在极大的相似性,而不同于异常细胞的多样的,所以进行合适的采样之后,影响的微弱的。


2,数据训练、验证和测试集的归一化方式?

归一化方式可以:均值方差归一化,最大最小归一化等。后者的处理可能出现的问题是:训练集里的最大值/最小值并不一定是这个字段的实际边界,会使得数据变化很大。所以均值方差归一化是更推荐的一般处理方式。下面对此展开:


均值方差归一化,处理后的数据将符合标准正太分布。


min-max 归一化,不会对数据分布产生影响。当数据的最大最小值不稳定,结果可能因此变得不稳定。min-max 归一化在图像处理上非常常用,因为大部分的像素值范围是 [0, 255]




测试集的任何信息都不能出现在训练或验证集中,也就是不能将测试和训练、验证数据共同进行任何操作,测试数据是新出现的数据,具有不完全清楚的数据分布和数值。但当实际训练和测试数据很类似的时候,同等看待也是可以考虑的情况。

在数据集的划分足够合理,训练集可以代表测试集的真实分布的前提下,一般对训练集求其均值和方差,并将该方差应用到测试集合,对训练和验证集单独求其对应的均值和方差。

另:训练集做数据扩充是为了增加样本,并提升样本的丰富性,但测试和验证集不能做数据扩充,否则就没有意义了。


3,超参数?以及调节方式?(基于keras)

超参数:学习速率,迭代次数(epoch),batch size,每层神经元的个数,层数,模型;


对于keras 而言,

学习速率:

lrate = ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=5, verbose=0, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0.00001)

以验证集的损失函数为目标,忍耐损失上升打到五次,就以0.1*学习率下降学习率,最低学习率为min_lr。

迭代次数:

early_stopping =EarlyStopping(monitor='val_loss', patience=5,mode='min')


4,训练集,验证集和测试集

三者应与原始数据具有相同的分布,才能体现出对应的价值。

训练集:在对应的数据集之下,训练出合适的模型参数,用来学习的样本集,用于分类器参数的拟合;

验证集:调整模型(分类器)的超参数,评估模型的能力,如在神经网络中选择隐藏层神经元的数量

测试集:评估最终完整的模型的性能(进行无偏估计(模型评估应该在未用于模型构建或微调的样本上进行,这样才能对模型效率进行无偏评估));(保持测试集完全独立的重要性。以任何形式使用测试集中的信息都是一种「窥探」(peeking),因此建议封存测试集,直到模型调整全部完成再作为最后的评估。如果你对评估结果不满意,想返回寻找更好的模型假设,那么你必须获取并封存一组全新的测试集。

参考文章“http://cj.sina.com.cn/article/detail/3996876140/330058?column=tech&ch=5&sudaref=www.baidu.com&display=0&retcode=0”


































持续更新ing

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

深度学习图像问题集锦

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭