使用hash function取餘數編碼,跟隨機給一個數字編碼的差異? 是否可使用其他方式編碼?
2019/05/19 下午 06:09
機器學習共學討論版
辛普恩
觀看數:6
回答數:1
收藏數:0
ml100-2
ml100-2-d24
關於hash function有兩個問題想請問一下
1. 範例中利用hash function取餘數編碼,這種方式跟隨機給一個數字編碼有什麼差別?如果跟隨機給沒有差別,那這樣的編碼有什麼意義?
2. 是不是可以利用其他種function來編碼, 例如高斯函數,...等?
回答列表
-
2019/05/20 下午 05:25陳明佑 (Ming You Chen)贊同數:0不贊同數:0留言數:1
Ans1.
差別在於hash+餘數可以使得同樣的內容, 不管算多少次都會是同一個值
如果取隨機就未必能取到相同值, 所以有意義
Ans2.
真的有使用高斯函數的編碼, 教我的那位稱這編碼方式為 Gauss Rank
當某個欄位確定是排名值, 數值從 1 到 n,
此時就應該使用常態分布 CDF 的反函數編碼,
例如 n = 100, 就依照百分等級對應的幾個標準差來編碼
因為我們知道, 第1與第2名的差距, 絕對比中段差1名的差距大
因此, 課程中這些編碼方式, 只是跟同學舉例
並不是要同學侷限自己, 只能做這些編碼
而是要結合對資料的了解, 以及對統計知識的了解, 設計最適合的編碼
就像同學你基於自己對統計的理解, 而對這些編碼方式有質疑, 這是非常棒的態度 ^^