Python與機器學習(第2版)(微課版) 課件 項目08 人體行為識別應用_第1頁
Python與機器學習(第2版)(微課版) 課件 項目08 人體行為識別應用_第2頁
Python與機器學習(第2版)(微課版) 課件 項目08 人體行為識別應用_第3頁
Python與機器學習(第2版)(微課版) 課件 項目08 人體行為識別應用_第4頁
Python與機器學習(第2版)(微課版) 課件 項目08 人體行為識別應用_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

項目背景|項目概述|學習目標|任務實施步驟人體行為識別01101111011010111101010000101101010100111101【數(shù)據(jù)挖掘應用】背景先導項目概述項目學習目標任務實施步驟01Background02BriefIntroduction03LearningObjectives04ImplementationSteps項目簡介人體行為識別應用人體行為識別(HumanActivityRecognition,HAR)是通過分析人類活動的運動信息,從而對運動行為進行分類認識,已廣泛應用在人機交互、醫(yī)療輔助和公共安全等領域。

HAR是指基于先進的電子傳感器或者其他信號處理技術,通過計算機自動識別人的日?;顒樱瑥亩行У貦z測和分析人的行為特征,從而可以對人的行為進行理解和預測的技術。人體行為識別

特征提取有幾個常用技術:加速度計傳感器視覺傳感器陀螺儀通過深度學習網(wǎng)絡提取圖像和視頻等特征

模式識別技術主要是通過機器學習和深度學習方法實現(xiàn)對獲取的特征信號的分類。可將視覺傳感和陀螺儀傳感器的數(shù)據(jù)進行融合,一方面可以更加準確地提取特征,另一方面也可以實現(xiàn)更為準確的分類。項目總體要求

人體行為識別網(wǎng)絡下載的數(shù)據(jù)集中采集了30名年齡在19~48歲的志愿者的手機傳感器信息。每名志愿者腰間佩戴智能手機進行六項活動(行走、上樓、下樓、坐著、站立、躺下),利用其內(nèi)置的加速度計和陀螺儀進行數(shù)據(jù)采集。項目使用深度學習技術做人體識別行為。(1)features_info.txt:顯示有關在特征向量上使用的變量信息。(2)features.txt:所有功能的列表。(3)activity_labels.txt:類標簽與其活動名稱的對應關系。(4)train/x_train.txt:訓練集數(shù)據(jù)。(5)train/y_train.txt:訓練集標簽。(6)test/x_test.txt:測試集數(shù)據(jù)。(7)test/y_test.txt:測試集標簽。項目三維目標了解深度學習技術的基本概念與應用;了解常用的深度學習方法及其原理,包括卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡;掌握Keras包中Sequential序貫模型的使用方法;

(阿里云大數(shù)據(jù)分析與應用職業(yè)技能等級標準高級5.3.1)理解卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡的關鍵參數(shù)及其作用。知識目標能力目標素質目標證項目三維目標會初步使用卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡解決分類應用問題;(難點)會使用第三方工具包Keras設計、構建神經(jīng)網(wǎng)絡模型實現(xiàn)行為分類應用;

(重點:大數(shù)據(jù)工程技術人員國家職業(yè)技術技能標準中級6.2.2)會結合應用對卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡模型進行調參優(yōu)化。(難點)

