女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

推薦系統(tǒng)中的EE問題及解決問題的基本Bandit算法詳細(xì)概述

lviY_AI_shequ ? 來源:未知 ? 作者:易水寒 ? 2018-10-14 10:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、推薦系統(tǒng)中的EE問題

Exploration and Exploitation(EE問題,探索與開發(fā))是計(jì)算廣告和推薦系統(tǒng)里常見的一個(gè)問題,為什么會(huì)有EE問題?簡單來說,是為了平衡推薦系統(tǒng)的準(zhǔn)確性和多樣性。

EE問題中的Exploitation就是:對用戶比較確定的興趣,當(dāng)然要利用開采迎合,好比說已經(jīng)掙到的錢,當(dāng)然要花;而exploration就是:光對著用戶已知的興趣使用,用戶很快會(huì)膩,所以要不斷探索用戶新的興趣才行,這就好比雖然有一點(diǎn)錢可以花了,但是還得繼續(xù)搬磚掙錢,不然花完了就得喝西北風(fēng)。

2、Bandit算法

Bandit算法是解決EE問題的一種有效算法,我們先來了解一下Bandit算法的起源。Bandit算法來源于歷史悠久的賭博學(xué),它要解決的問題是這樣的:

一個(gè)賭徒,要去搖老虎機(jī),走進(jìn)賭場一看,一排老虎機(jī),外表一模一樣,但是每個(gè)老虎機(jī)吐錢的概率可不一樣,他不知道每個(gè)老虎機(jī)吐錢的概率分布是什么,那么每次該選擇哪個(gè)老虎機(jī)可以做到最大化收益呢?這就是多臂賭博機(jī)問題(Multi-armed bandit problem, K-armed bandit problem, MAB)。

怎么解決這個(gè)問題呢?最好的辦法是去試一試,不是盲目地試,而是有策略地快速試一試,這些策略就是Bandit算法。

Bandit算法如何同推薦系統(tǒng)中的EE問題聯(lián)系起來呢?假設(shè)我們已經(jīng)經(jīng)過一些試驗(yàn),得到了當(dāng)前每個(gè)老虎機(jī)的吐錢的概率,如果想要獲得最大的收益,我們會(huì)一直搖哪個(gè)吐錢概率最高的老虎機(jī),這就是Exploitation。但是,當(dāng)前獲得的信息并不是老虎機(jī)吐錢的真實(shí)概率,可能還有更好的老虎機(jī)吐錢概率更高,因此還需要進(jìn)一步探索,這就是Exploration問題。

下面,我們就來看一下一些經(jīng)典的Bandit算法實(shí)現(xiàn)吧,不過我們還需要補(bǔ)充一些基礎(chǔ)知識(shí)。

3、基礎(chǔ)知識(shí)

3.1 累積遺憾

Bandit算法需要量化一個(gè)核心問題:錯(cuò)誤的選擇到底有多大的遺憾?能不能遺憾少一些?所以我們便有了衡量Bandit算法的一個(gè)指標(biāo):累積遺憾:

這里 t 表示輪數(shù), r表示回報(bào)。公式右邊的第一項(xiàng)表示第t輪的期望最大收益,而右邊的第二項(xiàng)表示當(dāng)前選擇的arm獲取的收益,把每次差距累加起來就是總的遺憾。

對應(yīng)同樣的問題,采用不同bandit算法來進(jìn)行實(shí)驗(yàn)相同的次數(shù),那么看哪個(gè)算法的總regret增長最慢,那么哪個(gè)算法的效果就是比較好的。

3.2 Beta分布

有關(guān)Beta分布,可以參考帖子:https://www.zhihu.com/question/30269898。這里只做一個(gè)簡單的介紹。beta分布可以看作一個(gè)概率的概率分布。它是對二項(xiàng)分布中成功概率p的概率分布的描述。它的形式如下:

其中,a和b分別代表在a+b次伯努利試驗(yàn)中成功和失敗的次數(shù)。我們用下面的圖來說明一下Beta分布的含義:

上圖中一共有三條線,我們忽略中間的一條線,第一條線中a=81,b=219。也就是說在我們進(jìn)行了300次伯努利試驗(yàn)中,成功81次,失敗219次的情況下,成功概率p的一個(gè)分布,可以看到,p的概率在0.27左右概率最大,但我們不能說成功的概率就是0.27,這也就是頻率派和貝葉斯派的區(qū)別,哈哈。此時(shí),我們又做了300次試驗(yàn),此時(shí)在總共600次伯努利試驗(yàn)中,成功了181次,失敗了419次,此時(shí)成功概率p的概率分布變味了藍(lán)色的線,在0.3左右概率最大。

4、經(jīng)典Bandit算法原理及實(shí)現(xiàn)

下文中的收益可以理解為老虎機(jī)吐錢的觀測概率。

