1.举例说明现实世界中的数据张量。
向量数据:2D 张量,形状为 (samples, features)。
时间序列数据或序列数据:3D 张量,形状为 (samples, timesteps, features)。
图像:4D 张量。
视频:5D 张量。
2、为什么要在训练集和测试集的基础上增加验证集?
在开发模型时参数调节过程也是在某个参数空间寻找良好的模型配置。如果只有训练集和测试集,基于模型在测试集上的性能来调节模型配置,会造成信息泄露,导致模型在测试集上过拟合。但是在完全不同的数据上应用模型时,效果不能确定。
3、简单描述一下什么是k折验证?
K 折验证(K-fold validation)将数据划分为大小相同的 K 个分区。对于每个分区 i,在剩余的 K-1 个分区上训练模型,然后在分区 i 上评估模型。最终分数等于 K 个分数的平均值。
4、模型训练中为什么要避免过拟合?简要说明降低过拟合的方法。
深度学习的目的是得到良好的泛化。泛化是指在训练好的模型在前所未见的数据上的性能好坏。但在训练数据上迭代一定次数之后,泛化不再提高,验证指标先是不变,然后开始变差,即模型开始过拟合。为了防止模型从训练数据中学到错误或无关紧要的模式要避免过拟合,提高泛化能力。
降低过拟合方法:减少网络大小;增加训练数据;添加权重正则化;添加dropout正则化等。
5、为什么在深度学习模型编译中需要损失函数?常用的损失函数有什么?