# Execution description 本次實驗會用到 libsvm 套件,請在執行程式前安裝 ``` pip install -U libsvm-official ``` 此外,本程式還使用到了常見的 `numpy`, `sklearn`, `scipy.io` 等等套件,需要事先進行安裝 環境安裝完畢後,直接執行附檔的 `SVM.py` 即可 # Experimental results ## min-max scaling  ## standard scaling  ## robust scaling  ## 不用scaling  ## 實驗結果說明 觀察實驗結果發現,若以 testing accuracy 作為衡量模型表現的標準,則三種 scaling 的方法及不 scaling 的表現分別為 min-max scaling > standard scaling > robust scaling > 不用 scaling 需要特別留意的是,使用 robust scaling 時,training accuracy 為 100,但 testing accuracy 只有 54.32098765432099,可能發生 overfitting 的現象 # Conclusion * 使用不同的 (C ,γ) 參數組合,會對結果產生一些影響,每種 scaling 方法最適合的參數組合也可能不一樣,建議使用 grid search 的方式,把每個組合都試過一遍,以找出最好的那一組參數 * 使用不同 scaling 的方法,會對結果產生極大的影響,甚至在某些情況下會導致 overfitting 的發生;以本次實驗的結果來說,最推薦使用 min-max scaling,其次是 standard scaling # Discussion 這次實驗讓我能有機會親自使用 svm 進行手寫數字分類,其中遇到的最大困難是對 libsvm 這個套件不熟悉,不好找關於這個套件在 python 下的語法以及使用方式,不過最後還是成功克服。本次實驗最令我感到意外的便是,使用不同 scaling 的方法,對於結果會有巨大的影響,這跟我最初想的剛好相反,也讓我多累積了一些經驗,下次模型訓練的不好時,也許可以試試不同的 scaling 方法,說不定會有奇效。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up