正文
机器学习算法+数据=预测模型
构建模型的过程如下:
构建模型的过程
正如你所见,这个模型包含一种用数据“训练”的机器学习算法。一旦你有了这个模型,你将获得以下的结果:
预测工作流
你创建的这个模型的目标是为了将文本类别进行分类,我们定义它为:
input: text, result: category
我们有一个包含所有文本的训练数据集(每一个文本都有一个标签,说明它属于哪个类别)。
在机器学习中这类任务是以“监督”学习的方式进行的。
你需要将数据进行类别分类,所以它也是一个分类任务。
为了创建模型,我们将使用神经网络。
一个神经网络就是一个计算模型(使用数学语言和数学概念来描述一个系统的一种方式)。这些系统进行自学习和训练,而不是显式地编程。
神经网络受到我们中枢神经系统的启发,连接着和我们的神经元相似的节点。
一个神经网络
感知器是第一个神经网络算法。(
神经网络算法简介
)
为了理解神经网络是如何工作的,我们需要通过TensorFlow建立一个神经网络结构。
这个神经网络将有两个隐藏层(你必须选择网络中有多少个隐藏层,这是架构设计的一部分)。每个隐藏层的工作是将输入转换为输出层可以使用的内容。
★隐藏层1
输入层和第一层隐藏层
你还需要定义第一个隐藏层将有多少个节点。这些节点也被称为特征或神经元,在上面的图像中,它们由每个圆圈表示。
在输入层,每个节点都对应于数据集的一个词(稍后我们将看到它是如何工作的)。
正像这里解释的,
每个节点(神经元)乘以一个权重,每个节点都有一个权重,并在神经网络训练阶段调整这些值以产生正确的输出
(等等,我们一会儿说着重说一下这个)。
除了将每一个输入节点乘以一个权重,
网络中还增加了偏差
(
偏差在神经网络中的作用
)。
输入乘以权重后,经过加法之后输入给偏差,数据还要经过一个激活函数。这个激活函数定义了每个节点的最终输出。
举个例子来说明,假设每个节点是一盏灯,激活函数将要断定这盏灯是开还是关。
激活函数的类型有很多种,你将使用修正线性单元(ReLu),这个函数是这样定义的:
f(x) = max(0,x)