R h2o自动编码器高错误(h2o.mse)

R h2o自动编码器高错误(h2o.mse),r,h2o,R,H2o,我正在尝试使用h2o创建一个使用其深度学习功能的自动编码器。我将一组大约4000x50大小的数据输入到deeplearning函数(隐藏节点c(200))中,然后使用h2o.mse检查其错误,得到大约0.4,相当高的值 是否可以通过更改deeplearning函数中的某些内容来减少该错误?我假设所有内容都是默认值,除了定义一个包含200个节点的隐藏层之外 您首先要尝试的是: 使用更多的纪元(或使用不太激进的提前停止标准) 使用第二个隐藏层 在隐藏层中使用更多节点 获取更多培训数据 请注意,所

我正在尝试使用h2o创建一个使用其深度学习功能的自动编码器。我将一组大约4000x50大小的数据输入到deeplearning函数(隐藏节点c(200))中,然后使用h2o.mse检查其错误,得到大约0.4,相当高的值


是否可以通过更改deeplearning函数中的某些内容来减少该错误?

我假设所有内容都是默认值,除了定义一个包含200个节点的隐藏层之外

您首先要尝试的是:

  • 使用更多的纪元(或使用不太激进的提前停止标准)
  • 使用第二个隐藏层
  • 在隐藏层中使用更多节点
  • 获取更多培训数据

请注意,所有这些都会增加您的培训时间。

我假设所有内容都是默认设置,除了定义一个包含200个节点的隐藏层

您首先要尝试的是:

  • 使用更多的纪元(或使用不太激进的提前停止标准)
  • 使用第二个隐藏层
  • 在隐藏层中使用更多节点
  • 获取更多培训数据

请注意,所有这些都会增加您的培训时间。

您可以使用H2OGridSearch查找MSE最小的最佳自动编码器型号。 下面是一个Python示例。你可以在R中找到例子

def tuneAndTrain(hyperParameters, model, trainDataFrame):
    h2o.init()
    trainData=trainDataFrame.values        
    trainDataHex=h2o.H2OFrame(trainData)
    modelGrid = H2OGridSearch(model,hyper_params=hyperParameters)
    modelGrid.train(x=list(range(0,int(len(trainDataFrame.columns)))),training_frame=trainDataHex)
    gridperf1 = modelGrid.get_grid(sort_by='mse', decreasing=True)
    bestModel = gridperf1.models[0]
    return bestModel
您可以调用上述函数查找并训练最佳模型:

hiddenOpt = [[50,50],[100,100], [5,5,5],[50,50,50]]
l2Opt = [1e-4,1e-2]
hyperParameters = {"hidden":hiddenOpt, "l2":l2Opt}
bestModel=tuneAndTrain(hyperParameters,H2OAutoEncoderEstimator(activation="Tanh", ignore_const_cols=False, epochs=200),dataFrameTrainPreprocessed)

您可以使用H2OGridSearch查找具有最小MSE的最佳自动编码器模型。 下面是一个Python示例。你可以在R中找到例子

def tuneAndTrain(hyperParameters, model, trainDataFrame):
    h2o.init()
    trainData=trainDataFrame.values        
    trainDataHex=h2o.H2OFrame(trainData)
    modelGrid = H2OGridSearch(model,hyper_params=hyperParameters)
    modelGrid.train(x=list(range(0,int(len(trainDataFrame.columns)))),training_frame=trainDataHex)
    gridperf1 = modelGrid.get_grid(sort_by='mse', decreasing=True)
    bestModel = gridperf1.models[0]
    return bestModel
您可以调用上述函数查找并训练最佳模型:

hiddenOpt = [[50,50],[100,100], [5,5,5],[50,50,50]]
l2Opt = [1e-4,1e-2]
hyperParameters = {"hidden":hiddenOpt, "l2":l2Opt}
bestModel=tuneAndTrain(hyperParameters,H2OAutoEncoderEstimator(activation="Tanh", ignore_const_cols=False, epochs=200),dataFrameTrainPreprocessed)