美文网首页
序列分类

序列分类

作者: 光光小丸子 | 来源:发表于2018-11-16 21:31 被阅读0次

使用lstm的序列分类

序贯式模型

'''
import numpy as np
import keras
from keras.models import Sequential,Input,Model
from keras.layers import Dense, Dropout, Flatten,Embedding,LSTM
from keras.layers import Conv2D, MaxPooling2D
from keras.optimizers import SGD

max_features = 10000

model = Sequential()
model.add(Embedding(max_features, output_dim=256,input_shape=(100,)))
model.add(LSTM(128))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

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

print(model.summary())
'''

函数式模型

'''
input_1 = Input(shape=(100,))
x = Embedding(10000,256)(input_1)
x = LSTM(128)(x)
x = Dropout(0.5)(x)
output_1 = Dense(1,activation='sigmoid')(x)

model = Model(input_1,output_1)

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

使用1d卷积的序列分类

序贯式模型

'''
from keras.models import Sequential,Input,Model
from keras.layers import Dense, Dropout
from keras.layers import Embedding
from keras.layers import Conv1D, GlobalAveragePooling1D, MaxPooling1D
seq_length = 100
model = Sequential()
model.add(Conv1D(64, 3, activation='relu', input_shape=(seq_length, 100)))
model.add(Conv1D(64, 3, activation='relu'))
model.add(MaxPooling1D(3))
model.add(Conv1D(128, 3, activation='relu'))
model.add(Conv1D(128, 3, activation='relu'))
model.add(GlobalAveragePooling1D())
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

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

函数式模型

'''
input_1= Input(shape=(100,100))
x = Conv1D(64, 3, activation='relu')(input_1)
x = Conv1D(64, 3, activation='relu')(x)
x = MaxPooling1D(3)(x)
x = Conv1D(128, 3, activation='relu')(x)
x = Conv1D(128, 3, activation='relu')(x)
x = GlobalAveragePooling1D()(x)
x = Dropout(0.5)(x)
output_1 = Dense(1, activation='sigmoid')(x)
model = Model(input_1,output_1)
'''

使用栈式LSTM的序列分类

序贯式模型

'''
from keras.models import Sequential,Model,Input
from keras.layers import LSTM, Dense
import numpy as np

data_dim = 16
timesteps = 8
num_classes = 10
model = Sequential()
model.add(LSTM(32, return_sequences=True,
input_shape=(timesteps, data_dim))) # returns a sequence of vectors of dimension 32
model.add(LSTM(32, return_sequences=True)) # returns a sequence of vectors of dimension 32
model.add(LSTM(32)) # return a single vector of dimension 32
model.add(Dense(10, activation='softmax'))

model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
x_train = np.random.random((1000, timesteps, data_dim))
y_train = np.random.random((1000, num_classes))
x_val = np.random.random((100, timesteps, data_dim))
y_val = np.random.random((100, num_classes))

model.fit(x_train, y_train,
batch_size=64, epochs=5,
validation_data=(x_val, y_val))
'''

函数式模型

'''
input_1 = Input(shape=(timesteps,data_dim))
x = LSTM(32, return_sequences=True)(input_1)
x = LSTM(32, return_sequences=True)(x)
x = LSTM(32)(x)
output_1 = Dense(10, activation='softmax')(x)
model = Model(input_1,output_1)
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
model.fit(x_train, y_train,
batch_size=64, epochs=5,
validation_data=(x_val, y_val))
print(model.summary())
'''

相关文章

  • 序列分类

    使用lstm的序列分类 序贯式模型 '''import numpy as npimport kerasfrom k...

  • keras 例子

    基于多层感知机的softmax分类 MLP二分类 卷积神经网络 使用LSTM的序列分类 使用ID卷积的序列分类

  • Python:Python语言中的序列

    1. Python 序列分类 1.1. 按存储数据类型分类 容器序列,-- 定义:容器序列可以存放不同类型的数据,...

  • CH03序列及通用操作

    【课程3.2】 序列通用操作 序列分类:可变序列list,不可变序列tuple、str。 判断值是否属于序列 结...

  • Python进阶4

    自定义序列类型 序列类型的分类 按照序列存储数据的类型 容器序列:list, tuple, deque 扁平序列:...

  • python入门系列:自定义序列类型

    序列类型的分类 按照序列存储数据的类型 容器序列:list, tuple, deque 扁平序列:str, byt...

  • 时序分析

    1,时间序列算法 2,时间序列概念 2.1,分类 平稳序列 平稳非白噪音序列 (有成熟的...

  • Multi-Scale Convolutional Neural

    keywords: 时间序列处理; 深度学习; keras 针对现有时间序列分类方法的特征提取与分类过程分离,且无...

  • Multi-Scale Convolutional Neural

    keywords: 时间序列处理; 深度学习; keras 针对现有时间序列分类方法的特征提取与分类过程分离,且无...

  • Kraken使用手册

    Introduction Kraken 是可将分类标签分配给DNA序列的一种序列分类器,是基于k-mer精确比对,...

网友评论

      本文标题:序列分类

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