4.1 樸素Bandit算法

先隨機(jī)試若干次,計(jì)算每個(gè)臂的平均收益,一直選均值最大那個(gè)臂。

4.2 Epsilon-Greedy算法

選一個(gè)(0,1)之間較小的數(shù)epsilon,每次以epsilon的概率在所有臂中隨機(jī)選一個(gè)。以1-epsilon的概率選擇截止當(dāng)前,平均收益最大的那個(gè)臂。根據(jù)選擇臂的回報(bào)值來對回報(bào)期望進(jìn)行更新。

這里epsilon的值可以控制對exploit和explore的偏好程度,每次決策以概率ε去勘探Exploration,1-ε的概率來開發(fā)Exploitation,基于選擇的item及回報(bào),更新item的回報(bào)期望。

對于Epsilon-Greedy算法來首,能夠應(yīng)對變化,即如果item的回報(bào)發(fā)生變化,能及時(shí)改變策略,避免卡在次優(yōu)狀態(tài)。同時(shí)Epsilon的值可以控制對Exploit和Explore的偏好程度。越接近0,越保守,只想花錢不想掙錢。但是策略運(yùn)行一段時(shí)間后,我們已經(jīng)對各item有了一定程度了解,但沒用利用這些信息,仍然不做任何區(qū)分地隨機(jī)Exploration,這是Epsilon-Greedy算法的缺點(diǎn)。

4.3 Thompson sampling算法

Thompson sampling算法用到了Beta分布,該方法假設(shè)每個(gè)老虎機(jī)都有一個(gè)吐錢的概率p,同時(shí)該概率p的概率分布符合beta(wins, lose)分布,每個(gè)臂都維護(hù)一個(gè)beta分布的參數(shù),即wins, lose。每次試驗(yàn)后,選中一個(gè)臂,搖一下,有收益則該臂的wins增加1,否則該臂的lose增加1。

每次選擇臂的方式是:用每個(gè)臂現(xiàn)有的beta分布產(chǎn)生一個(gè)隨機(jī)數(shù)b,選擇所有臂產(chǎn)生的隨機(jī)數(shù)中最大的那個(gè)臂去搖。

4.4 UCB算法

前面提到了,Epsilon-Greedy算法在探索的時(shí)候,所有的老虎機(jī)都有同樣的概率被選中,這其實(shí)沒有充分利用歷史信息,比如每個(gè)老虎機(jī)之前探索的次數(shù),每個(gè)老虎機(jī)之前的探索中吐錢的頻率。

那我們怎么能夠充分利用歷史信息呢?首先,根據(jù)當(dāng)前老虎機(jī)已經(jīng)探索的次數(shù),以及吐錢的次數(shù),我們可以計(jì)算出當(dāng)前每個(gè)老虎機(jī)吐錢的觀測概率p'。同時(shí),由于觀測次數(shù)有限,因此觀測概率和真實(shí)概率p之間總會(huì)有一定的差值 ? ,即p' - ? <= p <= p' + ?。

基于上面的討論,我們得到了另一種常用的Bandit算法:UCB(Upper Confidence Bound)算法。該算法在每次推薦時(shí),總是樂觀的認(rèn)為每個(gè)老虎機(jī)能夠得到的收益是p' + ?。

好了,接下來的問題就是觀測概率和真實(shí)概率之間的差值?如何計(jì)算了,我們首先有兩個(gè)直觀的理解:1)對于選中的老虎機(jī),多獲得一次反饋會(huì)使?變小,當(dāng)反饋無窮多時(shí),?趨近于0,最終會(huì)小于其他沒有被選中的老虎機(jī)的?。2)對于沒有被選中的老虎機(jī),?會(huì)隨著輪數(shù)的增大而增加,最終會(huì)大于其他被選中的老虎機(jī)。

因此,當(dāng)進(jìn)行了一定的輪數(shù)的時(shí)候,每個(gè)老虎機(jī)都有機(jī)會(huì)得到探索的機(jī)會(huì)。UCB算法中p' + ?的計(jì)算公式如下:

其中加號(hào)前面是第j個(gè)老虎機(jī)到目前的收益均值,后面的叫做bonus,本質(zhì)上是均值的標(biāo)準(zhǔn)差,T是目前的試驗(yàn)次數(shù),n是該老虎機(jī)被試次數(shù)。

為什么選擇上面形式的?呢,還得從Chernoff-Hoeffding Bound說起:

