# ML Final Project day1
CNN
MLP
SVM
GBM
MLP(pixel)
## G1
* 把像素縮小為 20*20 但會有雜訊
* sol?
* CNN preprocess - Features: Rows_cols_sum
* 得到 20*20 pixel
* column 看不太出來,只看得出黑或白(因為數字8為傾斜)
* preprocess - Features: Convolutional Processing
* 把圖片的 features 取出
### Model Method
* Convolutional Layer + ANN (?)
* CNN cp feature 去做
* two kind of CNN structures
* complex model 花費時間較多,精準度也較高(約差1%)
* show comfusion matrix
* 瓶頸:一直夾 layer 會導致精准度無法再往上升,解法如下(但我們沒做):
* 扭曲圖像旋轉,再把處理過後的圖片去 train
* 一維圖像轉彩色?
* pixel value 之流向?
* 找到圖像的重心(?)
* CNN featrue 做 RFC select features - extract top 50, 150, 300 to compare
* SVM
* C 的大小之影響&時間
* 28 * 28 做 Random Forest
* preprocess 20 * 20 做 feature
### Ensemble Methods: bagging & boosting
* 近代演算法跑出來都會有 96 97 精準度,因此想到用這個方法來看能否提升。
* 訓練過程不同 parallel:sequential
* Subsample 不同(權重 有無)
* Way of ensemble Majority Vote?: 權重 estimators
* Main purpose: 減少不同分類氣之間的不同預測:減少結果預測誤差
* Example Show model complexity and Error rate
* GBM parameters
* estimator = 50, split 500, depth 8, sqrt, subsample 0.7
* 28 * 28 of 0~1
* find out: row classifier 可以解決 row sum/column sum issue.
* more classifier more accuracy
* CNN model + layer 不一定保證提升 performance
* 2 reference
*
### Techer feedback
* 不用列 training error 只要列validation
* report & homework 差異
## G2
### preprocessing
* Normalization
* Standardozation
### 特徵降維(減少特徵增加訓練速度)
* PCA Unsupervised
* LDA Supervised - better
* then training
### Method & Arcitecture
(SVM difference)
* Linear SVM
* SVM with linear
* SVM with RBF - Best and not take most higher time (ps.線性函數是非線性函數的子集合?)
* Classifier, Accueacy, Take time
(Discriminant&Generative Model's difference)
* Naive Bayes 假設性強, 7萬筆資料(大),沒有完全配對成功可能導致效果差。嚴謹的特徵向量會因為降維而提升準確度。
* Logistic Reqression 迭代方式(效果好但時間長),降維會導致執行時間大幅提升?
* PCA, LDA 降維導致的影響差異
CNN
* .......
### Techer feedback
* 報告都要有故事性(非專業的人都聽得懂),假設,是否會讓人願意把案子交給你。
* 數字會騙人,要有比較基準才有意義。(在某些方面呈現證據出來)
* 從簡單的開始比,淘汰掉一些,在跟更好的比。
## G3
### Preprocessing
* image biarization and resizing
* Deskewing 解決字跡偏左斜或偏右
### feature exxtraction
* Histogram of Gradients descriptor
* resize into 16 * 16
* Normalization
* HOG
### SVM
* 速度最快
* Linear, RBF
### Random Forest
* OpenCV 3.3
* 準確率最低
### CNN
* Relu 神經元的消失使得速度較快
* Sigmoid
* drop rate 提高後的差異
* 調整參數帶來的影響是有意義的嗎?(差異不大)
* therefore, use GAN model 做出假資料來改善 CNN training:一開始只是好奇透過很像真的的假資料來 training 結果如何?
* Q:產生真實資料沒有的特徵(?)A: 以此dataset好像還好~
* Q: GAN 中加入干擾向量,使得分辨時會有錯的 label A: Testing 時是把假混真,這些問題也許會被稀釋掉~
* Q: 假資料的 label 怎麼來 A: 人工給 label
* Q: 有沒有想過框現實生活中的 data~~~
* accuracy 98
* 有沒有辦法做假資料來騙過機器~
* data automation????
* 數字在中間~可以左右移動一下就是新的圖片了~~
### Techer feedback
* 可以探討資料移來移去