知識目標能力目標素質目標崗011011110110101111010111100100001011010101001111101項目三維目標注重數(shù)據(jù)安全,強化大在數(shù)據(jù)時代背景下數(shù)據(jù)安全與隱私保護意識;全面分析與觀察,提升個體在群體行為中的大局觀和全局意識;自立自強、敢于擔當,進一步提升服務科技強國的意識。能力目標素質目標知識目標011011110110101111010111100100001011010101001111101人體行為識別工作流程數(shù)據(jù)特征分析行為識別模型評估數(shù)據(jù)獲取使用Pandas工具包從本地txt文件中讀取行為識別數(shù)據(jù)。數(shù)據(jù)特征分析行為識別數(shù)據(jù)獲取對行為數(shù)據(jù)集中的訓練集和測試集的數(shù)據(jù)特征進行統(tǒng)計分析,觀察各種行為數(shù)據(jù)樣本是否均衡。模型評估人體行為識別工作流程數(shù)據(jù)特征分析行為識別模型評估數(shù)據(jù)獲取使用卷積神經(jīng)網(wǎng)絡識別人體行為使用循環(huán)神經(jīng)網(wǎng)絡識別人體行為人體行為識別工作流程數(shù)據(jù)特征分析行為識別模型評估數(shù)據(jù)獲取分別對獲得的兩個模型進行評估,輸出識別準確率及混淆矩陣等。人體行為識別工作流程還在等什么?馬上動手實施人體行為識別項目吧~1.人體行為識別的基本概念2.人體行為識別數(shù)據(jù)的獲取3.人體行為識別項目工作流程小結CNN行為識別任務實施人體行為識別-任務(1)會使用Keras設計并構建卷積神經(jīng)網(wǎng)絡;會對構建的卷積神經(jīng)網(wǎng)絡模型進行訓練和調優(yōu);會使用不同的指標對訓練得到的模型進行評估。能力目標主要內(nèi)容任務工單引導問題任務評價標準任務解決方案代碼解析使用卷積神經(jīng)網(wǎng)絡實現(xiàn)人體行為識別教學難點使用read_csv()從文件中讀取數(shù)據(jù)后,準備好訓練數(shù)據(jù)集(驗證集)和測試數(shù)據(jù)集。接著將訓練數(shù)據(jù)放入設計、構建的卷積神經(jīng)網(wǎng)絡進行訓練,最后用測試數(shù)據(jù)來預測人體行為的類別并評估模型優(yōu)劣。任務概述

任務描述:

基于給定的公開數(shù)據(jù)集,設計卷積神經(jīng)網(wǎng)絡(CNN),并使用Keras中的Sequential序貫模型構建卷積神經(jīng)網(wǎng)絡,實現(xiàn)人體行為識別應用。010010011001101010100100110110100101110101000100001011011101001010101101010011010010任務工單原始數(shù)據(jù)結果輸出

