美文网首页深度学习
准备数据、构建网络、编译模型

准备数据、构建网络、编译模型

作者: 庵下桃花仙 | 来源:发表于2019-03-12 22:46 被阅读0次

准备数据

import numpy as np

def vectorize_sequences(sequences, dimension=10000):
    results = np.zeros((len(sequences), dimension))
    for i, sequence in enumerate(sequences):
        results[i, sequence] = 1.
    return results

x_train = vectorize_sequences(train_data) # 将训练数据向量化
x_test = vectorize_sequences(test_data) # 将测试数据向量化

标签向量化

标签向量化有两种方法:
1、将标签列表转换为整数张量;
2、one-hot 编码。
上述例子即为 one-hot 编码,每个标签标示为全零向量,只有标签索引对应的元素为1

# 标签向量化
def to_one_hot(labels, dimension=46):
    results = np.zeros((len(labels), dimension))
    for i, label in enumerate(labels):
        results[i, label] = 1.
    return results

one_hot_train_labels = to_one_hot(train_labels) # 将训练标签向量化
one_hot_test_labels = to_one_hot(test_labels) # 将测试标签向量化

另外,Keras内置方法也可实现这个操作

from keras.utils.np_utils import to_categorical

one_hot_train_labels = to_categorical(train_labels)
one_hot_test_labels = to_categorical(test_labels)

构建网络

与IMDB相比,输出类别数量变为46,输出空间维度大的多。Dense层的堆叠,每层只能访问上一层输出的信息,如果某一层丢失信息,则无法找回,因此,为了避免信息瓶颈,则采用维度更大的层。

模型定义

from keras import models
from keras import layers

model = models.Sequential()
model.add(layers.Dense(64, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(46, activation='softmax'))

注意两点:

1、最后一层输出46维的向量,向量的每个维度代表不同的输出类别;
2、最后激活函数为softmax。输出为在46个不同输出类别上的概率分布,output[i] 表示样本属于第 i 个类别的概率。46个概率综合为1。

编译模型

model.compile(optimizer='rmsprop',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

多元分类交叉熵(categorical_crossentropy)。衡量两个概率分布之间的距离,即网络输出的概率分布和标签的真实分布。

相关文章

  • 准备数据、构建网络、编译模型

    准备数据 标签向量化 标签向量化有两种方法:1、将标签列表转换为整数张量;2、one-hot 编码。上述例子即为 ...

  • kaggle猫狗大战

    下载数据 解压数据 查看数据 数据路径 查看数据情况 查看图片 建立模型 模型编译 构建数据生成器 训练模型 使用...

  • 【深度学习】跟着TensorFlow官网学习笔记(一)第一个神经

    一、构建模型 二、准备训练数据 三、训练模型 四、使用模型

  • pytorch--1数据加载

    构建数据Dataset和DataLoader 构建网络 参考: PyTorch之保存加载模型pytorchyolo...

  • Pytorch 任务四

    首先用numpy实现: PyTorch实现多层网络 引入模块,读取数据 构建计算图(构建网络模型) 损失函数与优化...

  • 十二、三图联动

    1.准备输入数据 2.挑选感兴趣的基因构建coxph模型 用survival::coxph()函数构建模型 3.模...

  • 数据挖掘学习报告

    数据挖掘的流程有,数据预处理、建立模型、构建网络、训练模型和加载模型预测。上面的代码显示了一个很简单的数据挖掘流程...

  • WGCNA(2):选择软阈值+网络构建

    来源:自动网络构建_Horvath_Lab逐步网络构建_Horvath_Lab 1准备阶段:加载包、数据集 2阈值...

  • AutoAI:人与机器更好地结合在一起

    作者 | Susan Malaika编译 | CDA数据分析师 了解AutoAI如何实现数据准备,模型开发,功能工...

  • 十一、timeROC

    1.准备输入数据 2.构建lasso回归模型 输入数据是表达矩阵(仅含tumor样本)和对应的生死。 3.模型预测...

网友评论

    本文标题:准备数据、构建网络、编译模型

    本文链接:https://www.haomeiwen.com/subject/mjgopqtx.html