Keras—建立人工神经网络(ANN)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Keras—建立人工神经网络(ANN)

Keras介绍

从本质上讲,Keras更像一个高级的API函数,它可以用TensorFlow、Theano、CNTK等深度学习框架为后台,简单高效的构建神经网络模型。

keras安装

Python库安装方法: pip install 库名。

安装Numpy和Scipy;

安装HDF5和Graphviz;

推荐安装TensorFlow;

安装Keras

如果需要GPU加速,请自行安装CUDA和cuDNN。

Keras构建模型的过程

下载训练数据

定义数据是必须的步骤。实际应用过程当中,可以根据具体的需求定义数据大小。为了展示

网络的过程,我们选用IMDB数据集,来处理电影评论分类问题。IMDB数据集已经内置到Keras

中。并且已经经过预处理:评论已经被转化成整数序列。关于这部分内容,我们下面会专门说明。本质上讲,就是把文字编码成数字,因为计算机无法识别文字。

编码的一个简单示例,把一句话分词为4个字符,用4位分别表示每个字符,编码的最大特点是每个编码只有一位是1。

ONE-HOT编码实现-enumerate函数

def vectorize_sequences(sequences, dimension=10000):

results = np.zeros((len(sequences), dimension))

for i, sequence in enumerate(sequences):

results[i, sequence] = 1.

return results

vectorize_sequences函数就是实现ONE-HOT编码的方法。enumerate函数的作用是将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。

List = ['I', 'Love', 'Beijing']

enumerate(List) #结果是[(0,'I'), (1,'Love'), (2,'Beijing')]

ONE-HOT编码实现-实现步骤

我们可以把ONE-HOT编码实现步骤整理如下:

1. 建立一个零矩阵,矩阵行数等于不重复字符个数,矩阵列数不少于不重复字符个数;

2. 循环检索索引,并给零矩阵赋值

预留训练数据集与测试数据集

训练数据集用于训练网络,而测试数据集用来验证网络模型是否存在欠拟合与过拟合的现象。这两个概念稍后介绍。

#ONE-HOT编码

x_train = vectorize_sequences(train_data)

x_test = vectorize_sequences(test_data)

#将标签向量化(将数组转化成矩阵并转化成浮点型)

y_train = np.asarray(train_labels).astype('float32')

y_test = np.asarray(test_labels).astype('float32')

#训练集与测试集

x_val = x_train[:10000] #输入测试集

partial_x_train = x_train[10000:] #输入训练集

y_val = y_train[:10000] #输出测试集

partial_y_train = y_train[10000:] #输出训练集

欠拟合与过拟合-机器学习的根本问题

机器学习的根本问题是优化和泛化之间的对立。优化是指调节模型以在训练数据上得到最佳性能;泛化是指训练好的模型,在前所未有的数据上的性能好坏。机器学习的最终目的是得到良好的泛化,但是我们无法控制未知数据的泛化,只能根据已知的训练数据来调整模型。

什么是欠拟合与过拟合

我们希望模型具有良好的泛化能力,能够表征数据的一般特性。过拟合与欠拟合都会影响泛化能力。

如何解决欠拟合与过拟合问题

1. 最优的方法是获取更多的训练数据;

2. 合理设计网络大小,包括网络层数与每层神经元个数,这一点完全依靠个人的经验;

Keras构建了一个简单的神经网络模型,通过本节:

Keras及其安装过程;

ONE-HOT编码的原理;

通过对过拟合与欠拟合的了解,掌握神经网络训练的目标和判断模型好坏的标准;掌握网络模型定义、编译与训练的过程;

了解小批量梯度下降法。本节源码下载

更多内容可访问:www.deepthink.press

相关文档
最新文档