【问题标题】:Tensor Flow Conv1D for binary classification CNN用于二元分类 CNN 的 Tensorflow Conv1D
【发布时间】:2021-01-19 22:51:24
【问题描述】:

我正在 CNN 中为二进制分类创建一个 Conv1D 层,我对机器学习还很陌生,我需要一些帮助来确定 Conv1D 的正确值:

tf.keras.layers.Conv1D(
    filters, kernel_size, strides=1, padding='valid', data_format='channels_last',
    dilation_rate=1, groups=1, activation=None, use_bias=True,
    kernel_initializer='glorot_uniform', bias_initializer='zeros',
    kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None,
    kernel_constraint=None, bias_constraint=None, **kwargs
)

我想知道是否有办法确定最适合我的数据集的“正确”超参数。

【问题讨论】:

  • 你能说得更具体点吗?你到底有什么不明白的?
  • @DavidS 我想知道我可以遵循什么过程来为我的数据集找到最佳值
  • @DavidS 你认为我迭代一些值并查看我会得到的结果是否有意义?
  • @DavidS 好的,谢谢,我会尝试自动化这个过程,所以我将从另一个工作中使用的值开始,并尝试改变这些值。我在想这个程序太暴力了,我想知道我是否可以有同样的偏见,所以我不会选择一些不相关的值。但正如你所说,没有这么简单吧?

标签: python tensorflow machine-learning neural-network conv-neural-network


【解决方案1】:

为了完成,这里是tf.keras.layers.Conv1D 的文档,解释了每个参数的用途。

没有这样的流程!这是深度学习中的问题之一,没有“神奇”的方式来选择适合您问题的最佳超参数。一旦你更有经验,你也许可以做出一个很有教育意义的猜测,这会很有效。

解决这个问题的方法是,为您希望调整的每个超参数设置多个可能的有效选项并有效地迭代它们。

您可以在 keras 中执行此操作的一种方法是使用 GridSearchCV 这里有几个很好的起始链接:

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

https://machinelearningmastery.com/grid-search-hyperparameters-deep-learning-models-python-keras/

https://www.kaggle.com/shujunge/gridsearchcv-with-keras

【讨论】:

  • 谢谢,我曾经在 SVM 上使用过 GridSearchCV,但我不知道它也可以用于其他技术...
  • @Guilherme 绝对是,这是超参数搜索的标准方式。我希望TF或torch提供的会更好,更适合
猜你喜欢
  • 2017-11-26
  • 2020-12-15
  • 2021-11-16
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-06
相关资源
最近更新 更多