Book-003-Edge-AI-課程-從預測到決策-ok8_第1页
Book-003-Edge-AI-課程-從預測到決策-ok8_第2页
Book-003-Edge-AI-課程-從預測到決策-ok8_第3页
Book-003-Edge-AI-課程-從預測到決策-ok8_第4页
Book-003-Edge-AI-課程-從預測到決策-ok8_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

EdgeAI&AIoT課程:從預測到決策1Sec.01時序性預測:使用RNN模型 p.1Sec.02從<預測>提升到<決策> p.28Sec.03協同過濾(CF)預測及推薦決策 P.60時序性預測----使用RNN模型——————————————————————1.1典型的2種AI預測模式1.2時序性預測:使用RNN模型1.3以<剪刀、石頭、布>划拳比賽為例EdgeAI&AIoT課程:從預測到決策31.1典型的2種AI預測模式ML的2種預測機制ecastingng而prediction則是從歷史數據中,學習群體的共相(共通性)來,然後分特徵,來預測其全貌。此時,最適合的AI分群ML預測模型的設計思路:而對於未來事物的可能變化,缺乏足夠的敏感度。forecastingAIRNNLSTM於是,在本案例裡,將採取一個融合策略:結合RNN和AE兩種模RNN模型及其訓練數據(TrainingData)RNN模型需要時序性數據,例如有3年~4年的歷史數據最佳。其可能有更多助益。RNN模型基本架構是:EdgeAI&AIoT課程:從預測到決策5LSTM位),發揮遠程記憶功能。各門店建立各自的模型,依據自己的模型進行預測(Forecasting)。AE模型及其訓練數據ictionEdgeAI&AIoT課程:從預測到決策7它與RNN模型使用<相同的訓練數據集>即可。但是,由於跨門店的分群。如果有20家~40家門店的3~4年歷史數據最佳。預測之後:優化>生成預測的結果,大多是不會令人們滿意的。於是,針對不滿意的部分,匯入專家智慧,進行模型參數優化Optimization)。然後,將優化結果,交給GAN模型學習。GAN學習所得的智慧,搭配現實和預測條件,以及決策因素,neration1.2時序性預測:使用RNN模型時間序列資料(Timesseriesdata)表示資料點是相互依賴的。時間(t)以學校宿舍餐廳為例宿舍餐廳每天晚上都會供應晚餐。其中,每周各天披薩,今天晚上就是壽司;如果昨天吃壽司,今天就會是鬆餅,非常有規律的循環。如下圖:圖片來源---EdgeAI&AIoT課程:從預測到決策9上您不在宿舍裡吃晚餐,那麽您可以推測今晚上的餐點資料,來預測(Forecast)昨天晚上的餐點。然後,也就能預測今且還能利用今晚預測的結果,來進一步的明天、後天的晚餐了。如下圖:只要將這些餐點,進行編碼,就能輸入RNN模型來進行預測了。欠缺也沒關係:晚的預測,可以推論出今晚的預測值。EdgeAI&AIoT課程:從預測到決策11OHE表示如下:推論出今晚的預測值:EdgeAI&AIoT課程:從預測到決策13如:推論:這就是典型的RNN結構圖:當於:同的結構形式:EdgeAI&AIoT課程:從預測到決策15表示如下:如:1.3以<剪刀、石頭、布>划拳比賽為例定,但是人類常常不自知。此時,運用AI來探索深藏不露的人的划拳---剪刀、石頭、布,把您划拳1000次記錄下來。AI瞬間就可以把您的出拳規律抓到了,而您的規律,也可代表人類的一般規律。RNN構:erEdgeAI&AIoT課程:從預測到決策17dt輸入值(dx):Error,並據之修正權種值:EdgeAI&AIoT課程:從預測到決策19此範例可以觀察其訓練過程的Error值的變化。此程式執行時,輸Python程式範例這個範例px11_09.py是典型的RNN編程風格。此範例實現了划拳遊戲的模型。出預測值:importnumpyasnp#----------------------------------defsigmoid(s):return+np.exp(-s))EdgeEdgeAI&AIoT課程:從預測到決策21defsoftmax(x):#Matrixtmp=np.max(x,axis=1)else:#Vectorx-=tmpx/=tmpreturnx#----------------------------------#建立兩時間點的(3x3x3)模型ydx=np.array([[[0,0,0]],[[0,0,0]]],dtype=np.float32)dt=np.array([[[0,0,0]],[[0,0,0]]],dtype=np.float32)lr=0.25zz0=Nonezz1=None#==================================================one_row():globalwh,wp,wo,zz0,zz1準備dw[]dwhnpzeros_like(wh)dwonpzeros_like(wo)dwpnp.zeros_like(wp)#=============向前推演==========================# 第1時間(t-2)------------------------X=dx[0]t=dt[0]zhsigmoidnpdotXwhnpdotzhiwp))z=softmax(np.dot(zh0,wo))zz0=zerror_0=t-z#--------第2時間(t-1)---------------------X=dx[1]defEdgeEdgeAI&AIoT課程:從預測到決策23t=dt[1]zhsigmoidnpdotXwhnpdotzh,wp))z=softmax(np.dot(zh1,wo))zz1=zerror_1=t-z#=============BP(反向傳播=======================# 第2時間(t-1)-------------------------delta_1=error_1error_hp=0delta_h1=zh1*(1-zh1)*(error_ho+error_hp)patleastdzhTdotdeltaph=zh0dphTdotdeltahX=dx[1]dwh+=X.T.dot(delta_h1)#---------第1時間(t-2)-------------------------delta_0=error_0delta_h0=zh0*(1-zh0)*(error_ho+error_hp)patleastdzhTdotdeltaph=zhidphTdotdeltahX=dx[0]dwh+=X.T.dot(delta_h0)wh+=dwh*lrwo+=dwo*lrwp+=dwp*lr#============================================defone_epoch():globaldx,dtforiinrange(12):row=raw_data[i]k1=row[0]k2=row[1]k3=row[2]if(k1==1):dx[0,0,0]=0dx[0,0,1]=1dx[0,0,2]=0elif(k1==2):dx[0,0,0]=1dx[0,0,1]=0dx[0,0,2]=0else:dx[0,0,0]=0dx[0,0,1]=0dx[0,0,2]=1if(k2==1):dx[1,0,0]=0dx[1,0,1]=1dt[0,0,0]=0dt[0,0,1]=1EdgeEdgeAI&AIoT課程:從預測到決策25dt[0,0,2]=0elif(k2==2):dx[1,0,0]=1dx[1,0,1]=0dx[1,0,2]=0dt[0,0,0]=1dt[0,0,1]=0dt[0,0,2]=0else:dx[1,0,0]=0dx[1,0,1]=0dx[1,0,2]=1dt[0,0,0]=0dt[0,0,1]=0dt[0,0,2]=1if(k3==1):dt[1,0,0]=0dt[1,0,1]=1dt[1,0,2]=0elif(k3==2):dt[1,0,0]=1dt[1,0,1]=0dt[1,0,2]=0else:dt[1,0,0]=0dt[1,0,1]=0dt[1,0,2]=1#------------------------one_row()#--------------------------------------------deftraining(ep):globalzz0,zz1print("\n訓練",ep,"回合")foriinrange(ep):one_epoch()#------測試(--------------------------------dx=np.array([[[[0,0,1]],[[0,0,1]]],[[[0,1,0]],[[0,1,0]]],[[[1,0,0]],[[1,0,0]]]],dtype=np.float32)forforiinrange(3):X=dx[i][0]zhsigmoidnpdotXwhnpdotzhiwp))X=dx[i][1]zhsigmoidnpdotXwhnpdotzh,wp))z=softmax(np.dot(zh1,wo))print("\n測試資料dx[]=")print(dx[i][0])print(dx[i][1])print("\n預測值z[]")printnproundz)) training(500) #End式執行時,輸出:EdgeAI&AIoT課程:從預測到決策27AI現了一項規律:您連續兩回合出招一樣時,其後(第,輸出:◆◆◆從預測提升到決策——————————————————————2.1<決策AI>模型2.2使用Google的TM(TeachableMachine)2.3知道撐傘能讓你免於淋濕,比預更重要EdgeAI&AIoT課程:從預測到決策292.1<決策AI>模型認識決策AI模型:以划拳比賽為例人類的思維和行為規律(Pattern)經過數億年的演化,已經非常穩律,如同顯微鏡一樣,會顯得清晰了。例如把您和您朋友之間的划拳---錄下來。AI瞬間就可以把您的出拳其中比較明顯的規律,拿來訓練AI模型,如下述<工作表2>的內容:與人類猜拳。一旦把您和您朋友之間的划拳---剪刀、石頭、布,把您划人類(對方)連續兩回合出招一樣時,其後(第3招)出招,幾乎不會與前兩回相同。例如,前兩回合,對方(人類)都出剪刀,這一回合,他幾乎不會繼分類模型去記住這些風險評估的規律。拳瞬間就可評估出招的風險,確保不會掉入高險的賽局裡。在不確定性高的賭局、股市、戰爭、及未經歷過的情境,同時,也請仔細看看隱藏層的參數設定是,S:表示有6筆訓練資EdgeAI&AIoT課程:從預測到決策31AI模型。H:代表這是含有3個隱藏層(Hidden)的深度學習模型。AI據這些參數而自動建立一個<多層>的AI模型。2.2使用Google的TMStep-1:[以TM訓練<決策AI>]以TM來訓練<決策AI>。AI+決策:必須依據<對方>過去的歷史決策數據,加上自己可能採勝出。而不是監視對方當下的行為,然後隨之起舞。人人都很熟悉的決策行為是:划拳遊戲,也就是<剪刀、石頭、布>遊戲。eClassifier第1個模型(RnnPredict)是基於RNN的模型,它從比賽的歷史數據odel,進行風險(Risk)評估。第3個模型(VoiceClassifier)是監視、辨別對方當下出拳的行為,而計算出勝負。EdgeAI&AIoT課程:從預測到決策33AI第3個模型:扮演<看門員>的角色。並沒有發揮AI應有的角色:成為決策者的軍師。現在,就來善用TeachableMachine的圖像識別能力,來實踐上述險(Risk)評估。也就是扮演<決策者的軍師>的角色。StepAI一個簡單的划拳範例]在前面所述第1個AI模型,表現出AI很擅長於資料中尋找出其中的其後(第3招)出招,幾乎不會與前兩回相同。前兩回,如果您出其他招(不連續出同一招)時,都全部看成<中等風AI模型的輸出結果是:接近[1,0,0]表示低風險。當接近[0,1,0]EdgeAI&AIoT課程:從預測到決策35Step-3:[將特徵值轉譯為Image]色代表它們。為什麼要把資料轉換成為圖像JPG或PNG格式呢?因為決策資料常需要很多層(很深度)的NN模型,才能更準確識別。非常輕鬆愉快的做法是:把資料轉換為Image格式,善用ResNet遷移學習,運用預訓練的50卷積層,可迅速訓練出好用的模型。轉譯好了,將這些圖像儲存於c:/oopc/StonrGame/Train/裡,如TMbatchsize成為9張圖像,如EdgeAI&AIoT課程:從預測到決策37Step-4:[使用TM來訓練模型]把剛才轉譯出來的圖像,拿來做為訓練資料,來訓練決策AI模型。接著,進入TM網頁:tpsteachablemachinewithgooglecomEdgeAI&AIoT課程:從預測到決策39mageProjectStandardimagemodelStep-6:[準備訓練資料(圖像)]ClassUpload,出現:EdgeAI&AIoT課程:從預測到決策41夾,例如:準備上傳另一個類別的圖像。如下畫面:dEdgeAI&AIoT課程:從預測到決策43夾,例如:然後勾選所要的圖像,並且上傳到TM裡。總共上傳了3張圖片。並繼續準備上傳第三個類別的圖像。請您查看畫面。如下:AddaclassEdgeAI&AIoT課程:從預測到決策45d夾,例如:然後勾選所要的圖像,並且上傳到TM裡,並且更改類別名稱,如Step-7:[設定訓練參數]查看畫面,如下:EdgeAI&AIoT課程:從預測到決策47經過幾秒鐘之後,就訓練完成了,出現如下:EdgeAI&AIoT課程:從預測到決策49模型已經訓練好了。Step-9:[檢測一下模型]查看一個畫面:,例如::EdgeAI&AIoT課程:從預測到決策51預測:這張圖片100%是<High_Risk>。EdgeAI&AIoT課程:從預測到決策53很正確地預測:這張圖片100%是<Low_Risk>。經過上述的測試,顯示出這個模型的預測準確性是很高的。p查看一下畫面,如下:tModelDownloadmymodel:這表示,正在匯出模型。大約1分鐘之後,就匯出檔案如下:EdgeAI&AIoT課程:從預測到決策55orFlowLiteFloatingpoint按下<Downloadmymodel>,就出現:這表示,正在匯出模型。大約1分鐘之後,就匯出檔案如下:然後,可以將<converted_savedmodel.zip解開後,就看到其內Step-11:[測試這個*.h5模型檔]撰寫一支測試程式:##tm002_risk.pyfromkeras.modelsimportload_modelfromPILimportImage,ImageOpsimportnumpyasnpadmodelcoxkerasmodelhdefpredict(path):data=np.ndarray(shape=(1,224,224,3),dtype=np.float32)image=Image.open(path)size=(224,224)image=ImageOps.fit(image,size,Image.ANTIALIAS)image_array=np.asarray(image)normalized_image_array=(image_array.astype(np.float32)/127.0)-1gearraypred=model.predict(data)d-------------------------path='c:/oopc/StoneGame/test/stone01.jpg'pathz=predict(path)path='c:/oopc/StoneGame/test/stone12.jpg'EdgeAI&AIoT課程:從預測到決策57hz=predict(path)path='c:/oopc/StoneGame/test/stone20.jpg'z=predict(path)#END執行結果是:2.3知道撐傘能讓你免於淋濕,比預測更重要來源:DeepMind有一本手冊告訴我們他是怎麼運來該怎麼做。」雜前瞻性決策的系統。」希弗提到,「(AI)可以從完全沒有先備知EdgeAI&AIoT課程:從預測到決策59界規則,並展現出超越人類的AI幕踏入現實的重要里程(Theabilitytoplanisanimportantpartofhumanintelligence,allowingustosolveproblemsandmakedecisionsaboutthefuture.Forexample,ifweseedarkcloudsforming,wemightpredictitwillrainanddecidetotakeanumbrellawithusbeforeweventureout.atraitwewouldalsolikeouralgorithmstohavePSDeepMind說,當看到烏雲密佈的天空,預測有下雨的可能性,就會決定攜帶雨傘出門。(MuZerousesadifferentapproachtoovercomethelimitationsofpreviousapproaches.Insteadoftryingtomodeltheentireenvironment,MuZerojustmodelsaspectsthatareimportanttotheagent’sdecision-makingprocess.Afterall,knowinganumbrellawillkeepyoudryismoreusefultoknowthanmodellingthepatternfraindropsintheair協同過濾(CF)預測及推薦決策----使用AICF模型——————————————————————3.1介紹AI推薦系統3.2活用AE,實踐CF預測&推薦3.3AI的神奇魅力:比你更懂你EdgeAI&AIoT課程:從預測到決策613.1介紹AI推薦系統CF推薦系統了,讓人眼花撩亂,因而需要有一項聽歌曲時,它會推薦您喜歡的音樂,當為您規劃一條最流暢的路線,這種工具通稱為:推薦系統(RecommenderSystem)。量資訊之中,幫你過濾你不感興資訊(又稱雜訊),它隨時精確細膩地鎖定那些讓您會心一笑的有意義就是,它不需要您提出明確的需求,就會根據您的偏好和行為,假設:相似的客戶群,其成員具有偏好來協同分析、挖掘出您潛在的興趣。例如,下圖A戶B是鄰居(具有高相似度):EdgeAI&AIoT課程:從預測到決策63請您按下<CF>按鈕,就會利用UserCF算法(規則)找出各位客戶的這圖看起來就更清晰了,其中的灰色空格部分,就是欠缺(Missing)CF的值,來替代這些欠缺的(評料。權重以及他們對物品的偏好,來預測當前客戶沒有未涉當您按下<傳統CF推薦>按鈕,就會利用傳統CF推薦演算法找出各後透過協同過濾方法找出合理的值來填入上圖裡的灰色CF推薦系統就是找出一群興趣相似的朋友,然的東西。推薦系統的主要任務是推薦使用者感興趣的內容,通過揣摩人心來預測用戶未來的消費行為。EdgeAI&AIoT課程:從預測到決策65料的爆發,基於ML機器學習的模型也例則建議優先推薦物品#1(草莓),其次是物品3(橘子)。3.2活用AE(自編碼器),實踐CF預測&推薦在AI教科書裡,總有一章會談到<自動編碼>模型設計。其中總有一辦到的。但棋子的擺放必須是實戰中的棋局(也就是棋子存在規則,就像第二組數字),棋子隨機擺放可不行(就像第一組數字)。象棋大師幷不,很擅於識別象棋模式,從而高效地記I來幫您複習這個基礎AI建模觀念。首先,我們要來訓練這個簡單的AutoEncoding模型。其中,輸入層神經元個數與輸出層是相同的:裡,中間層只有一個神經元。茲以Excel來訓練它:EdgeAI&AIoT課程:從預測到決策67練它之後,得出權重:您就看到了,輸入值=輸出值了。只留下:z值乘上WO再加上BO,然後經過Softmax計算,就得到:EdgeAI&AIoT課程:從預測到決策69原來的原始資料(X0,X1,X3)共三項。現在只需要紀錄一項(紅色底)即可了。如果原始資料(X0,X1,X3,....X10000)共10000項,現在只需要把Autoencoder應用於CF上,如下:按下<AE模型CF推薦>,就依據客戶對各項物品的偏好來計算客戶他更深入認識CF推薦系統F供給他更準確度的估算和推薦。異之處。EdgeAI&AIoT課程:從預測到決策

温馨提示

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

评论

0/150

提交评论