# 退伍前Learning Notes
--------------------
**To Do List**
1. 修改個人履歷: 要修成怎樣-乾脆不修好了
2. 重溫一次大學專題簡介: 放到google cloud上-忘記了QQ,這禮拜回家再看一次
**Prepare Files**
- [x] 大學成績單-電子檔: 回北大去印一份
- [x] 研究所成績單-電子檔: 直接掃描
- [x] 競賽獎狀、比賽證明等
* NCPC
* CPE (1%那次的)
* 其他所有的也都要掃描備份
- [x] 影印面試相關證明,以茲請假
**Technology and Knowledge**
1. Transformer and BERT
* [BERT+實作](https://leemeng.tw/attack_on_bert_transfer_learning_in_nlp.html)
* [Transformer-知乎](https://zhuanlan.zhihu.com/p/48508221)
* [Attention is all you need](https://reurl.cc/Zjmgn3)
*
2. Review SQL 基本語法
* related website?
3. 一些機器學習方法的相關名詞要複習
~~* Ensemble Learning~~
--------------------
## Notes of Transformer
--------------------
要搞懂的東西:
* Self-attention中的Q, K, V是啥,還有實際計算時為何要這樣計算-> ok
* Q,K,V經過這樣的計算後為何可以達到self-attention的目的?->
* Self-attention中有提到,殘差網路的short-cut結構(解決深度學習的退化問題
*
Notes:
* Why need multi-heads? -> Compute "similarity" maybe in many different perspectives.
* So, we have known that BERT is the encoder of transformer.
* "Cloze" and "Context Predict" is the training methods of BERT pre-trained by Google team.
*
*
--------------------
## Notes of Ensemble Learning
--------------------
**Ensemble** Learning:
概念:
多個學習器加總的結果會比單個還要好->三個臭皮匠,勝過一個諸葛亮。
盲人摸象,每個子學習器所學到的可能只是片段的知識,
方法:
* **Bagging**:
概述:重複抽樣訓練資料(**B**ootsrap **agg**regation),每次的抽樣都訓練出一個模型,最後的預測結果則是用投票或是其他的方式取結果。
註:Boostrap是統計學中的一種抽樣方法,藉由針對進行多次的可放回重複採樣,我們就能估算出母體的分配及變異。

範例:
* Random Forest:
concept: bagging+randomized reature set
變種: Extra-Trees(**Extr**emely **Ra**ndomized **Trees**)
Feature Importance
* **Boosting**:
概述:持續調整訓練資料或子模型的比重。每次迭代分類錯的樣本權重會提高,並在新一次的迭代中加入一個新的弱分類器。在過程中也會依據誤差分配每個分類器的權重。

註:同樣都是基於boostrap,但boosting不同於bagging每個學習器互相獨立,而是引入了團隊分工的概念。
範例:
* AdaBoost (**Ada**ptive **Boost**ing)
Minimize Weighted Error: minimize $ J(\theta)=\frac{1}{n}\sum_i w_i L(\hat{y}_i , y_i)$
* Gradient Boosting
* Stacking(比較少出現?):把子模型堆疊起來
--------------------
# 暑假Learning Notes
--------------------
**一個禮拜看一篇論文!!!**
**現在要做的事情有二:決定論文方向、熟悉震瑜code**
**相關網頁**
AI course:
[AI learning note](https://docs.google.com/document/d/1JEB8HJCcazgl6UwQzT47OgJElAI7nl0QigO_rhPgXiU/edit)
[AI HW list](https://docs.google.com/document/d/1pEc9momUE5MTWEwIlRKELFXDK0KjWXX7MiW0eeYfeXc/edit)
[AI course schedule 2018](https://sites.google.com/site/ncuaicourse/course-fall-2018/schedule-2018)
[Luff note](https://docs.google.com/document/d/1x3lCxyPxmB_OhiQV3LbYFaRdeRxMXV47pEK1P-z_kTg/edit#heading=h.ls7exb9dvz98)
[AI HW1 標記資料](https://docs.google.com/spreadsheets/d/1j99_ArGWABjp8jJ1DftDhEEoXL7GnGu8hpE_tCHS_Ms/edit#gid=1932961394)
[event go! search API](http://eventgo.widm.csie.ncu.edu.tw/EventGO!%20API.html#activity)
**Paper to be read**
0 [Neural Word Segmentation with Rich Pretraining](https://www.aclweb.org/anthology/P17-1078.pdf)
1 [A Survey on Recent Advances in Named Entity Recognition from Deep
Learning models](https://www.aclweb.org/anthology/C18-1182.pdf)
2 [A Decomposable Attention Model for Natural Language Inference](https://arxiv.org/pdf/1606.01933.pdf)
3 [NERO: A Neural Rule Grounding Framework for Label-Efficient Relation Extraction](https://arxiv.org/abs/1909.02177)
**Discussion**
AI course:
**To tell teacher**
**To do**
學習:震瑜的code
How to use word embedding/W2V
Study beautiful AI(how to make ppt)
pipenv怎麼用
實作:Lattice for 威誠、威誠的論文code
Cross-domain NER 實作
圓皓學長的那篇論文的實作(about a month)
AI Course:HW1 PPT內容:簡報應有內容、kaggle描述、標記工具、中英文夾雜
震瑜相關:把R跑GBM的程式寫成(config+R),看能不能寫在linux上跑的模式
Paper Survey:
---
**8/27(四)**
---
**8/26(三)**
[KKBOX](https://docs.google.com/document/d/1m0MbdxOxpom2bCMmgUWpT_F1Q7JOv7J_jlLMHkMFaO8/edit#heading=h.2svya9fcrnzn):整理跟家電相關的PTT看板有無在NAS中
學習:docker on linux、mobaXterm基本操作
---
**8/25(二)**
學習:理解震瑜code上不同程式對應論文的部分、python的class架構、開始接觸docker
---
**8/24(一)**
學習:PyTorch基本架構、anaconda虛擬環境(但始終無法裝pytorch)
---
**8/21(五)**
Group Meeting:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf)報告、應該要實作這篇paper
---
**8/20(四)**
Group Meeting:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf)報告、應該要實作這篇paper
論文:[Chinese NER Using Lattice LSTM](https://www.aclweb.org/anthology/P18-1144/) 製作PPT
---
**8/19(三)**
[KKBOX](https://docs.google.com/document/d/1m0MbdxOxpom2bCMmgUWpT_F1Q7JOv7J_jlLMHkMFaO8/edit#heading=h.2svya9fcrnzn):找跟家電相關的PTT看板
學習:使用pipenv(簡單下指令建環境)
論文:[Chinese NER Using Lattice LSTM](https://www.aclweb.org/anthology/P18-1144/) 製作PPT(至model結束 幾乎)
---
**8/18(二)**
[KKBOX](https://docs.google.com/document/d/1m0MbdxOxpom2bCMmgUWpT_F1Q7JOv7J_jlLMHkMFaO8/edit#heading=h.2svya9fcrnzn):會議記錄
論文:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf) :把github_code研究過+再讀一遍論文相關部分得出推測結果。
---
**8/17(一)**
[KKBOX](https://docs.google.com/document/d/1m0MbdxOxpom2bCMmgUWpT_F1Q7JOv7J_jlLMHkMFaO8/edit#heading=h.2svya9fcrnzn):瀏覽各交易板的網站架構、玩一下ETL
論文:[NERO: A Neural Rule Grounding Framework for Label-Efficient Relation Extraction](https://arxiv.org/abs/1909.02177) (只有再看一次圓皓學長的PPT、嘗試跑該論文的code,但仍在修正bug)
---
**8/14(五)**
論文:NO
---
**8/13(四)**
論文:威誠的論文
---
**8/12(三)**
論文:[Chinese NER Using Lattice LSTM](https://www.aclweb.org/anthology/P18-1144/) 看完第一遍
---
**8/11(二)**
論文:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf) 看github原始code,嘗試找出上周五報告問題答案,仍未果。
[Chinese NER Using Lattice LSTM](https://www.aclweb.org/anthology/P18-1144/)
---
**8/10(一)**
朋友來中央,休息z
---
**8/7(五)**
論文:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf) 報告 - 問題:W、I 是如何更新的
---
**8/6(四)**
論文:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf) 整理報告
---
**8/5(三)**
論文:桂如學姊的論文
---
**8/4(二)**
論文:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf) 看完第一遍
---
**8/3(一)**
AI Course:整理自己跟筱雯標記的結果
**要搞清楚目前自己要做的事情!!!**
**應該是要想論文主題、開始找論文、報論文**
**而不是一直做這些重複又沒什麼難度的事情!!!**
論文:[cross-domain ner using cross-domain language modeling](https://www.aclweb.org/anthology/P19-1236.pdf)
---
**7/31(五)**
AI Course:電腦重開QQ 把前一天的程式重寫一遍
其他:去KKBOX聽學長報告
---
**7/30(四)**
AI Course:整理各標籤在總資料的佔比;把目前的performance貼上去
---
**7/29(三)**
AI Course:AI Cup-愛文芒果良率分類競賽 研究
人工標計資料label整理(讀入)
---
**7/28(二)**
AI Course:PPT整理
---
**7/27(一)**
高雄度假中...
---
**7/24(五)**
AI Course:標註100筆活動資料(圓皓學長用"營隊"、"夏令營"篩出的資料)
---
**7/23(四)**
學習:AI course-Ch4.3
AI Course:How to create a Kaggle competition
嘗試找出可以區別出不同年齡層的[query](https://bit.ly/2CZBnAR )(希望一天可以測10個query)
---
**7/22(三)**
學習:AI course-Ch4.1~Ch4.2
W2V[概念](https://bit.ly/2OKxMcp)、[實作](https://bit.ly/3hv5zTr) (感覺跟作業比較無關)
AI Course:思考同學人工標記的問題
其他:幫覺修看企畫書、震瑜論文初讀(完)
---
**7/21(二)**
學習:AI course-Ch4.1~4.2
AI Course:HW1初步做過一遍(自動標記:描述有出現"高中")、整理[HW1實做過程](https://docs.google.com/presentation/d/1VMwtbqWgnIFVpmh0PV18fAWMYHevRs8DN1Np81u5imE/edit#slide=id.p)
其他:震瑜論文初讀(40%)
---
**7/20(一)**
學習:Reinforce Learning - [影片](https://www.youtube.com/watch?v=W8XF3ME8G2I)、[網站](https://bit.ly/2ZMRTgu) (有點太多了,只能大概看一下RL的概念QAQ)
AI Course:HW1讀入資料,轉成DataFrame、初步整理
其他:決定gm要報的[paper](https://www.aclweb.org/anthology/P19-1236/)
---
**7/17(五)**
學習:nan
其他:跟學長釐清HW1的內容、掃座位
---
**7/16(四)**
學習:AI course-Ch3.6~Ch3.7
Transform - [影片](https://www.youtube.com/watch?v=ugWDIIOHtPA)、[網站](https://zhiqiangho.github.io/2019/08/06/li-hong-yi-transformer-bi-ji-fu-dai-ma/)
其他:學長口試(Naufal+在職)
---
**7/15(三)**
其他:GM論文投影片製作、準備[7/16 GM](https://docs.google.com/document/d/1JYKY6kAR3cZQK5_X_rfEtvOqM_MkVsSEQDUqt3RxxQw/edit)
---
**7/14(二)**
學習:AI course-Ch3.4~Ch3.5
其他:GM論文投影片製作(約80%...)
學長姐口試
---
**7/13(一)**
學習:BERT-[影片](https://www.youtube.com/watch?v=UYPa347-DdE)、[網站](https://leemeng.tw/attack_on_bert_transfer_learning_in_nlp.html)(大概了解BERT是什麼)
AI course-Ch3.1~Ch3.3
其他:GM論文投影片製作(約30%...)、看震瑜的論文
---
**7/6~7/10**
論文:[Automatically Labeled Data Generation for Large Scale Event Extraction](https://drive.google.com/drive/folders/1OHVXispFgFLveuS0doGoX8P8q4-RBLU8)(GM)
AI課程:AI課本訂書、[過去AI課程的規劃](https://sites.google.com/site/ncuaicourse/course-fall-2018/schedule-2018)、[AI作業整理](https://docs.google.com/document/d/1pEc9momUE5MTWEwIlRKELFXDK0KjWXX7MiW0eeYfeXc/edit)
---
--------------------
# 碩一上Learning Notes
--------------------
**12/16~12/20(開學 第十五周)**
[kkbox hit song prediction](http://bit.ly/38JAF68)
論文:AutoLearn — Automated Feature Generation and Selection
其他:準備學測-化學
課外讀物-崩壞國文(鮮聞的中國文學趣事)
期末考將至,準備期末考
---
**12/9~12/13(開學 第十四周)**
[kkbox hit song prediction](http://bit.ly/38JAF68)
事件:PTT新增資料順序邏輯調整、部分實驗數據更新、與KKBOX確認[疑慮部分](https://docs.google.com/document/d/1m0MbdxOxpom2bCMmgUWpT_F1Q7JOv7J_jlLMHkMFaO8/edit#)
結論:KKBOX在做預測時會刪除不合理的預測歌曲。
我們使用的資料集是沒錯的。
論文:
其他:準備學測-物理(全)
課外讀物-美麗新世界
---
**12/2~12/6(開學 第十三周)**
[kkbox hit song prediction](http://bit.ly/2EmaTa2)
事件:整理完善
結論:加入各項PTT資料後,MAPE有下降約2%。
而仔細看每天的數據及只看統計數據的peformance差不多。
分開看每天的數據並沒有使成效獲得較顯著的提升,相較於只看統計數據。
其他:準備學測-國文三、四冊
課外讀物-美麗新世界
---
**11/25~11/29(開學 第十二周)**
[kkbox hit song prediction](http://bit.ly/2EmaTa2)
事件:加上emotion資料。
結論:mape稍降
其他:準備學測-國文第一、二冊
課外讀物-美麗新世界
---
**11/18~11/22(開學 第十一周)**
[kkbox hit song prediction](https://bit.ly/2ns2ey1)
事件:ppt頁數過多,整理ppt。
其他:期中考周,準備期中考
準備學測-公民+數學
課外讀物-美麗新世界
---
**11/11~11/15(開學 第十周)**
[kkbox hit song prediction](https://bit.ly/2ns2ey1)
事件:針對每個不同的dataset,都跑五次gbm模型。成效取平均,以減少誤差。
繪出每日討論趨勢的盒形圖及長條圖、PCA降維。
結論:成效無顯著差異。每個變數中,0的數量過多(幾乎都超過75%),
因此盒形圖較難看出趨勢。
PCA的特徵值沒有變數明顯有較高貢獻。
其他:期中考周,準備期中考
課外讀物-美麗新世界
---
**11/4~11/8(開學 第九周)**
[kkbox hit song prediction](https://bit.ly/2ns2ey1)
事件:更新實驗數據、把每日討論量轉換成與前一天相比的討論增長幅度。
結論:成效無顯著差異。
其他:期中考將至,準備期中考
課外讀物-美麗新世界
---
**10/28~11/1(開學 第八周)**
[kkbox hit song prediction](https://bit.ly/2ns2ey1)
事件:將PTT每天的討論次數分開抓出來,觀察趨勢、繪圖。
結論:成效無顯著進步,但歌曲的討論趨勢除了在發行日外,
在發行後的約第十天會有第二波小高峰。

其他:期中考將至,準備期中考
課外讀物-美麗新世界
---
**10/21~10/25(開學 第七周)**
[kkbox hit song prediction](https://bit.ly/2ns2ey1)
事件:首度帶入PTT的資料,有每首歌的討論次數、推噓數量。
結論:效能有些微的改善,但80%以上的歌討論次數都是0。
其他:首度將于晴、昱豪拉去跟Ploy一起打球;參加台北大學校慶
課外讀物-美麗新世界
---
**10/14~10/18(開學 第六周)**
kkbox hit song prediction:預測新資料,並依照target值做分群、分類,並比較成效
連結:https://bit.ly/2ns2ey1
結論:無突破性發展,但發現有些情況下,linear model的成效竟比gbm好
論文:NEURAL SPEED READING WITH STRUCTURAL-JUMPLSTM
其他:課外讀物-美麗新世界(與"1984"、"我們"並稱世界三大反烏托邦小說)
---
**10/7~10/11(開學 第五周)**
kkbox hit song prediction:預測新資料
連結:https://bit.ly/2ns2ey1
結論:成效與kkbox提供的base line差不多
論文:NEURAL SPEED READING WITH STRUCTURAL-JUMPLSTM
其他:周六要去當表姊婚禮的婚攝,開始惡補攝影的相關知識及技巧。
---
**9/30~10/4(開學 第四周)**
kkbox hit song prediction:與kkbox確認quantile loss的使用方式是否如我們猜測。
結論:如我們猜測。
論文:Gradient boosting machines, a tutorial 並報告
連結:http://bit.ly/2MiAAvQ
心得:了解GBM整體的運作方式及參數所代表的意思、如何設定、及GBM可以做到哪些事。
其他:跟Ploy及她的泰國朋友去打羽球,被Ploy上了很多課。Ploy有一個泰國朋友的泰文名跟她一樣。(都是thamolwan)
---
**9/23~9/27(開學 第三周)**
kkbox hit song prediction:發現預測成效不合理部分,修正先前程式bug,並重新預測、視覺化。
連結:http://bit.ly/2N5uMIV
結論:並無突破性的成效出現,嘗試許多方法,MAPE都只能壓在0.7左右。kmeans切的y都至少有一點是在數值特大的部分。
論文:Gradient boosting machines, a tutorial
---
**9/16~9/20(開學 第二周)**
kkbox hit song prediction:改良方法-用kmeans將資料(y)分群再分類再做預測
連結:http://bit.ly/2N5uMIV
結論:成效無明顯改善
學習:Solr環境架設
論文:NEURAL SPEED READING WITH STRUCTURAL-JUMPLSTM
其他:為了能更方便與Ploy聊天,開始學習泰語,並購買相關學習書籍。(一開口就會說泰語)
---
**9/16~9/20(開學 第二周)**
kkbox hit song prediction:改良方法-用keamns將資料(x)分群再分別預測
連結:http://bit.ly/2N5uMIV
結論:預測效能未達上週成果
論文:NEURAL SPEED READING WITH STRUCTURAL-JUMPLSTM
---
**9/9~9/13(開學 第一周)**
kkbox hit song prediction:改良方法-先依predict value分類,再針對每一類去做迴歸。
連結:http://bit.ly/2N5uMIV
結論:預測效能達新高
論文:NEURAL SPEED READING WITH STRUCTURAL-JUMPLSTM
其他:因應大數據比賽需要,教lab的同學基礎資料分析步驟及方法。
連結:http://bit.ly/2AeCGqV
回饋:針對每個處理方法,要再詳述為何要這樣做。
---
9/2~9/6
kkbox hit song prediction:分別針對預測及反應變數擇一做前處理(僅處理x、僅處理y)。
連結:http://bit.ly/2N5uMIV
結論:兩者的預測效能都很低,未能達到x,y皆處理的模型之效能。
---
8/27~8/30
kkbox hit song prediction:資料前處理、迴歸預測,並做成效比較(RMSE, MAE, MAPE)
連結:http://bit.ly/2N5uMIV
結論:
---
8/19~8/23
讀書會:Reinforcement learning(程意)
---
8/12~8/16
讀書會:Unsupervised Learning(承儒)+Meta Learning(岱融)
其他:整理實習單位的python教學教案。
其他:決定group meeting 報告論文:NEURAL SPEED READING WITH STRUCTURAL-JUMPLSTM
---
8/5~8/9
讀書會:Unsupervised Learning(岱融)
其他:整理、複習PCA的運作過程,用PCA做人臉辨識(by R)
---
7/29~8/2
讀書會:Seq2seq(程意)
實習教學:python教學,自備教材。
教材:https://drive.google.com/open?id=1CyknBabFkK36CaOIAPYoM8666Klcbacy
---
7/22~7/26
讀書會:Semi、Transfer(于晴+筱雯)
digi計畫課程專題:雙北地區出租房屋售出時間預測,負責資料前處理(包含資料轉換、畫圖等等)
成果ppt連結:https://prezi.com/p/glva3deeyuxb/digi_/
---
7/15~7/19
讀書會:Esemble(筱雯)
---
7/8 ~ 7/12
讀書會:RNN(昱豪)