PDF 物理页索引 240
文件中的第 241 页 · 印刷页码:224
结果如图8-15所示。
从上面的数据可以看出,均方根误差(RMSE)大概在目标的最小值和最大值之间。能否把误差缩小呢?我们首先来比较一下模型的预测值和目标值之间的区别:
注意,图8-17中,predictions列的值的单位是1000。所以,均值(mean)为0.1,相当于100。有时候,图表是一种展示数据的更直接的方式:
人工智能与大数据技术导论
224
PDF 物理页索引 241
文件中的第 242 页 · 印刷页码:225
结果如图8-18所示。
上图显示的线性回归线显然有一些问题,不能很好地预测房屋中位价。下面我们尝试优化模型。
8.2.5 优化模型
为了方便优化,我们首先定义一个模型训练函数。通过变换函数的参数,可以看到不同的效果。下面这个代码把整个执行过程分成10个平均分割的期间(periods),这样就可以让我们看到每个期间的模型优化情况。在图上展示每个时期的误差,从而帮助我们判断是否收敛,或者需要更多迭代。比如,periods=7和steps=70,那么,每10步就会输出误差值。值得注意的是,periods不是超参数(而steps是),所以,修改periods不会影响模型训练本身。
第8章 TensorFlow
225
PDF 物理页索引 242
文件中的第 243 页 · 印刷页码:226
人工智能与大数据技术导论
226
PDF 物理页索引 243
文件中的第 244 页 · 印刷页码:227
第8章 TensorFlow
227
PDF 物理页索引 244
文件中的第 245 页 · 印刷页码:228
相关数据如图8-19、图8-20所示。
我们更改这些超参数的值,看看误差是否有改善:
人工智能与大数据技术导论
228
PDF 物理页索引 245
文件中的第 246 页 · 印刷页码:229
相关数据如图8-21、图8-22所示。
从上面两个例子看出,不同的配置参数,预测的效果很不一样。至于哪些配置参数的预测效果好,其实也与数据集相关,多试几次。下面是优化的一些基本原则。
第8章 TensorFlow
229
PDF 物理页索引 246
文件中的第 247 页 · 印刷页码:230
人工智能与大数据技术导论
训练误差应该持续减小,这个误差曲线开始时可能比较陡,但是最终平稳(这时训练收敛)。
●如果训练没有收敛,训练时间可以更长一点。
如果训练误差下降得很慢,可以尝试加大步长。但要注意,有时步长过大,会有反作用。
●如果训练误差上下起伏很大,可以尝试减少步长。除了减少步长外,还要增加步数和批处理大小。
●小的批处理有时会不太稳定。可以先尝试100或1000,然后逐步减少,直到看到降级。
有时,我们也可以变换特征参数,比如:
相关数据如图8-23、图8-24所示。
230
PDF 物理页索引 247
文件中的第 248 页 · 印刷页码:231
8.2.6 合成特征
合成特征(syntheticfeature)是一种特征,不在输入特征之列,而是从一个或多个输入特征衍生而来。在本节中,我们需要修改一下模型训练函数:
第8章 TensorFlow
231
PDF 物理页索引 248
文件中的第 249 页 · 印刷页码:232
人工智能与大数据技术导论
232
PDF 物理页索引 249
文件中的第 250 页 · 印刷页码:233
对于一个城市街区,房价可能与total\_rooms和population两个特征相关,即人口密度与房价有关。在下面的代码中创建一个合成特征:roomsperperson,记录每人所分到的房间数。然后把这个合成特征作为模型训练函数的输入特征。其代码如下:
第8章 TensorFlow
233