之前看了學長的 Time weighted CF 演算法成功了改進傳統
CF演算法的Accuracy。心中還是有些疑惑,依照學長的論
點是,一個人早期的 rating 資料的參考價值,不會比現在的
rating 資料的參考價值來的高。因此他設計了一個參考價值
依照時間飄逝 decrese 的曲線,也就是距離目前時間點愈近
則參考價值就比較高,愈遠就參考價值愈低。比如今天某位
使用者所做的 rating 參考價值是 1 ,則昨天此位 user 所做的
rating參考價值可能就是 0.9,如此把參考價值乘上實際的rating
數值所得除來的數字是比較具有參考性的。利用這種想法稍微
改了一下 CF 演算法的核心部份,準確度就上升了。但是目前
在 RS 系統上改善 Accuracy 的主要盲點是在於大家都會想出一
套新的方法來改變舊有的演算法,之後宣稱這個方法是可以提
升準確度的。但是卻沒辦法去證明說如果要改善準確度用這些
新方法就可以真的達到目的。 As known as if p then q ( p -> q) ,
we can not guarantee that q -> p 。其實這和 overfitting 有很大
的關係,儘管我們用很複雜的 model 來讓這份萬年 training data
( MovieLens ) 得到最好的 training 效果,並不意味我們拿到一份
全然不同的 training data時也會有同樣的好效果。其實真正要能
評論 Accuracy 的只有使用者才算是最客觀的標準。 但是人又是
主觀的動物,就算兩個人個性都差不多,但也並不意味著他們兩個
人的想法就都一樣。對於Accuracy的看法也不同吧。
Advertisements