Python与机器学习(第2版)(微课版) 课件 项目08 人体行为识别应用_第1页
Python与机器学习(第2版)(微课版) 课件 项目08 人体行为识别应用_第2页
Python与机器学习(第2版)(微课版) 课件 项目08 人体行为识别应用_第3页
Python与机器学习(第2版)(微课版) 课件 项目08 人体行为识别应用_第4页
Python与机器学习(第2版)(微课版) 课件 项目08 人体行为识别应用_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

项目背景|项目概述|学习目标|任务实施步骤人体行为识别01101111011010111101010000101101010100111101【数据挖掘应用】背景先导项目概述项目学习目标任务实施步骤01Background02BriefIntroduction03LearningObjectives04ImplementationSteps项目简介人体行为识别应用人体行为识别(HumanActivityRecognition,HAR)是通过分析人类活动的运动信息,从而对运动行为进行分类认识,已广泛应用在人机交互、医疗辅助和公共安全等领域。

HAR是指基于先进的电子传感器或者其他信号处理技术,通过计算机自动识别人的日常活动,从而有效地检测和分析人的行为特征,从而可以对人的行为进行理解和预测的技术。人体行为识别

特征提取有几个常用技术:加速度计传感器视觉传感器陀螺仪通过深度学习网络提取图像和视频等特征

模式识别技术主要是通过机器学习和深度学习方法实现对获取的特征信号的分类。可将视觉传感和陀螺仪传感器的数据进行融合,一方面可以更加准确地提取特征,另一方面也可以实现更为准确的分类。项目总体要求

人体行为识别网络下载的数据集中采集了30名年龄在19~48岁的志愿者的手机传感器信息。每名志愿者腰间佩戴智能手机进行六项活动(行走、上楼、下楼、坐着、站立、躺下),利用其内置的加速度计和陀螺仪进行数据采集。项目使用深度学习技术做人体识别行为。(1)features_info.txt:显示有关在特征向量上使用的变量信息。(2)features.txt:所有功能的列表。(3)activity_labels.txt:类标签与其活动名称的对应关系。(4)train/x_train.txt:训练集数据。(5)train/y_train.txt:训练集标签。(6)test/x_test.txt:测试集数据。(7)test/y_test.txt:测试集标签。项目三维目标了解深度学习技术的基本概念与应用;了解常用的深度学习方法及其原理,包括卷积神经网络和循环神经网络;掌握Keras包中Sequential序贯模型的使用方法;

(阿里云大数据分析与应用职业技能等级标准高级5.3.1)理解卷积神经网络、循环神经网络的关键参数及其作用。知识目标能力目标素质目标证项目三维目标会初步使用卷积神经网络、循环神经网络解决分类应用问题;(难点)会使用第三方工具包Keras设计、构建神经网络模型实现行为分类应用;

(重点:大数据工程技术人员国家职业技术技能标准中级6.2.2)会结合应用对卷积神经网络、循环神经网络模型进行调参优化。(难点)

知识目标能力目标素质目标岗011011110110101111010111100100001011010101001111101项目三维目标注重数据安全,强化大在数据时代背景下数据安全与隐私保护意识;全面分析与观察,提升个体在群体行为中的大局观和全局意识;自立自强、敢于担当,进一步提升服务科技强国的意识。能力目标素质目标知识目标011011110110101111010111100100001011010101001111101人体行为识别工作流程数据特征分析行为识别模型评估数据获取使用Pandas工具包从本地txt文件中读取行为识别数据。数据特征分析行为识别数据获取对行为数据集中的训练集和测试集的数据特征进行统计分析,观察各种行为数据样本是否均衡。模型评估人体行为识别工作流程数据特征分析行为识别模型评估数据获取使用卷积神经网络识别人体行为使用循环神经网络识别人体行为人体行为识别工作流程数据特征分析行为识别模型评估数据获取分别对获得的两个模型进行评估,输出识别准确率及混淆矩阵等。人体行为识别工作流程还在等什么?马上动手实施人体行为识别项目吧~1.人体行为识别的基本概念2.人体行为识别数据的获取3.人体行为识别项目工作流程小结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'],colnames=['Pred'])

print(confusion_matrix(Y_test,predicts))

(4)模型评估#混淆矩阵小结1.如何设计并实现卷积神经网络?2.

如何训练卷积神经网络模型,并对模型进行调优?3.

如何评估模型?不急后续会有详细说明与讲解哦~RNN行为识别任务实施人体行为识别-任务(2)会使用Keras设计并实现循环神经网络;会对构建的循环神经网络模型进行训练和调优;会熟练使用不同的指标对训练得到的模型进行评估。能力目标主要内容任务工单引导问题任务评价标准任务解决方案代码解析使用循环神经网络实现人体行为识别教学难点任务概述010010011001101010100100110110100101110101000100001011011101001010101101010011010010任务工单设计循环神经网络结构实现人体行为识别。使用Keras中的序贯模型构建、训练、评估模型。与前续任务的识别结果进行比较,说明两种算法的不同与优劣。

