日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【每周一篇】推荐算法之威尔逊区间法

發(fā)布時(shí)間:2023/12/8 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【每周一篇】推荐算法之威尔逊区间法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡單闡述一下自己的學(xué)習(xí)計(jì)劃:
【每周一篇】更側(cè)重于理論,希望盡量能夠形成一個(gè)體系或者完整的脈絡(luò)
當(dāng)然,也不排除因?yàn)闃I(yè)務(wù)或者緊急需求,突然跳到某個(gè)領(lǐng)域的可能~
【每周代碼】更側(cè)重于代碼實(shí)踐,可能是fork一個(gè)優(yōu)秀項(xiàng)目,分析核心代碼和算法思路,也可能是自己實(shí)現(xiàn)一個(gè)小項(xiàng)目demo(如果是這個(gè)的話,可能會(huì)持續(xù)好幾周都是同一個(gè)算法了hhhh)
因?yàn)榫唧w工作的空閑時(shí)間不定,所以不能保證每周都能更新【一篇】和【代碼】,但是盡量保證每周更新其中之一
僅以自勉~

參考的文章放在前面,主要是整理和歸納(因?yàn)樽约旱乃竭€沒到可以原創(chuàng)的程度hhh)
會(huì)增加自己的解讀或者補(bǔ)充

應(yīng)用:推薦系統(tǒng)-威爾遜區(qū)間法

寫這篇的原因是因?yàn)樯弦黄a部分,reddit社區(qū)的評(píng)論排序部分使用了這個(gè)方法,因此對(duì)這個(gè)還挺感興趣的,就去網(wǎng)上專門找了一下,把這個(gè)簡單易用的方法全面的學(xué)習(xí)一下~

先做如下設(shè)定:
(1)每個(gè)用戶的打分都是獨(dú)立事件。
(2)用戶只有兩個(gè)選擇,要么投喜歡’1’,要么投不喜歡’0’。
(3)如果總?cè)藬?shù)為n,其中喜歡的為k,那么喜歡的比例p就等于k/n。

這是一種統(tǒng)計(jì)分布,叫做"二項(xiàng)分布"(binomial distribution)(二項(xiàng)分布后面會(huì)補(bǔ)充一個(gè)文章)
理論上講,p越大應(yīng)該越好,但是n的不同,導(dǎo)致p的可信性有差異。
比如,100個(gè)人投票,50個(gè)人投喜歡;10個(gè)人投票,6個(gè)人喜歡,我們不能說后者比前者要好,所以需要同時(shí)考慮(p,n)兩個(gè)參數(shù)
剛才說滿足二項(xiàng)分布,這里p可以看作"二項(xiàng)分布"中某個(gè)事件的發(fā)生概率,因此我們可以計(jì)算出p的置信區(qū)間。
所謂"置信區(qū)間",就是說,以某個(gè)概率而言,p會(huì)落在的那個(gè)區(qū)間。
置信區(qū)間展現(xiàn)的是這個(gè)參數(shù)的真實(shí)值有一定概率落在測(cè)量結(jié)果的周圍的程度。置信區(qū)間給出的是被測(cè)量參數(shù)的測(cè)量值的可信程度,即前面所要求的“一個(gè)概率”,也就是結(jié)論的可信程度。
二項(xiàng)分布的置信區(qū)間有多種計(jì)算公式,最常見的是"正態(tài)區(qū)間"(Normal approximation interval)。但是,它只適用于樣本較多的情況(np > 5 且 n(1 ? p) > 5),對(duì)于小樣本,它的準(zhǔn)確性很差。
這邊,我推薦用t檢驗(yàn)來衡量小樣本的數(shù)據(jù),可以解決數(shù)據(jù)過少準(zhǔn)確率不高的問題。
這樣一來,排名算法就比較清晰了:
第一步,計(jì)算每個(gè)case的p(好評(píng)率)。
第二步,計(jì)算每個(gè)"好評(píng)率"的置信區(qū)間(參考z Test或者t Test,以95%的概率來處理)。
第三步,根據(jù)置信區(qū)間的下限值,進(jìn)行排名。這個(gè)值越大,排名就越高。
n為評(píng)價(jià)數(shù),p為好評(píng)率,z為對(duì)應(yīng)檢驗(yàn)對(duì)應(yīng)概率區(qū)間下的統(tǒng)計(jì)量

這里n為評(píng)價(jià)數(shù),p為好評(píng)率,z為對(duì)應(yīng)檢驗(yàn)對(duì)應(yīng)概率區(qū)間下的統(tǒng)計(jì)量
t-分布如圖:

