# 巧恩的進度小周記 [TOC] # 3/8 用mnist跑RNN和LSTM如下圖 | train data | RNN | LSTM | | -------- | -------- | -------- | | 1000 | ![](https://i.imgur.com/ORoyDFX.png) | ![](https://i.imgur.com/ptMFw4S.png) | | 2000 | ![](https://i.imgur.com/6aWhYx0.png) | ![](https://i.imgur.com/HGNbpx0.png) | | 3000 | ![](https://i.imgur.com/siNsHBx.png) | ![](https://i.imgur.com/QGQYbN6.png) | 用我們的原始資料跑RNN和LSTM如下圖 | 次數 | RNN | LSTM | | -------- | -------- | -------- | | 1 | ![](https://i.imgur.com/e3NTYjq.png) | ![](https://i.imgur.com/elaHms4.png) | | 2 | ![](https://i.imgur.com/MtIpAdy.png) | ![](https://i.imgur.com/u3ICE7G.png) | | 3 | ![](https://i.imgur.com/vYxbipI.png) | ![](https://i.imgur.com/mcrBvmE.png) | * 註: train和test尚未分開 # 3/13 By 巧恩: 這禮拜在做之前都有按照詠晴說的方式整理資料,因此正確率都上升了不少(10%~20%) 但是我的動作怪怪的,label = [\"down\", \"up\", \"walk\", \"raise\", \"mix\"] 詠晴和冠傑label是[\"down\", \"up\", \"walk\", \"raise\", \"run\"] (順序不一定正確) ### CNN + Bidirectional version 5_1 version5_record 分開(arm.leg.all) ![](https://i.imgur.com/aP8aWFa.png) 0.913232104121475 predict 0 1 2 3 4 label 0 0.939759 0.000000 0.060241 0.000000 0.000000 1 0.000000 0.978448 0.021552 0.000000 0.000000 2 0.002481 0.009926 0.957816 0.000000 0.029777 3 0.000000 0.352941 0.000000 0.647059 0.000000 4 0.000000 0.071429 0.357143 0.000000 0.571429 --- 合併(all) ![](https://i.imgur.com/WM48QJA.png) 0.9023861171366594 predict 0 1 2 3 4 label 0 0.993976 0.000000 0.006024 0.000000 0.000000 1 0.000000 0.991379 0.008621 0.000000 0.000000 2 0.002481 0.029777 0.930521 0.000000 0.037221 3 0.000000 0.411765 0.000000 0.588235 0.000000 4 0.000000 0.057143 0.342857 0.142857 0.457143 --- 部位(arm.leg) ![](https://i.imgur.com/45BVzyM.png) 0.903470715835141 predict 0 1 2 3 4 label 0 0.939759 0.000000 0.060241 0.000000 0.000000 1 0.000000 0.982759 0.017241 0.000000 0.000000 2 0.004963 0.007444 0.937965 0.000000 0.049628 3 0.000000 0.294118 0.058824 0.549020 0.098039 4 0.000000 0.100000 0.271429 0.014286 0.614286 --- 只有腿(leg) 0.8731019522776573 predict 0 1 2 3 4 label 0 0.969880 0.000000 0.030120 0.000000 0.000000 1 0.000000 0.961207 0.038793 0.000000 0.000000 2 0.004963 0.012407 0.895782 0.032258 0.054591 3 0.000000 0.274510 0.098039 0.509804 0.117647 4 0.000000 0.114286 0.400000 0.000000 0.485714 ### Dense + Bidirectional version_8 version8_record 分開(arm.leg.all) ![](https://i.imgur.com/IgGDvJf.png) 0.8655097613882863 predict 0 1 2 3 4 label 0 0.975904 0.000000 0.024096 0.000000 0.000000 1 0.000000 0.905172 0.030172 0.000000 0.064655 2 0.002481 0.009926 0.890819 0.000000 0.096774 3 0.000000 0.392157 0.000000 0.470588 0.137255 4 0.000000 0.042857 0.342857 0.000000 0.614286 --- 合併(all) ![](https://i.imgur.com/apRCExt.png) 0.8839479392624728 predict 0 1 2 3 4 label 0 0.927711 0.000000 0.072289 0.000000 0.000000 1 0.000000 0.965517 0.017241 0.000000 0.017241 2 0.000000 0.019851 0.928040 0.000000 0.052109 3 0.000000 0.411765 0.000000 0.470588 0.117647 4 0.000000 0.057143 0.385714 0.000000 0.557143 ### Decision Tree version_1 record 整理資料之前: 0.6778741865509761 predict 0 1 2 3 4 label 0 0.614458 0.000000 0.361446 0.000000 0.024096 1 0.000000 0.724138 0.254310 0.000000 0.021552 2 0.200993 0.032258 0.699752 0.000000 0.066998 3 0.000000 0.000000 0.333333 0.627451 0.039216 4 0.000000 0.000000 0.171429 0.242857 0.585714 --- 整理資料之後: 0.8101952277657267 predict 0 1 2 3 4 label 0 0.843373 0.000000 0.150602 0.000000 0.006024 1 0.000000 0.767241 0.232759 0.000000 0.000000 2 0.002481 0.000000 0.955335 0.000000 0.042184 3 0.000000 0.196078 0.000000 0.411765 0.392157 4 0.000000 0.000000 0.671429 0.000000 0.328571 ### Random Forest version_1 record 整理資料之前: 0.720173535791757 predict 0 1 2 3 4 label 0 0.620482 0.000000 0.379518 0.000000 0.000000 1 0.004310 0.771552 0.224138 0.000000 0.000000 2 0.213400 0.000000 0.786600 0.000000 0.000000 3 0.117647 0.000000 0.313725 0.568627 0.000000 4 0.442857 0.042857 0.000000 0.000000 0.514286 --- 整理資料之後: 0.8991323210412148 predict 0 1 2 3 4 label 0 0.963855 0.000000 0.036145 0.000000 0.000000 1 0.043103 0.948276 0.008621 0.000000 0.000000 2 0.017370 0.002481 0.977667 0.000000 0.002481 3 0.156863 0.254902 0.000000 0.411765 0.176471 4 0.285714 0.042857 0.185714 0.000000 0.485714 ### Mail 當程式跑完,會傳送email * 出現error: ![](https://i.imgur.com/UKj67xS.png) * 成功跑出結果: ![](https://i.imgur.com/M7qPOGx.png) ### 短期目標 * ML: gaussian mixture model、svm * 人物辨識 # 5/5 用LSTM和Bidirectional的LSTM跑了一下4/25的數據 每個都有跑三次,下表為test的平均值,有錯幾乎都是label為0和2(bear and haha)互相搞錯 忘記把曲線存取下來了QQ 下圖為用5/2所做出來的,人的辨認正確率(testing acc) | train / test | offset,v,a | offset,v | offset,a | v,a | | -------- | -------- | -------- | -------- | -------- | | walk / walk | 0.82 | 0.96 |0.8 |0.81 | | run / run | 0.94 | 0.99 |0.95 |0.92 | | bi(walk / walk) | 0.85 | 0.98 |0.87 |0.82 | | bi(run / run) | 0.95 | 0.99 |0.96 |0.95 | | walk / run | 0.43 | 0.39 |0.46 |0.4 | | run / walk | 0.45 | 0.37 |0.43 |0.39 | | bi(walk / run) | 0.38 | 0.39 |0.43 |0.44 | | bi(run / walk) | 0.45 | 0.37 |0.43 |0.42 | ## 嘗試的前處理 ### 手臂與腿的部位比例 大腿與小腿的比例: 左、右 肱二頭與手臂的比例: 左、右 只放這四個資料進去,結果發現爆炸了QQ 0.29030186255619783 predict 0 label 0 1.0 1 1.0 2 1.0 ### 手臂與腿的部位比例加上三點的offset 大腿與小腿的比例: 左、右 肱二頭與手臂的比例: 左、右 只放這四個資料進去,結果發現爆炸了QQ 0.29030186255619783 predict 0 label 0 1.0 1 1.0 2 1.0 ## meeting * 想辦法 visualize LSTM * 想辦法找 feature select * sckit-learn裡面好像有 * 要找到如何判斷這個feature是否有用 * 從上面的數據可以證明出來bidirectional是有用(正確率可以增加)的 * 因為影片倒著看也是有時序性的,所以現在的資料可以使用bidirectional * offset 不是一個好的變數名稱 * 沒有shuffle會不好的原因是因為只會抽取到最後檔案拿來當testing => 可能後面類別的東西根本沒有被train過 * 因為我們的資料train/test的npy是直接分開來,所以沒有差別 * 新的特徵(preprocess做出來的)要加在舊的資料,不能直接取代 * 不然會像上面一樣爆炸 * representation LSTM * 目前可進行方向 * 自己想辦法增加一些只有身分的特徵(preprocess) => 較困難 * 去掉主要特徵 (可以加上GAN或是Encoder或是VGG16)-(distangling) * [書法風格判斷與轉換](https://hackmd.io/FDyy4zJpTpKECF8PhGUQeA?view#C-%E5%AD%97%E8%B7%A1%E7%94%9F%E6%88%90--%E9%A2%A8%E6%A0%BC%E8%BD%89%E6%8F%9B) * 學長的畢業論文 # 5/12 ## 這個禮拜想做的事 ## 三次實驗得出的testing acccuracy平均值 | train / test | displacement | v | a | displacement,v,a | displacement,v | displacement,a | v,a | | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | | walk / walk | 0.75 | 0.76 |0.56 |0.56 | 0.76 | 0.56 |0.53 | | bi(walk / walk) | 0.75 | 0.77 |0.57 |0.58 | 0.76 | 0.61 |0.57 | | run / run | 0.95 | 0.98 |0.82 |0.84 | 0.98 | 0.84 |0.85 | | bi(run / run) | 0.95 | 0.97 | 0.84 |0.87 | 0.99 | 0.87 |0.86 | ## 三次實驗得出的testing acccuracy變異量 | train / test | displacement | v | a | displacement,v,a | displacement,v | displacement,a | v,a | | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | | walk / walk | 0.75 | 0.76 |0.56 |0.56 | 0.76 | 0.56 |0.53 | | bi(walk / walk) | 0.75 | 0.77 |0.57 |0.58 | 0.76 | 0.61 |0.57 | | run / run | 0.95 | 0.98 |0.82 |0.84 | 0.98 | 0.84 |0.85 | | bi(run / run) | 0.95 | 0.97 | 0.84 |0.87 | 0.99 | 0.87 |0.86 | ## 從表格得出的結論 * 之後想要都用bidirection lstm穩定的都比lstm還要好 => varience降低 * 當train跟test都用相同動作集時正確率很高(特徵空間的距離較近),但是當兩者使用不同動作集時正確率會明顯下降(特徵空間中距離較遠) => 結論run和walk兩種不同動作其實在特徵空間中有較遠的距離 * 加速度 ## 其他的想法 * 將Dense改成其他機器學習模型 * 測試一下速度與加速度乘以30是否會影響model的weight => 目前是覺得不會有差 # 9/26 分成純cnn和disentangling的測試,連結分別如下 * [disentangling](/z21S2PA7TKCzQm-BE-vRIQ) * [純cnn](/olvlvlJxSsmbBGmlOSulGQ)