此文编译自FCC(FreeCodeCamp),作者为Déborah Mesquita,该作者利用神经网络和TensorFlow进行了机器文本分类,并提出了一种新颖的学习方法——宏观分析。机器人圈希望通过此文对圈友开始机器学习的探索之路有所帮助,文章略长,请耐心阅读并收藏。我们附上了此实例最终代码的GitHub链接,供圈友学习使用。 开发人员经常说,如果你想要着手机器学习,你就应该首先学习算法是如何运行的。但是我的经验告诉我并不需要如此。 我认为,你应该首先能够宏观了解:这个应用程序是如何运行的。一旦你弄明白这一点,深入挖掘和探索这个算法的内部工作原理将变得相当简单。 那么,你该如何培养对机器学习的直觉并实现宏观了解呢?创建机器学习模型就是一个很好的方法。 假设你依旧不知道该如何从头开始创建这些算法,那么你将希望使用一个帮你实现所有这些算法的库,而这个库就是TensorFlow。 在本文中,我们将要创建一个机器学习模型来进行文本分类。我们先讨论一下主题: 1.TensorFlow是如何运行的? 2.什么是机器学习模型? 3.什么是神经网络? 4.神经网络是如何进行学习的? 5.如何操作数据并将其传递给神经网络输入? 6.如何运行模型并获得预测结果? 你将要学习到大量的新知识,那么我们开始吧。 TensorFlow TensorFlow是一种机器学习的开源库,最初是由谷歌创立的。这个库的名字帮助我们理解我们是如何用它工作的:张量(Tensor)是通过图的节点流动的多维数组。 ★tf.Graph TensorFlow中的每一个计算都代表着一个数据流图。这个图有两个元素: 一系列的tf.Operation,代表计算单位 一系列的tf.Tensor,代表数据单位 为了看清这一切是如何运行的,atv,你需要创建一下这张数据流图: 计算X+Y的图形 定义x= [1,3,6],y =[1,1,1],这个图和tf.Tensor一起工作来代表数据的单位,你需要创建恒定的张量: 现在你需要定义操作单元: 你已经有足够的图元素了,现在你需要创建图: 这就是TensorFlow工作流是如何运行的:首先,你需要创建一张图,只有这样你才能进行计算(真正地运行图节点的操作)。为了运行这图你将需要创建一个tf.Session。 ★tf.Session 一个tf.Session对象封装了操作对象执行的环境,并且对Tensor对象进行评估(tf.Session介绍)。为了做到这一点,我们需要定义在会话中将要用到哪一张图: 想要执行这个操作,你会用到tf.Session.run()这个方法。这个方法执行TensorFlow计算中的一步,而这个是通过运行必要的图表片段来执行每个Operation和评估在参数提取中传递的每一个Tensor来实现的。在你的案例中,你需要运行一系列操作中的一步: 一个预测模型 既然你已经知道TensorFlow是如何工作的,你就必须学习如何创建一个可预测模型。总的说来,就是: 机器学习算法+数据=预测模型 构建模型的过程如下: 构建模型的过程 正如你所见,这个模型包含一种用数据“训练”的机器学习算法。一旦你有了这个模型,你将获得以下的结果: 预测工作流 你创建的这个模型的目标是为了将文本类别进行分类,我们定义它为: input: text, result: category (责任编辑:本港台直播) |