奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 320 页

PDF 物理页索引 336 · 第10章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
320
PDF 物理页
336(从 0 开始)
章节
第10章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
f2a597ee85bb2db9550831eaeaf9053f27aabe03595bf42b9989851cc7c326ef

测试数据,预处理这些数据,然后调用预测函数。最后计算根均方值:

结果如下:

Final RMSE (on test data): 116.12

10.2 训练神经网络

机器学习的常见任务就是拟合,也就是给定一些样本点,用合适的曲线揭示这些样本点随着自变量的变化关系。深度学习同样也是为了这个目的,只不过此时样本点不再限定为(x,y)点对,而可以是由向量、矩阵等组成的广义点对(X,Y)。此时,(X,Y)之间的关系也变得十分复杂,不太可能用一个简单函数表示。正如前面提到的,我们可以用多层神经网络来表示这样的关系。

Backpropagation(反向传播)算法是最常见的一种多层神经网络训练算法。借助这种算法,梯度下降法在多层神经网络中将成为可行方法。反向传播算法对于快速训练大型神经网络来说至关重要。TensorFlow可自动处理反向传播算法,因此我们不需要对该算法做深入研究。

10.2.1 正向传播算法

在学习反向传播算法的工作原理之前,我们首先了解一下什么是正向传播算法。如图10-17所示,这是一个简单的神经网络(见左图),其中包含一个输入节点、一个输出节点以及两个隐藏层(分别有两个节点)。相邻的层中的节点通过权重 $\mathrm { w _ { i j } }$ 相关联,这些权重是网络参数。如图10-17的中图所示,每个节点都有一个输入x、一个激活函数f(x)以及一个输出y=f(x),必须是非线性函数,否则神经网络就只能学习线性模型。常用的激活函数是S型函数,比如:

$$
f ( x ) = { \frac { 1 } { 1 + e ^ { - x } } }
$$

人工智能与大数据技术导论

320