作者sleepwu ( )
看板DataScience
標題[問題] 為什麼大數據要取樣?
時間Thu Jun 27 11:27:48 2019
小弟文組魯宅,也不是資料科學專業,純疑問請大大們開示
小弟的公司每個月會有幾十億筆user行為資料
也根據這些行為產出許多模型做分群與預測
但做model的同事都是以抽樣的方式建模
每次他們在說模型的精準度時不禁心想,大數據的精隨不是在於蒐集了母體資料嗎?
選擇抽樣而不是母體全下去train的原因是什麼?
小弟想到的原因有下:
1.跑母體的時間太久、硬體資源太大
但能撐起這樣規模的服務,硬體資源應該足夠?
2.使用的工具無法胃納母體
聽過用R、python來跑的,是否工具不足以胃納母體資料?
3.人員受訓方式
是否人員一直以來都是受"要建模就先採樣"的訓練,所以習慣採樣?
以上原因是否為真? 還有其他原因嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.26.106.109 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1561606070.A.81F.html
1F:推 thefattiger: 你真的有母體資料的話,根本不需要建模阿 06/27 11:34
2F:→ thefattiger: 大數據在大也是母體的滄海一粟 06/27 11:34
3F:→ thefattiger: *再 06/27 11:34
4F:→ sleepwu: 不好意思沒說清楚 我說的母體就是公司蒐集到的全部資料 06/27 11:43
5F:→ sleepwu: 資料科學家用公司的母體再抽樣去建模 06/27 11:44
7F:推 hipitcher: 你不可能擁有母體 除非你是上帝 06/27 12:25
8F:→ f496328mm: 先抽樣做 demo 吧,總不可能剛開始data就全丟下去 06/27 13:28
9F:→ f496328mm: 假設10億筆,train 一次要1小時 06/27 13:28
10F:→ f496328mm: 那當然是先拿部分 data 做模擬 06/27 13:28
11F:→ f496328mm: 最後 feature, model 都找完了,再丟所有 data 06/27 13:29
12F:→ sleepwu: f大 所以是訓練時節省時間跟硬體才抽樣嗎 06/27 14:52
13F:→ poiuy8568: 做訓練一次下去要跑很久,而且容易有overfitting。此外 06/27 17:13
14F:→ poiuy8568: 也跟資料特性有關,搞不好他們是做stratified sampling 06/27 17:13
15F:→ poiuy8568: 之類的。原因很多 06/27 17:13
16F:→ sxy67230: 全部下去一起train你怎麼知道泛化能力會如何?機器學習 06/27 20:07
17F:→ sxy67230: 是希望能盡量找到一個算法通用,全部下去train你完全不 06/27 20:07
18F:→ sxy67230: 知道之後進來的新資料會不會fit啊。 06/27 20:07
19F:→ sxy67230: 而且有可能fit你們公司全部的數據,準確度都很高,但是 06/27 20:09
20F:→ sxy67230: 實際上是overfit,連樣本的錯誤部分機器都一起學習了, 06/27 20:09
21F:→ sxy67230: 這樣機器學習完全就沒意義了 06/27 20:09
22F:→ sleepwu: 原來還有過度學習的問題 06/28 00:10
23F:→ sxy67230: 對,而且還有可能你們公司的樣本有不均衡的問題,隨機 06/28 07:49
24F:→ sxy67230: 根據你們公司的類別抽樣加上訓練不同的模型做集成其實是 06/28 07:49
25F:→ sxy67230: 可以增加總體模型的魯棒性的 06/28 07:49
26F:→ sxy67230: 一般你看到市面上成熟的產品多半都會去做集成,聯合多 06/28 07:52
27F:→ sxy67230: 個模型提升效果 06/28 07:52
28F:→ sleepwu: 感恩 06/28 10:45
29F:→ GTX9487: 建議搜尋 霍金學生&組合爆炸 07/21 20:24