第2章 训练预测模型

本章通过实践例子来展示如何在R中建立并训练基本的神经网络。这些例子也强调了评价模型不同的调节参数的重要性从而找到最佳的参数集合。尽管评价多种调节参数有助于模型的性能提升,但是它也会引起过拟合的问题,这是本章讨论的第二个主题。本章结尾使用了数据分类的例子,活动数据来自于行走、上下楼梯、坐下、站立或躺倒时的智能手机。

本章包括下列主题。

  • R中的神经网络
  • 过拟合数据的问题—结果解释
  • 建立案例并运用神经网络方法

为了在R中训练基本(即隐藏层数目为单个的“浅层的”)神经网络,我们将使用nnet包和RSNNS包[Bergmeir, C.和Benítez, J. M.(2012)]。在第1章,这些包已经安装并通过了2016年2月20日的检查点,因此我们的结果完全可重复。尽管可以与nnet包直接连接,我们还是通过caret包来使用它。caret是“Classification and Regression Training”(分类与回归训练)的缩写。caret包提供了标准化的接口与R中许多机器学习模型协作(Kuhn,2008;Kuhn和Johnson,2013),而且对验证和性能评估提供了许多有用的特征,我们会在本章和第3章中使用这些应用。

我们建立神经网络的第一个例子,这里使用了一个经典的分类问题—基于图片识别手写体数字。数据可以从https://www.kaggle.com/c/digit-recognizer下载,格式是易于使用的CSV格式,其中数据集的每一列(即特征),表示图像的一个像素。每张图像都经过标准化处理,转化成同样的大小,所以所有图像的像素个数都相同。第一列包含真实的数据标签,其余各列是黑暗像素的值,它用于分类。下载文件的名称分别为 ...

Get R深度学习权威指南 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.