任务描述:

基于给定的公开数据集,设计循环神经网络(RNN)并使用Keras中的Sequential序贯模型构建

循环神经网络实现人体行为识别应用。原始数据结果输出

任务要求任务概述准确率混淆矩阵预测值实际值躺坐站走下楼上楼躺510000027坐041375003站031500100走0224443810下楼00014181上楼022112454(1)卷积神经网络与循环神经网络的本质区别是什么?应用上有何异同?(2)Keras中如何实现循环神经网络的?试依据本项目应用,设计并构建循环神经网络。(3)循环神经网络有哪些关键参数?如何调优?(4)LSTM是什么?主要用来解决什么问题?”

问题引导:任务概述

任务评价:任务概述评价内容评价要点分值分数评定自我评价1.任务实施模型构建4分导包正确得1分,能正确设计循环神经网络得1分,能正确使用Keras构建循环神经网得2分

模型训练1分代码正确且顺利执行得1分,

模型评估1分能正确输出模型评估报告得1分

2.效果分析分析模型的准确性2分准确率有提升得1分,准确率达到92%以上,得1分

3.任务总结依据任务实施情况总结结论2分总结内容切中本任务的重点要点得1分,正确区分两种模型优劣得1分合计10分

任务解决方案

(1)定义模型相关参数

epochs=30#训练次数

batch_size=16#每个批次大小

n_hidden=16#隐层单元个数

n_classes=6#类别个数

timesteps=len(X_train[0])

input_dim=len(X_train[0][0])任务解决方案

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

fromkeras.layersimportLSTM

fromkeras.layers.coreimportDensemodel=Sequential()

model.add(LSTM(n_hidden,input_shape=(timesteps,input_dim)))

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

model.compile(loss='categorical_crossentropy',

optimizer='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[==============================]-15s2ms/step-loss:1.1432-accuracy:0.5248-val_loss:0.8790-val_accuracy:0.6132…Epoch29/307352/7352[==============================]-16s2ms/step-loss:0.1173-accuracy:0.9543-val_loss:0.3716-val_accuracy:0.8992Epoch30/307352/7352[==============================]-16s2ms/step-loss:0.1236-accuracy:0.9543-val_loss:0.3852-val_accuracy:0.8989任务解决方案scores=model.evaluate(X_test,Y_test)

print(scores[1])

(4)模型评估2947/2947[==============================]-1s335us/step0.8988802433013916#准确率任务解决方案print(confusion_matrix(Y_test,predicts))

(4)模型评估#混淆矩阵小结1.如何设计并实现循环神经网络?2.

如何训练循环神经网络模型,并对模型进行调优?3.

如何评估模型?不急后续会有详细说明与讲解哦~项目背景|项目概述|学习目标|任务实施步骤拓展实训影评数据分析应用【数据挖掘应用】01101111011010111101010000101101010100111101

熟练使用循环神经网络算法进行情感分析;

熟练使用Keras库设计实现循环神经网络;技能学习目标

会使用混淆矩阵对模型进行评估。项目总体要求原始数据结果呈现IMDB是影评数据集,这些数据标识有情感标签(正面/负面)。数据包含50000条电影评论,其中有25000条训练数据及25000条用于测试,有着相同数量的正面与负面评论。LSTM情感分类准确率:0.8422LSTM情感分类混淆矩阵Predicted01Accuracy01093715631238110119一、数据加载max_features=15000 #设置最大特征为15000max_len=300 #单个句子最大长度为300batch_size=64 #每个批次大小#加载数据(x_train,y_train),(x_test,y_test)=imdb.load_data(num_words=max_features)print(len(x_train),'trainobservations')print(len(x_test),'testobservations')二、数据预处理#使得数据长度保持一致x_train_2=sequence.pad_sequences(x_train,maxlen=max_len)x_test_2=sequence.pad_sequences(x_test,maxlen=max_len)print('x_trainshape:',x_train_2.shape)print('x_testshape:',x_test_2.shape)y_train=np.array(y_train)y_test=np.array(y_test)三、模型构建与训练#构建模型model=Sequential()model.add(Embedding(max_features,128,input_length=max_len))model.add(LSTM(64))model.add(Dense(1,activation='sigmoid'))model.compile('adam','binary_crossentropy',metrics=['accuracy'])#训练模型model.fit(x_train_2,y_train,batch_size=batch_size,epochs=4,validation_split=0.2)三、模型构建与训练Trainon20000samples,validateon5000samplesEpoch1/1020000/20000[==============================]-37s2ms/step-loss:0.5066-accuracy:0.7582-val_loss:0.3708-val_accuracy:0.8484...Epoch9/1020000/20000[==============================]-33s2ms/step-loss:0.0608-ac

温馨提示

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

评论

0/150

提交评论