Python与机器学习(第2版)(微课版) 课件 8-02-CNN行为识别任务实施_第1页
Python与机器学习(第2版)(微课版) 课件 8-02-CNN行为识别任务实施_第2页
Python与机器学习(第2版)(微课版) 课件 8-02-CNN行为识别任务实施_第3页
Python与机器学习(第2版)(微课版) 课件 8-02-CNN行为识别任务实施_第4页
Python与机器学习(第2版)(微课版) 课件 8-02-CNN行为识别任务实施_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CNN行为识别任务实施人体行为识别-任务(1)主讲人:陈清华会使用Keras设计并构建卷积神经网络;会对构建的卷积神经网络模型进行训练和调优;会使用不同的指标对训练得到的模型进行评估。能力目标主要内容任务工单引导问题任务评价标准任务解决方案代码解析使用卷积神经网络实现人体行为识别教学难点使用read_csv()从文件中读取数据后,准备好训练数据集(验证集)和测试数据集。接着将训练数据放入设计、构建的卷积神经网络进行训练,最后用测试数据来预测人体行为的类别并评估模型优劣。任务概述

任务描述:

基于给定的公开数据集,设计卷积神经网络(CNN),并使用Keras中的Sequential序贯模型构建卷积神经网络,实现人体行为识别应用。010010011001101010100100110110100101110101000100001011011101001010101101010011010010任务工单原始数据结果输出

任务要求任务概述准确率混淆矩阵预测值、实际值躺坐站走下楼上楼躺510024003坐240780002站050480110走008458219下楼2001038424上楼312714444(1)查看训练数据样本,明确各数据项的意义并做好特征提取。请举例说明数据列“body_gyro_x”代表的意义?做什么用?(2)什么是卷积神经网络?在设计卷积神经网络结构时有哪些关键参数?并说明其与神经网络的主要区别。(3)查看Keras中文帮助文档(https://keras.io/zh/),说一说Keras是如何实现卷积神经网络的?试画出一个最简单的卷积神经网络模型,并写出使用Keras的构建过程。(4)当卷积神经网络模型识别准确率低时,可调整哪些参数?如何调整?”

问题引导:任务概述

任务评价:任务概述评价内容评价要点分值分数评定自我评价1.任务实施数据读取2分数据正确读取得2分

模型构建与训练3分会设计卷积神经网络结构得1分,模型能正确构建得1分,代码正确且顺利执行得1分

模型测试1分会调用模型预测分类得1分

2.效果评估分析模型的准确性,并得出评估结论3分能正确展现评估报告得1分,会调整参数使得准确率达到90%以上得2分

3.任务总结依据任务实施情况总结结论1分总结内容切中本任务的重点要点得1分合计10分

任务解决方案

(1)定义模型相关参数

conv_size1=64#第一次卷积得到特征图个数

conv_size2=32#第二次卷积得到特征图个数

kernel_size=3#卷积核大小

timesteps=128#步长

input_dim=9#维度

n_classes=6#类别个数

pool_size=2#池化大小

batch_size=16#每个批次大小

epochs=30#训练次数任务解决方案

(2)模型建立:依据应用场景,设计神经网络模型并构建。fromkeras.models

importSequential

fromkeras.layers

importAveragePooling1D,Dense,Conv1D,Flatten,Activation

model=Sequential()

model.add(Conv1D(conv_size1,kernel_size=kernel_size,padding='same',input_shape=(timesteps,input_dim)))

model.add(AveragePooling1D(pool_size=pool_size))

model.add(Conv1D(conv_size2,padding='same',kernel_size=kernel_size))

model.add(Activation('relu'))

model.add(Flatten())

model.add(Dense(n_classes,activation='softmax'))

model.compile(loss='categorical_crossentropy',ptimizer='rmsprop',metrics=['accuracy'])任务解决方案model.fit(X_train,

Y_train,

batch_size=batch_size,

validation_data=(X_val,Y_val),

epochs=epochs)

(3)模型训练:传入训练集,训练模型。Trainon7352samples,validateon2947samplesEpoch1/307352/7352[==============================]-3s436us/step-loss:0.4260-accuracy:0.8301-val_loss:0.4478-val_accuracy:0.8510…Epoch29/307352/7352[==============================]-3s444us/step-loss:0.0719-accuracy:0.9769-val_loss:1.5212-val_accuracy:0.8890Epoch30/307352/7352[==============================]-3s439us/step-loss:0.0656-accuracy:0.9769-val_loss:1.4042-val_accuracy:0.9053可以根据需要从训练集中抽取数据做验证集任务解决方案scores=model.evaluate(X_test,Y_test)

print(scores[1])

(4)模型评估2947/2947[==============================]-0s145us/step0.9053274393081665#准确率任务解决方案predicts=model.predict(X_test)

ACTIVITIES={0:'走',1:'上楼',2:'下楼',3:'坐',4:'站',5:'躺'}

def

confusion_matrix(Y_true,Y_pred):

Y_true=pd.Series([ACTIVITIES[y]foryinnp.argmax(Y_true,axis=1)])

Y_pred=pd.Series([ACTIVITIES[y]foryinnp.argmax(Y_pred,axis=1)])

returnpd.crosstab(Y_true,Y_pred,rownames=['True'],col

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论