machine-learning - 在创建良好的深度神经网络中选择参数
问题描述
在神经网络中,我们有动量、学习率、激活函数等参数。所以我的问题是选择什么参数来创建一个好的深度神经网络?此外,是否有任何标准可供我们选择参数。
解决方案
这是一个加载的问题,我不确定您的问题的格式对于 StackOverflow 是否正确,因为它不一定是编码问题。
然而,选择超参数是所有机器学习中最大的挑战之一。没有正确的答案可以告诉您“X 和 Y 会给您比 Z 和 W 更好的结果”,因为问题中有多少因素。你在尝试什么样的建模,你的目标是什么,你的数据是什么等等。
我建议的第一部分是我在“你的目标是什么”中提出的问题。如果是分类,回归或其他。一旦你能回答这个问题,你可能需要确定你的损失函数。这本身就具有挑战性,但这是我提供的一个链接,可以很好地了解不同的损失函数及其用法: https ://machinelearningmastery.com/how-to-choose-loss-functions-when-training-深度学习神经网络/
其次,确定其他参数是一个完全不同的挑战。从批量大小、学习率、优化器等。有太多东西无法得到明确的答案。然而,有些技术使用网格搜索,本质上您以循环样式序列运行模型,并使用您想要测试的所有可能参数。Keras Tuner 就是这样一种工具,可以做到这一点。
总的来说,我认为你应该对深度学习这个话题做一些进一步的研究。 https://www.deeplearning.ai/ai-notes/optimization/ 这是一个有用的链接,可以提供一些见解。
推荐阅读
- c++ - 嵌套类成员变量不可访问。链表设置。v、next 和 new 的问题
- python-3.x - opencv:无法在 pythonanywhere 中读取 facerecognizer 模型
- python - 我正在尝试搜索项目,但程序给出的结果不正确
- c - C 代码中终端的错误输出(使用 argc)
- service-worker - 服务工作者从磁盘缓存中缓存资源
- javascript - 当用户滚动到平滑滚动的部分时,如何添加活动类?
- swift - 从单元格到新视图控制器的图像传输主要加载错误的图像有没有办法解决这个问题?
- python - 在 pandas 数据帧上使用插值并得到“没有名为 1 的轴”错误
- java - JDA - 我编写了一个机器人,但无法让它运行
- delphi - 网络丢失后如何重新连接到同一个 UIBDatabase + UIBTransaction?