Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neural network Tensorflow DNN回归大多忽略了分类列_Neural Network_Tensorflow_Deep Learning - Fatal编程技术网

Neural network Tensorflow DNN回归大多忽略了分类列

Neural network Tensorflow DNN回归大多忽略了分类列,neural-network,tensorflow,deep-learning,Neural Network,Tensorflow,Deep Learning,我试图对媒体文件处理的执行时间进行建模。我有1.3米的培训记录和1.3米的考试记录。我有四个分类列(操作、服务器类型、优先级和文件类型)、两个连续列(文件大小、媒体持续时间)和一个目标列(处理时间、连续) 我已经修改了广泛而深入的教程代码,以使用回归器而不是分类器,并输出测试评估的预测。我改变了隐藏层的宽度和深度(例如[256,128],[512,256,128,64])。当我遇到分歧问题时,我从默认的ProximalAdagradOptimizer更改为AdamOptimizer 深度(DNN

我试图对媒体文件处理的执行时间进行建模。我有1.3米的培训记录和1.3米的考试记录。我有四个分类列(操作、服务器类型、优先级和文件类型)、两个连续列(文件大小、媒体持续时间)和一个目标列(处理时间、连续)

我已经修改了广泛而深入的教程代码,以使用回归器而不是分类器,并输出测试评估的预测。我改变了隐藏层的宽度和深度(例如[256,128],[512,256,128,64])。当我遇到分歧问题时,我从默认的ProximalAdagradOptimizer更改为AdamOptimizer

深度(DNN)和宽深(线性回归+DNN)似乎在400到1000步后达到损失平台,具体取决于模型的具体情况。宽(线性回归)似乎稳定了几个数量级。我已经将这些模型运行了4000-10000步,试图脱离高原

检查预测表明,深度、广度和深度结果对我的“操作”分类列相对不敏感。我尝试过增加分类嵌入列的维度(从8开始,但将“operation”值增加到80),但这并没有带来太大的区别。广泛的结果确实显示了对“操作”的敏感性,但这些结果总体上更糟

“操作”列是1-3000范围内的整数,具有大约300个不同的值

我对我的测试数据集和预测做了一些测量。预测的均方根误差在目标平均值的量级上。预测的平均值约为实际值平均值的70%,五个区域的比率相似(最小值、第1季度、中间值、第3季度、最大值)。预测与目标的比率在0.01到30之间。简言之,该模型显示出了一些希望,但它似乎并没有完成这项工作

下面是我的问题:

  • 我如何强迫模型更加关注“操作”列?我希望避免使用硬权重,因为我认为模型应该能够了解本专栏的重要性。我担心我只是没有正确地将其纳入公司
  • 我应该在模型中寻找什么来确定每个专栏的相关性
  • 由于我的目标在很大范围内变化(高达70000左右),我是否可以或应该更改损失函数,以使用预测与目标的比率,而不是原始差异?如果是这样的话,我如何将其应用到DNNLinearRegressor之类的函数中
有谁能提出下一步的建议,让我从这个模型中得到更有效的预测

更新:我从它训练的模型中删除了所有分类(稀疏)特征列,使其小于我以前的最低损失。分类列似乎没有得到有效利用,但R中的线性回归表明它们之间有很强的相关性