任務要求任務概述準確率混淆矩陣預測值、實際值躺坐站走下樓上樓躺510024003坐240780002站050480110走008458219下樓2001038424上樓312714444(1)查看訓練數(shù)據(jù)樣本,明確各數(shù)據(jù)項的意義并做好特征提取。請舉例說明數(shù)據(jù)列“body_gyro_x”代表的意義?做什么用?(2)什么是卷積神經(jīng)網(wǎng)絡?在設計卷積神經(jīng)網(wǎng)絡結構時有哪些關鍵參數(shù)?并說明其與神經(jīng)網(wǎng)絡的主要區(qū)別。(3)查看Keras中文幫助文檔(https://keras.io/zh/),說一說Keras是如何實現(xiàn)卷積神經(jīng)網(wǎng)絡的?試畫出一個最簡單的卷積神經(jīng)網(wǎng)絡模型,并寫出使用Keras的構建過程。(4)當卷積神經(jīng)網(wǎng)絡模型識別準確率低時,可調整哪些參數(shù)?如何調整?”

問題引導:任務概述

任務評價:任務概述評價內(nèi)容評價要點分值分數(shù)評定自我評價1.任務實施數(shù)據(jù)讀取2分數(shù)據(jù)正確讀取得2分

模型構建與訓練3分會設計卷積神經(jīng)網(wǎng)絡結構得1分,模型能正確構建得1分,代碼正確且順利執(zhí)行得1分

模型測試1分會調用模型預測分類得1分

2.效果評估分析模型的準確性,并得出評估結論3分能正確展現(xiàn)評估報告得1分,會調整參數(shù)使得準確率達到90%以上得2分

3.任務總結依據(jù)任務實施情況總結結論1分總結內(nèi)容切中本任務的重點要點得1分合計10分

任務解決方案

(1)定義模型相關參數(shù)

conv_size1=64#第一次卷積得到特征圖個數(shù)

conv_size2=32#第二次卷積得到特征圖個數(shù)

kernel_size=3#卷積核大小

timesteps=128#步長

input_dim=9#維度

n_classes=6#類別個數(shù)

pool_size=2#池化大小

batch_size=16#每個批次大小

epochs=30#訓練次數(shù)任務解決方案

(2)模型建立:依據(jù)應用場景,設計神經(jīng)網(wǎng)絡模型并構建。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可以根據(jù)需要從訓練集中抽取數(shù)據(jù)做驗證集任務解決方案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.如何設計并實現(xiàn)卷積神經(jīng)網(wǎng)絡?2.

如何訓練卷積神經(jīng)網(wǎng)絡模型,并對模型進行調優(yōu)?3.

如何評估模型?不急后續(xù)會有詳細說明與講解哦~RNN行為識別任務實施人體行為識別-任務(2)會使用Keras設計并實現(xiàn)循環(huán)神經(jīng)網(wǎng)絡;會對構建的循環(huán)神經(jīng)網(wǎng)絡模型進行訓練和調優(yōu);會熟練使用不同的指標對訓練得到的模型進行評估。能力目標主要內(nèi)容任務工單引導問題任務評價標準任務解決方案代碼解析使用循環(huán)神經(jīng)網(wǎng)絡實現(xiàn)人體行為識別教學難點任務概述010010011001101010100100110110100101110101000100001011011101001010101101010011010010任務工單設計循環(huán)神經(jīng)網(wǎng)絡結構實現(xiàn)人體行為識別。使用Keras中的序貫模型構建、訓練、評估模型。與前續(xù)任務的識別結果進行比較,說明兩種算法的不同與優(yōu)劣。

任務描述:

基于給定的公開數(shù)據(jù)集,設計循環(huán)神經(jīng)網(wǎng)絡(RNN)并使用Keras中的Sequential序貫模型構建

循環(huán)神經(jīng)網(wǎng)絡實現(xiàn)人體行為識別應用。原始數(shù)據(jù)結果輸出

任務要求任務概述準確率混淆矩陣預測值實際值躺坐站走下樓上樓躺510000027坐041375003站031500100走0224443810下樓00014181上樓022112454(1)卷積神經(jīng)網(wǎng)絡與循環(huán)神經(jīng)網(wǎng)絡的本質區(qū)別是什么?應用上有何異同?(2)Keras中如何實現(xiàn)循環(huán)神經(jīng)網(wǎng)絡的?試依據(jù)本項目應用,設計并構建循環(huán)神經(jīng)網(wǎng)絡。(3)循環(huán)神經(jīng)網(wǎng)絡有哪些關鍵參數(shù)?如何調優(yōu)?(4)LSTM是什么?主要用來解決什么問題?”

問題引導:任務概述

任務評價:任務概述評價內(nèi)容評價要點分值分數(shù)評定自我評價1.任務實施模型構建4分導包正確得1分,能正確設計循環(huán)神經(jīng)網(wǎng)絡得1分,能正確使用Keras構建循環(huán)神經(jīng)網(wǎng)得2分

模型訓練1分代碼正確且順利執(zhí)行得1分,

模型評估1分能正確輸出模型評估報告得1分

2.效果分析分析模型的準確性2分準確率有提升得1分,準確率達到92%以上,得1分

3.任務總結依據(jù)任務實施情況總結結論2分總結內(nèi)容切中本任務的重點要點得1分,正確區(qū)分兩種模型優(yōu)劣得1分合計10分

任務解決方案

(1)定義模型相關參數(shù)

epochs=30#訓練次數(shù)

batch_size=16#每個批次大小

n_hidden=16#隱層單元個數(shù)

n_classes=6#類別個數(shù)

timesteps=len(X_train[0])

input_dim=len(X_train[0][0])任務解決方案

(2)模型建立:依據(jù)應用場景,設計神經(jīng)網(wǎng)絡模型并構建。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.如何設計并實現(xiàn)循環(huán)神經(jīng)網(wǎng)絡?2.

如何訓練循環(huán)神經(jīng)網(wǎng)絡模型,并對模型進行調優(yōu)?3.

如何評估模型?不急后續(xù)會有詳細說明與講解哦~項目背景|項目概述|學習目標|任務實施步驟拓展實訓影評數(shù)據(jù)分析應用【數(shù)據(jù)挖掘應用】01101111011010111101010000101101010100111101

熟練使用循環(huán)神經(jīng)網(wǎng)絡算法進行情感分析;

熟練使用Keras庫設計實現(xiàn)循環(huán)神經(jīng)網(wǎng)絡;技能學習目標

會使用混淆矩陣對模型進行評估。項目總體要求原始數(shù)據(jù)結果呈現(xiàn)IMDB是影評數(shù)據(jù)集,這些數(shù)據(jù)標識有情感標簽(正面/負面)。數(shù)據(jù)包含50000條電影評論,其中有25000條訓練數(shù)據(jù)及25000條用于測試,有著相同數(shù)量的正面與負面評論。LSTM情感分類準確率:0.8422LSTM情感分類混淆矩陣Predicted01Accuracy01093715631238110119一、數(shù)據(jù)加載max_features=15000 #設置最大特征為15000max_len=300 #單個句子最大長度為300batch_size=64 #每個批次大小#加載數(shù)據(jù)(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')二、數(shù)據(jù)預處理#使得數(shù)據(jù)長度保持一致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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論