當(dāng)n的值足夠大時(shí),這個(gè)下限值會(huì)趨向p,如果n非常小,這個(gè)下限值會(huì)大大小于p,更加符合實(shí)際。
這個(gè)算法也被應(yīng)用于前一篇博客提到的reddit的評(píng)論算法

然后這個(gè)博客的主人補(bǔ)充了下面的內(nèi)容

計(jì)算排名的時(shí)候,我們通常會(huì)考慮三個(gè)事情
1.上文講到的,次數(shù)+好評(píng)率的分布,次數(shù)越多好評(píng)率越可靠,好評(píng)率越高該項(xiàng)越值得推薦
2.時(shí)間因素,如果一個(gè)項(xiàng)目是10天前推送的,一個(gè)項(xiàng)目是昨天推送的,很明顯前者的次數(shù)遠(yuǎn)大于后者
3.影響權(quán)重,你這邊只考慮了喜歡和不喜歡,其實(shí)所有的排序不可能只以1個(gè)維度考慮,通常會(huì)考慮多個(gè)維度,比如瀏覽次數(shù),搜索次數(shù)等,你需要考慮每個(gè)的重要性或者說權(quán)重大小
1這里就不講了,其他方法也有很多,比如貝葉斯平均的優(yōu)化版本、再比如經(jīng)典的Hacker公式:


2.時(shí)間因素:時(shí)間越久,代表之前的投票結(jié)果對(duì)當(dāng)前的影響越小,這邊有很多不同的影響方式,舉幾個(gè)例子:比如艾賓浩斯遺忘規(guī)律:

這里的c、k決定下降速度,業(yè)務(wù)運(yùn)用過程中,c值一般在[1,2],k值一般在[1.5,2.5]
比如時(shí)效衰減:

這里就是比較常見的移動(dòng)窗口式的,永遠(yuǎn)只看近期某一段時(shí)間,而且時(shí)間內(nèi)呈線性下降,不過可以改變變化方式
3.不同種的屬性對(duì)于結(jié)果的影響自然不同舉個(gè)例子,用戶主動(dòng)搜索和用戶瀏覽相比,用戶主動(dòng)搜索的情況下,用戶的需求更為強(qiáng)烈
通常需要判斷這些強(qiáng)烈程度都是通過:
相關(guān)性:看因變量與自變量之間的相關(guān)系數(shù),如:cor函數(shù)importance:
看刪除或者修改自變量,對(duì)應(yīng)變量的判斷影響大小,如:randomForest的重要性離散程度:
看自變量的數(shù)據(jù)分布是否足夠分散,是否具有判斷依據(jù),如:變異系數(shù)或者pca
等等

額外知識(shí)補(bǔ)充:

為什么正態(tài)分布非常常見

整理內(nèi)容來自這里→正態(tài)分布為什么常見

其實(shí)感覺自己很多問題都沒有深入思考,有機(jī)會(huì)一定會(huì)再重新認(rèn)真學(xué)習(xí)一邊概率論與數(shù)理統(tǒng)計(jì)(真是對(duì)不起我的專業(yè)啊
之前就覺得正態(tài)分布很常見

直到John D.cook的文章

這里需要提到中心極限定理(central limit theorem)

在自然界與生產(chǎn)中,一些現(xiàn)象受到許多相互獨(dú)立的隨機(jī)因素的影響,如果每個(gè)因素所產(chǎn)生的影響都很微小時(shí),總的影響可以看作是服從正態(tài)分布的。

可以看出,隨著統(tǒng)計(jì)量個(gè)數(shù)的增加,它們和的平均值越來越符合正態(tài)分布。

正態(tài)分布只適合各種因素累加的情況,如果這些因素不是彼此獨(dú)立的,會(huì)互相加強(qiáng)影響,那么就不是正態(tài)分布了。

如果各種因素對(duì)結(jié)果的影響不是相加,而是相乘,那么最終結(jié)果不是正態(tài)分布,而是對(duì)數(shù)正態(tài)分布(log normal distribution),即x的對(duì)數(shù)值log(x)滿足正態(tài)分布。

也就是結(jié)果的對(duì)數(shù)值滿足正態(tài)分布

(我覺得中心極限定理也是一個(gè)值得挖掘的坑~下周的內(nèi)容暫定未中心極限定理分析(理論)和相關(guān)應(yīng)用的代碼)

總結(jié)

以上是生活随笔為你收集整理的【每周一篇】推荐算法之威尔逊区间法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。