我在为二分类任务创建一个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)
我想知道是否有办法确定最适合我的数据集的“正确”超参数。
回答:
为了完整性,这里是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/