2016年10月29日 星期六

Machine Learning hw#1

due day延到10/30

PRML全書電子檔
hw1 題目

hand-in solution:
hw1 prob3&4 report (程式題)

code:
1. Prob3 without sklearn (hand-in)
2. Prob4 without sklearn (hand-in)
3. Prob3 with sklearn
4. Prob4 with sklearn

- - -

Q: python的套件sklearn是可以使用的嗎?
A:
    不知道妳要用sklearn哪部分,但不能直接使用 sklearn 的  regression 功能,基本上 model 建立部份禁止使用,若像 load data format 之類(etc. Scipy.loadmat() )功能話,則可以使用。
                                 TA

- - -


本次作業因為一開始不知道sklearn能不能用
兩種版本都寫了

所謂的without sklearn (sklearn是一種toolkit)
指的就是"直接用數學式子"算出機器學習的答案
這個過程然比較折磨

這次作業的程式題我總共重寫三次, 修修改改一個禮拜
我一開始是without sklearn寫了一個版本
後來遇到瓶頸, 寫不下去
覺得需要用sklearn先知道答案,
就用sklearn再寫一次 (code當然簡潔很多)
原本打算就這樣交了
後來知道sklearn不被允許使用
又回過頭去再改成without sklearn的版本

最後的答案with和without sklearn的有一點點小誤差
不過還算可以接受

3-2題原本在sklearn裡可以用Lasso求解
without sklearn的情況下, 就只好照著題目的描述, 不加regularization項
而只是單純針對各attribute求算RMS, 再取最小的

比較奇怪的是,
兩種做法我都有將weight function列出來,
|weight|較大的基底函數也嘗試列出來
但是with和without sklearn的結果似乎都不相同?

總之是很紮實的一份作業, 有應用, 有推導
也加深了我對課堂內容的吸收和了解

沒有留言:

張貼留言