在機器學習裡面, 我們知道今天用training data來訓練模型,在我們把模型來去實際應用前,我們需要一個方法來驗證我們模型的準確度,這個方法就叫做validation(驗證)
validation 就是指我們把training資料分成兩份, 一份當作training data, 另一份當作 validation data(也就是拿來當作已知的testing data), 來估計模型的準確度
但單用validation在小樣本時會有問題, 因此就有人發現到, 咦, 我們每次把資料分成兩半,拿來當validation data 的資料沒有被用來training,於是就有人決定把它拿來當作training data,另外一半當作validation data惹~ 這種方法就叫做cross validation(交互驗證)
cross validation 的做法很多,以下來介紹常見的 K-fold cross validation:
其原理很簡單, 把資料分作K份,每次其中一份當testing data,其餘當作training data. 這樣做個K次來看模型的預測能力
當然囉,要看模型的預測能力有很多方法,有興趣的可以去reference 2 的網站看,裡面列出很多方法!
reference:
1. https://www.kaggle.com/dansbecker/cross-validation
2. http://scikit-learn.org/stable/modules/cross_validation.html#cross-validation
網頁
▼
2018年6月29日 星期五
2018年6月6日 星期三
[機器學習] training v.s. testing
在機器學習裡面,有一個很重要的概念,叫做training 和 testing
training: 我們利用已有的資料來訓練模型,進而得到目標函數
testing: 把training 後的目標函數, 拿去應用在現實例子中
其中training 會得到 in-sample error; testing 會得到out-sample error
舉例來說,我們想利用病人的檢查結果來預測癌症, 於是我們會先把手上有的資料拿來訓練模型(training); 之後訓練好再把它丟出來給大家拿來預測(testing)
那這些error 是怎麼來的呢, 我們知道在機率與統計裡有一個概念,也就是variance 和 bias
以下用打靶來比喻:
variance :指得是每次射擊的彈孔間的差異
bias :指的是彈孔離靶心有多遠
今天我們如果模型越簡單, 其variance會越小,因為data 對模型的影響越小
反之,如果模型越複雜,其bias 會越小, 因為模型越複雜,越有可能逼近真正的情況
所以綜上所述,我們可以發現 bias 和variance 有tradeoff
當模型太簡單,導致bias 太大 => 被稱作 underfitting
=> 解決方法:
1. 修改模型
當模型太複雜,導致variance太大=> 被稱作 overfitting
p.s. 有些書上有另外一種定義方法, 也就是因為模型太複雜,所以in-sample error會很小,但是out-sample error 會很大 (其實意思差不多, 因為 variance 一變大, out-off sample error 和 in-sample error 的差別會變大, 所以最後得到的 out-sample error 可能比簡單模型還大)
=> 解決方法:
1. 蒐集更多資料
2. regularization
reference:
1. 李宏毅教授 youtube
2. learning from data
training: 我們利用已有的資料來訓練模型,進而得到目標函數
testing: 把training 後的目標函數, 拿去應用在現實例子中
其中training 會得到 in-sample error; testing 會得到out-sample error
舉例來說,我們想利用病人的檢查結果來預測癌症, 於是我們會先把手上有的資料拿來訓練模型(training); 之後訓練好再把它丟出來給大家拿來預測(testing)
那這些error 是怎麼來的呢, 我們知道在機率與統計裡有一個概念,也就是variance 和 bias
以下用打靶來比喻:
variance :指得是每次射擊的彈孔間的差異
bias :指的是彈孔離靶心有多遠
今天我們如果模型越簡單, 其variance會越小,因為data 對模型的影響越小
反之,如果模型越複雜,其bias 會越小, 因為模型越複雜,越有可能逼近真正的情況
所以綜上所述,我們可以發現 bias 和variance 有tradeoff
當模型太簡單,導致bias 太大 => 被稱作 underfitting
=> 解決方法:
1. 修改模型
當模型太複雜,導致variance太大=> 被稱作 overfitting
p.s. 有些書上有另外一種定義方法, 也就是因為模型太複雜,所以in-sample error會很小,但是out-sample error 會很大 (其實意思差不多, 因為 variance 一變大, out-off sample error 和 in-sample error 的差別會變大, 所以最後得到的 out-sample error 可能比簡單模型還大)
=> 解決方法:
1. 蒐集更多資料
2. regularization
reference:
1. 李宏毅教授 youtube
2. learning from data
2018年6月3日 星期日
[食記] 柳營家屋
柳營家屋位於敏惠醫專的對面,超級不明顯,一不小心就會把它當成一般建築物,咻的一聲就開過去了! 其實這家店非常有名,問過不少在地人都超推這家,今天就來帶大家一探究竟
這家真的蠻好吃的, 我一個禮拜來了兩次XD
首先是菜單
可以看到種類非常豐富, 主要是簡餐類的,包括麵,飯都有, 以下是小弟點的
牛肉拌飯
這道非常特別,剛開始上來牛肉都是生的, 是藉由石鍋的溫度加熱, 慢慢煮,之後肉會熟,飯會有鍋巴,吃起來很香,很好吃, 口齒留香~
泡菜豆腐鍋
分量超大, 裡面的黃金泡菜非常經典,酸甜滋味搭配海鮮和豆腐,超級下飯,一下子就全部吃完了XD
隨餐附的飲料
金桔檸檬, 餐後去油膩, 清爽好喝
餐後甜點
總的來說, 這家真的超推薦, 走過路過不要錯過, 絕對不會後悔!!!!
地址如下:
這家真的蠻好吃的, 我一個禮拜來了兩次XD
首先是菜單
可以看到種類非常豐富, 主要是簡餐類的,包括麵,飯都有, 以下是小弟點的
牛肉拌飯
這道非常特別,剛開始上來牛肉都是生的, 是藉由石鍋的溫度加熱, 慢慢煮,之後肉會熟,飯會有鍋巴,吃起來很香,很好吃, 口齒留香~
泡菜豆腐鍋
分量超大, 裡面的黃金泡菜非常經典,酸甜滋味搭配海鮮和豆腐,超級下飯,一下子就全部吃完了XD
隨餐附的飲料
金桔檸檬, 餐後去油膩, 清爽好喝
餐後甜點
總的來說, 這家真的超推薦, 走過路過不要錯過, 絕對不會後悔!!!!
地址如下: