亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

K臂老虎機問題Python代碼實現

系統 2585 0

參考周志華的《西瓜書》

?第16章強化學習

16.2 K-搖臂賭博機

其實這個問題的目的就是為了能夠獲得更大的利潤,但是具體怎樣去獲得更大的利潤,用到了兩種算法,一種是epsilon-貪心算法,另一種是Softmax算法,當然還有其他方法,具體可以參考http://incompleteideas.net/book/the-book-2nd.html,我在網上也找到了一位博主的博客,好像是翻譯這本書的,寫得挺好的,具體網址如下:https://blog.csdn.net/LagrangeSK

epsilon-貪心算法具體是選擇一個平衡點,下次的行為可以隨機選取,也可以選擇當前收益最大化的行為,并實時更新動作的收益。而Softmax算法選擇下一次行為是按照概率來選擇,若一個動作的收益較大,則下次選擇該動作的概率也大,并實時更新概率。具體代碼如下:

            
              # -*- coding: utf-8 -*-
#K臂老虎機問題
import numpy as np
import random
import matplotlib.pyplot as plt
#K=[1,2,3,4,5]

def init():
    tau=0.1
    epsilon=0.01
    T=3000
    reword=[1,1]
    probability=[0.4,0.2]
    #arm=dict(list(zip(reword,Probability)))
    count=dict.fromkeys(["1",'2'],0)
    Q=dict.fromkeys(["1",'2'],0)
    sum_p=sum([np.exp(i/tau) for i in Q.values()])
    P=[np.exp(i/tau)/sum_p for i in Q.values()]
    return tau,epsilon,T,reword,probability,count,Q,P    
#epsilon-貪心算法
tau,epsilon,T,reword,probability,count,Q,P =init()
r=0
r_all=list()
#Q={"1":0.4,'2':0.2}
for i in range(T):
    if random.uniform(0,1)
              
                random.uniform(0,1) else 0
#    print(v)
    r=(r*(i)+v)/(i+1)
    r_all.append(r)
    count[str(k)] +=1
    Q[str(k)]=Q[str(k)]+(v-Q[str(k)])/count[str(k)]
#    print("平均獎賞為:",r)
plt.plot(list(range(T)),r_all,color='r')

#Softmax算法
r=0
r_all=list()
tau,epsilon,T,reword,probability,count,Q,P =init()
for i in range(T):
    sum_p=sum([np.exp(i/tau) for i in Q.values()])
    P=[np.exp(i/tau)/sum_p for i in Q.values()]
    k=int(np.random.choice(list(Q.keys()),p=P))
    v=reword[k-1] if probability[k-1]>random.uniform(0,1) else 0
    r=(r*(i)+v)/(i+1)
    r_all.append(r)
    count[str(k)] +=1
    Q[str(k)]=Q[str(k)]+(v-Q[str(k)])/count[str(k)]
#    print("平均獎賞為:",r)
plt.plot(list(range(T)),r_all,color='b')
plt.show()    
              
            
          

具體結果如下:

K臂老虎機問題Python代碼實現_第1張圖片

然后我發現這一張圖片和書上比較接近,因此我選的這個圖片進行展示,書上選擇的圖片顯示效果很好,我個人覺得應該也是挑選過的。

其實在運行的過程中,會出現很多種情況,很多次都是前幾次,前?十幾次有可能平均收益突然增大到很大,但是最終都是趨于上述的結果,至于為什么不同的參數最終會趨于不同的結果,我個人人為 “僅探索”的形式為整體的期望,正常的形式(參數隨機給)應該會逐漸趨于某一個臂(最優臂)的期望,至于“僅利用”我有點不太明白。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五月激情五月婷婷 | 午夜视频在线观看网站 | 久久精品国产清自在天天线 | 97黄色网| 女人与女zzzoooxxxx| 443hk四虎 在线观看 | 亚洲一区视频在线 | 一级特黄特交牲大片 | 色婷婷在线观看视频 | 日本欧美在线播放 | 日本高清一级做a爱过程免费视频 | 久久精品亚洲牛牛影视 | 欧美日韩中文字幕在线手机版本 | 日韩精品一区二区三区中文 | 真人女人一级毛片免费视频观看 | 伊人精品成人久久综合欧美 | 欧美日韩性大片 | 纯欧美一级毛片_免费 | 性免费网站 | 在线亚洲黄色 | 成人精品国产亚洲 | 亚洲欧美日本在线 | 国产一区二区三区在线观看免费 | 亚洲精品视频在线观看视频 | 看特级大黄一片 | 看免费一级片 | 色婷婷视频在线 | 国产成人综合久久精品亚洲 | 这里只有精品久久 | 深夜网站免费 | 九九九视频 | 欧美成人亚洲欧美成人 | 成人免费视频视频在线观看 免费 | 天堂va| 国产成人欧美一区二区三区的 | 永久免费的啪啪免费的网址 | 日韩你懂的| www亚洲视频 | 99久久国产综合精品女小说 | 欧美在线视频7777kkkk | 在线观看偷拍视频一区 |