首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Scikit MLPClassifier诉Tensorflow DNNClassifier

Scikit MLPClassifier诉Tensorflow DNNClassifier
EN

Data Science用户
提问于 2017-11-01 21:29:26
回答 2查看 7.5K关注 0票数 2

我正试图理解Scikit MLPClassifier和Tensorflow DNNClassifier在分类任务上的区别,并希望一些专家能够分享一些信息。据我所知,它们都支持反向传播、激活函数(包括relu)、optmizer (sgd/adam)。MLPClassifier还可以通过指定隐藏层和节点的#来建立深度神经网络。我看到的两种不同之处是,DNNClassifier支持GPU培训,而MLPClassifer不支持。除了GPU支持之外,它们之间还有其他区别吗?为什么要使用Tensorflow的DNNClassifier进行基本的深层神经网络训练(我这里说的是基本的神经网络,而不是CNN、RNN、LSTM等)。比Scikit的MLPClassifier更好吗?

谢谢!

EN

回答 2

Data Science用户

发布于 2017-11-02 04:01:34

也许您想要使用更复杂的激活函数--即leakyReLU,或者要添加批处理规范化。简单地看一下API,SKlearn中没有批处理规范的选项。而且,您也不能在MLPClassifier中使用退出。

您也可能会对tensorflow特性感到更舒服--即张力板,或者您可能对SKlearn感到更舒服。每个人都有自己的。

票数 3
EN

Data Science用户

发布于 2017-11-07 04:45:30

MLPClassifier和DNNClassifier都是最简单的前馈神经网络的实现。所以原则上,它们是一样的。

Tensorflow是一个深度学习图书馆。学习是一个更传统的机器学习图书馆。

对于深度学习,只有MLPClassifier和MLPregressor,这是基础知识的基础。科学的发展-学习集中在一个更传统的领域机器学习,并作出了一个深思熟虑的选择,不扩大太多深入学习领域。

另一方面,Tensorflow致力于深度学习。你可以用它构建非常复杂的深度学习模型。而GPU的支持对于深度学习来说是一个很大的问题,我们真的需要1000倍的速度来完成任何有意义的工作。

您可以使用MLPClassifier玩玩具数据,但仅此而已。尽管如此,scikit--学习源代码和文档是如此容易访问。这是令人惊奇的学习。如果您刚刚开始深入学习,我强烈建议您使用MLPClassifier源代码。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/24275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档