因此(下面的截圖來自于知乎https://zhuanlan.zhihu.com/p/32356077):

5、代碼實(shí)現(xiàn)

接下來,我們來實(shí)現(xiàn)兩個(gè)基本的Bandit算法,UCB和Thompson sampling算法。

5.1 UCB算法

代碼中有詳細(xì)的注釋,所以我直接貼完整的代碼了:

import numpy as np T = 1000 # T輪試驗(yàn) N = 10 # N個(gè)老虎機(jī) true_rewards = np.random.uniform(low=0, high=1, size=N) # 每個(gè)老虎機(jī)真實(shí)的吐錢概率 estimated_rewards = np.zeros(N) # 每個(gè)老虎機(jī)吐錢的觀測概率,初始都為0 chosen_count = np.zeros(N) # 每個(gè)老虎機(jī)當(dāng)前已經(jīng)探索的次數(shù),初始都為0 total_reward = 0 # 計(jì)算delta def calculate_delta(T, item): if chosen_count[item] == 0: return 1 else: return np.sqrt(2 * np.log(T) / chosen_count[item]) # 計(jì)算每個(gè)老虎機(jī)的p+delta,同時(shí)做出選擇 def UCB(t, N): upper_bound_probs = [estimated_rewards[item] + calculate_delta(t, item) for item in range(N)] item = np.argmax(upper_bound_probs) reward = np.random.binomial(n=1, p=true_rewards[item]) return item, reward for t in range(1, T): # 依次進(jìn)行T次試驗(yàn) # 選擇一個(gè)老虎機(jī),并得到是否吐錢的結(jié)果 item, reward = UCB(t, N) total_reward += reward # 一共有多少客人接受了推薦 # 更新每個(gè)老虎機(jī)的吐錢概率 estimated_rewards[item] = ((t - 1) * estimated_rewards[item] + reward) / t chosen_count[item] += 1

5.2 Thompson sampling算法

Thompson sampling算法涉及到了beta分布,因此我們使用pymc庫來產(chǎn)生服從beta分布的隨機(jī)數(shù),只需要一行代碼就能在選擇合適的老虎機(jī)。

np.argmax(pymc.rbeta(1 + successes, 1 + totals - successes))

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4707

    瀏覽量

    95186
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4895

    瀏覽量

    70525
  • UCB
    UCB
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    11424

原文標(biāo)題:推薦系統(tǒng)遇上深度學(xué)習(xí)(十二)--推薦系統(tǒng)中的EE問題及基本Bandit算法

文章出處:【微信號(hào):AI_shequ,微信公眾號(hào):人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    遺傳算法的特點(diǎn)和應(yīng)用概述

    一、遺傳算法概述 遺傳算法(Genetic Algorithm,GA)是進(jìn)化計(jì)算的一部分,是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過程的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法。該
    發(fā)表于 12-31 06:21

    嵌入式系統(tǒng)FFT算法分析及設(shè)計(jì)方案

    嵌入式系統(tǒng)FFT算法分析及設(shè)計(jì)方案 概述: 目前國內(nèi)有關(guān)數(shù)字信號(hào)處理
    發(fā)表于 03-08 11:47 ?857次閱讀
    嵌入式<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>FFT<b class='flag-5'>算法</b>分析及設(shè)計(jì)方案

    融合網(wǎng)絡(luò)的多路徑Bandit優(yōu)化算法

    子階段,通過對權(quán)衡網(wǎng)絡(luò)時(shí)延和能效目標(biāo)函數(shù)的計(jì)算進(jìn)行路徑優(yōu)選,從而合理地分布網(wǎng)絡(luò)各節(jié)點(diǎn)的能耗。仿真結(jié)果表明,對比非應(yīng)急業(yè)務(wù)應(yīng)用和貪婪算法,在融合網(wǎng)絡(luò)應(yīng)急業(yè)務(wù)應(yīng)用下,多路徑Bandit算法
    發(fā)表于 02-12 16:07 ?0次下載
    融合網(wǎng)絡(luò)的多路徑<b class='flag-5'>Bandit</b>優(yōu)化<b class='flag-5'>算法</b>

    調(diào)制解調(diào)器和積分器算法程序的詳細(xì)資料概述

    本文的主要內(nèi)容介紹的是調(diào)制解調(diào)器和積分器算法程序的詳細(xì)資料概述
    發(fā)表于 04-28 10:20 ?11次下載
    調(diào)制解調(diào)器和積分器<b class='flag-5'>算法</b>程序的<b class='flag-5'>詳細(xì)</b>資料<b class='flag-5'>概述</b>

    兼容第三方算法的Excel DSP用在GSM上的詳細(xì)概述

    本文的主要內(nèi)容介紹的是TI的兼容第三方算法的Excel DSP用在GSM上的詳細(xì)概述
    發(fā)表于 05-07 16:59 ?6次下載
    兼容第三方<b class='flag-5'>算法</b>的Excel DSP用在GSM上的<b class='flag-5'>詳細(xì)</b><b class='flag-5'>概述</b>

    TI的基于DSP兼容的第三方算法協(xié)議的詳細(xì)資料概述

    本文的主要內(nèi)容介紹的是TI的基于DSP兼容的第三方算法協(xié)議的詳細(xì)資料概述
    發(fā)表于 05-07 17:04 ?8次下載
    TI的基于DSP兼容的第三方<b class='flag-5'>算法</b>協(xié)議的<b class='flag-5'>詳細(xì)</b>資料<b class='flag-5'>概述</b>

    Excel DSP兼容的第三方算法用在語音系統(tǒng)上的詳細(xì)資料概述

    本文的主要內(nèi)容介紹的是TI的Excel DSP兼容的第三方算法用在語音系統(tǒng)上的詳細(xì)資料概述
    發(fā)表于 05-07 17:08 ?7次下載
    Excel DSP兼容的第三方<b class='flag-5'>算法</b>用在語音<b class='flag-5'>系統(tǒng)</b>上的<b class='flag-5'>詳細(xì)</b>資料<b class='flag-5'>概述</b>

    基于DSP兼容的第三方算法如何用在無線電話系統(tǒng)上的詳細(xì)概述

    本文檔介紹的主要內(nèi)容是基于DSP兼容的第三方算法如何用在無線電話系統(tǒng)上的詳細(xì)概述
    發(fā)表于 05-08 08:41 ?8次下載
    基于DSP兼容的第三方<b class='flag-5'>算法</b>如何用在無線電話<b class='flag-5'>系統(tǒng)</b>上的<b class='flag-5'>詳細(xì)</b><b class='flag-5'>概述</b>

    C語言的經(jīng)典算法大全包括了51個(gè)算法詳細(xì)中文概述

    C語言的經(jīng)典算法大全包括了51個(gè)算法詳細(xì)中文概述
    發(fā)表于 06-04 08:13 ?149次下載
    C語言的經(jīng)典<b class='flag-5'>算法</b>大全包括了51個(gè)<b class='flag-5'>算法</b>的<b class='flag-5'>詳細(xì)</b>中文<b class='flag-5'>概述</b>

    根據(jù)51單片機(jī)的陀螺儀飛鼠算法詳細(xì)合集資料概述免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是陀螺儀飛鼠算法詳細(xì)合集資料概述免費(fèi)下載
    發(fā)表于 07-02 08:00 ?26次下載

    CT原理是什么?CT算法詳細(xì)概述CT資料電子教材免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是CT原理是什么?CT算法詳細(xì)概述CT資料電子教材免費(fèi)下載。
    發(fā)表于 07-20 08:00 ?0次下載
    CT原理是什么?CT<b class='flag-5'>算法</b><b class='flag-5'>詳細(xì)</b><b class='flag-5'>概述</b>CT資料電子教材免費(fèi)下載

    PID程序算法詳細(xì)資料概述免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PID程序算法詳細(xì)資料概述免費(fèi)下載
    發(fā)表于 07-24 08:00 ?36次下載

    數(shù)學(xué)建模的常用算法詳細(xì)介紹

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)學(xué)建模的常用算法詳細(xì)介紹。
    發(fā)表于 07-20 08:00 ?2次下載
    數(shù)學(xué)建模<b class='flag-5'>中</b>的常用<b class='flag-5'>算法</b><b class='flag-5'>詳細(xì)</b>介紹

    MindSpore 首發(fā):隱私保護(hù)的 Bandit 算法,實(shí)現(xiàn)電影推薦

    老虎機(jī)(Bandit)問題是強(qiáng)化學(xué)習(xí)中一類重要的問題,由于它定義簡潔且有大量的理論分析,因此被廣泛應(yīng)用于新聞推薦,醫(yī)學(xué)試驗(yàn)等實(shí)際場景...
    發(fā)表于 01-25 18:07 ?0次下載
    MindSpore 首發(fā):隱私保護(hù)的 <b class='flag-5'>Bandit</b> <b class='flag-5'>算法</b>,實(shí)現(xiàn)電影推薦

    算法是指什么?算法概述

    算法是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問題、高度符合邏輯性、可執(zhí)行性的指令集合,代表運(yùn)用系統(tǒng)方法描述解決問題的策略機(jī)制。
    的頭像 發(fā)表于 02-15 16:05 ?1.4w次閱讀
    主站蜘蛛池模板: 建昌县| 琼中| 张家界市| 大渡口区| 都兰县| 金寨县| 绿春县| 玛沁县| 银川市| 宁河县| 盐山县| 方山县| 保德县| 铜陵市| 宜章县| 扶绥县| 娄底市| 衡南县| 恩平市| 平邑县| 正阳县| 奉化市| 潞城市| 伊吾县| 纳雍县| 灌阳县| 汝城县| 梨树县| 竹北市| 阳山县| 南京市| 玉门市| 湘乡市| 武邑县| 德令哈市| 唐河县| 泉州市| 甘德县| 无棣县| 称多县| 遂昌县|