如果您计划尝试深度学习模型,那么Keras可能是一个很好的起点。它是用Python编写的高级API,后端支持Tensorflow、CNTK和Theano。
对于那些对Keras不熟悉的人,你可以在Keras阅读更多。io或一个简单的谷歌搜索将带你到基础和更多的Keras。
在这篇文章中,我想分享我在一年前用Keras做实验时学到的经验或希望我知道的事情。我正在分享的一些东西可能会被新的方法取代,甚至被先进的机器学习平台自动化。
1、一般来说,从较小的神经网络架构开始,看看模型在dev/test集上的表现如何。
2、模型架构,超参数值根据数据集而变化。换句话说,对于不同的数据集/业务问题,它可能是不同的。
3、架构和超参数通常使用迭代方法派生。这里没有黄金法则。
4、培训/开发/测试的分割可以是90%,5%,5%甚至98%,1% 1%。在Keras中,dev split被指定为模型的一部分。适合验证关键字。
5、在构建模型之前,定义并确定度量标准。一个度量可以关注模型的精度(MAE、精度、精度、召回等),但是还需要一个与业务相关的度量。
6、您并不总是需要一个深度学习模型来解决业务问题。与CNN或LSTM相比,迭代和运行基于树的模型(如梯度助力法或随机森林)要快得多
下图显示了一个模型在epoch ~ 100收敛。如果模型不收敛,训练和验证曲线就不会相交。
我希望这篇文章对您学习和使用Keras进行深度学习模型实验非常有用。
如果我漏掉了什么重要的东西,或者你发现了与你的实验不同的东西,请在下面评论。