国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

強(qiáng)化學(xué)習(xí)基礎(chǔ):Epsilon-greedy 算法,多臂老虎機(jī)問題的理解,說點(diǎn)人話的強(qiáng)化學(xué)習(xí),一定能看懂

這篇具有很好參考價(jià)值的文章主要介紹了強(qiáng)化學(xué)習(xí)基礎(chǔ):Epsilon-greedy 算法,多臂老虎機(jī)問題的理解,說點(diǎn)人話的強(qiáng)化學(xué)習(xí),一定能看懂。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在強(qiáng)化學(xué)習(xí)中,epsilon-greedy可以說是非?;A(chǔ)的一個(gè)探索利用算法。應(yīng)用十分廣泛。嘗試進(jìn)行平衡的探索-利用方法。

在Epsilon-Greedy策略中,一個(gè)agent會(huì)以概率epsilon隨機(jī)選擇行動(dòng),也就是進(jìn)行探索。此外以1-epsilon的概率選擇當(dāng)前估計(jì)的最佳行動(dòng),也就是利用 。

具體來說,如果epsilon=0,則代理總是選擇當(dāng)前估計(jì)的最佳行動(dòng);如果epsilon=1,則代理總是隨機(jī)選擇行動(dòng);在介于0和1之間的情況下,代理在每個(gè)時(shí)間步以概率epsilon隨機(jī)選擇行動(dòng),以概率1-epsilon選擇當(dāng)前估計(jì)的最佳行動(dòng)。

Epsilon-Greedy的目的是在探索(嘗試新的行動(dòng))和利用(選擇當(dāng)前估計(jì)的最佳行動(dòng))之間達(dá)到平衡。當(dāng)代理剛開始學(xué)習(xí)時(shí),它需要探索環(huán)境以找到最佳策略,這時(shí)epsilon應(yīng)該設(shè)置為較高的值,以使代理更多地嘗試不同的行動(dòng)。隨著代理的學(xué)習(xí),它需要利用已知的知識(shí)來最大化獎(jiǎng)勵(lì),此時(shí)epsilon應(yīng)該設(shè)置為較低的值,以使代理更多地選擇當(dāng)前估計(jì)的最佳行動(dòng)。

總的來說,Epsilon-Greedy是一種簡單而有效的行動(dòng)選擇策略,可以平衡探索和利用之間的權(quán)衡,并在強(qiáng)化學(xué)習(xí)任務(wù)中表現(xiàn)良好。

在此,我們以強(qiáng)化學(xué)習(xí)中最基礎(chǔ)最開端的多臂老虎機(jī)來做一個(gè)例子,代碼如下:

import numpy as np
import matplotlib.pyplot as plt

class MultiArmedBandit:
    def __init__(self, num_arms, mu=0, sigma=1):
        self.num_arms = num_arms
        self.mu = mu
        self.sigma = sigma
        self.action_values = np.random.normal(self.mu, self.sigma, self.num_arms)
        
    def get_reward(self, action):
        reward = np.random.normal(self.action_values[action], self.sigma)
        return reward

class EpsilonGreedy:
    def __init__(self, num_actions, epsilon=0.1):
        self.num_actions = num_actions
        self.epsilon = epsilon
        self.action_values = np.zeros(num_actions)
        self.action_counts = np.zeros(num_actions)
        
    def select_action(self):
        if np.random.uniform() < self.epsilon:
            # 隨機(jī)選擇行動(dòng)
            action = np.random.randint(self.num_actions)
        else:
            # 選擇具有最高價(jià)值的行動(dòng)
            action = np.argmax(self.action_values)
        self.action_counts[action] += 1
        return action
    
    def update_action_value(self, action, reward):
        self.action_values[action] += (reward - self.action_values[action]) / self.action_counts[action]
        

# 模擬多臂老虎機(jī)
num_arms = 10
num_steps = 1000
num_trials = 1000
eps = 0.1

avg_rewards = np.zeros(num_steps)

for i in range(num_trials):
    bandit = MultiArmedBandit(num_arms)
    agent = EpsilonGreedy(num_arms, epsilon=eps)
    rewards = np.zeros(num_steps)
    for t in range(num_steps):
        action = agent.select_action()
        reward = bandit.get_reward(action)
        agent.update_action_value(action, reward)
        rewards[t] = reward
    avg_rewards += (rewards - avg_rewards) / (i+1)
    
# 繪制結(jié)果
plt.plot(avg_rewards)
plt.xlabel('Steps')
plt.ylabel('Average Reward')
plt.title('Epsilon-Greedy Bandit')
plt.show()

在這個(gè)模擬中,我們首先定義了一個(gè)MultiArmedBandit類來表示多臂老虎機(jī)。在初始化函數(shù)中,我們設(shè)置了臂數(shù)和每個(gè)臂的均值和標(biāo)準(zhǔn)差,通過隨機(jī)生成的方式給每個(gè)臂賦予不同的獎(jiǎng)勵(lì)期望。

然后我們定義了一個(gè)EpsilonGreedy類,其中包含了選擇行動(dòng)和更新行動(dòng)價(jià)值的方法。在初始化函數(shù)中,我們設(shè)置了行動(dòng)數(shù)和epsilon值,并將所有行動(dòng)的估計(jì)價(jià)值和選擇次數(shù)初始化為0。

在模擬中,我們通過循環(huán)多次試驗(yàn),每次試驗(yàn)隨機(jī)生成一個(gè)新的多臂老虎機(jī),并使用Epsilon-Greedy策略選擇行動(dòng),計(jì)算每個(gè)步驟的平均獎(jiǎng)勵(lì)。最后,我們計(jì)算所有試驗(yàn)的平均獎(jiǎng)勵(lì),并繪制出結(jié)果圖。

在實(shí)際使用中,需要根據(jù)任務(wù)和代理的特定要求,對epsilon的值進(jìn)行調(diào)整,以達(dá)到最佳的性能和

最佳策略。較小的epsilon值會(huì)導(dǎo)致代理更多地選擇已知的最佳行動(dòng),但可能會(huì)錯(cuò)過發(fā)現(xiàn)更優(yōu)行動(dòng)的機(jī)會(huì);較大的epsilon值會(huì)導(dǎo)致代理更多地嘗試未知的行動(dòng),但可能會(huì)導(dǎo)致代理的行動(dòng)選擇不夠理智。

在上面的代碼示例中,我們使用了一個(gè)較小的epsilon值(0.1),這意味著代理有10%的概率隨機(jī)選擇行動(dòng),而有90%的概率選擇當(dāng)前估計(jì)價(jià)值最高的行動(dòng)。在多次試驗(yàn)中,我們觀察到代理逐漸學(xué)習(xí)到哪些行動(dòng)是最有利的,并開始偏向于選擇這些行動(dòng)。結(jié)果顯示出代理在學(xué)習(xí)期間的初始探索階段和穩(wěn)定的利用階段。

運(yùn)行后我們得到如下結(jié)果:

epsilon greedy,說點(diǎn)人話的強(qiáng)化學(xué)習(xí),算法,機(jī)器學(xué)習(xí),人工智能,深度學(xué)習(xí),python

對此我們可以看到,伴隨著試驗(yàn)次數(shù)的增多,我們獲得的最大回報(bào)也會(huì)增多。其實(shí)意味著我們對多臂老虎機(jī)中的概率分布獲得了一個(gè)比較好的期望,于是我們每次拉下那個(gè)期望比較高的老虎機(jī)手臂,于是我們就可以獲得更高的一個(gè)回報(bào)。

在開始階段,我們不知道每個(gè)老虎機(jī)的回報(bào)期望,因此,我們更多的去進(jìn)行探索,通過探索的次數(shù)越來越多,我們對老虎機(jī)的回報(bào)預(yù)估的越來越準(zhǔn),于是我們更多的選擇期望高的老虎機(jī)進(jìn)行操作,由此獲得的回報(bào)越來越高。?文章來源地址http://www.zghlxwxcb.cn/news/detail-627474.html

到了這里,關(guān)于強(qiáng)化學(xué)習(xí)基礎(chǔ):Epsilon-greedy 算法,多臂老虎機(jī)問題的理解,說點(diǎn)人話的強(qiáng)化學(xué)習(xí),一定能看懂的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【強(qiáng)化學(xué)習(xí)】——Q-learning算法為例入門Pytorch強(qiáng)化學(xué)習(xí)

    【強(qiáng)化學(xué)習(xí)】——Q-learning算法為例入門Pytorch強(qiáng)化學(xué)習(xí)

    ???♂? 個(gè)人主頁:@Lingxw_w的個(gè)人主頁 ???作者簡介:計(jì)算機(jī)研究生在讀,研究方向復(fù)雜網(wǎng)絡(luò)和數(shù)據(jù)挖掘,阿里云專家博主,華為云云享專家,CSDN專家博主、人工智能領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,安徽省優(yōu)秀畢業(yè)生 ?? 希望大家多多支持,我們一起進(jìn)步!?? 如果文章對你有幫助的話

    2024年02月10日
    瀏覽(17)
  • 強(qiáng)化學(xué)習(xí)專題:回合更新算法

    游戲開始 玩家收到兩張明牌,荷官發(fā)給自己一張明牌和一張暗牌 根據(jù)自己手中的牌和荷官的明牌,玩家需要決定是否要牌(Hit)或停牌(Stand) 選擇要牌,荷官發(fā)一張額外的牌 如果玩家的牌總點(diǎn)數(shù)超過21點(diǎn),即爆牌(Bust),該玩家輸。 否則可以繼續(xù)要牌直到停止 選擇停牌

    2024年02月11日
    瀏覽(17)
  • 【機(jī)器學(xué)習(xí)】強(qiáng)化學(xué)習(xí)(三)蒙特卡洛算法

    【機(jī)器學(xué)習(xí)】強(qiáng)化學(xué)習(xí)(三)蒙特卡洛算法

    策略迭代算法和價(jià)值迭代算法為什么可以得到理論上的最優(yōu)解,在實(shí)際問題中使用價(jià)值有限? 無模型算法 三、蒙特卡洛算法 蒙特卡洛(Monte Carlo)方法是一種基于樣本的強(qiáng)化學(xué)習(xí)算法,它通過執(zhí)行和學(xué)習(xí)代理(也就是我們編程的AI)環(huán)境交互的樣本路徑來學(xué)習(xí)。它不需要初始知

    2024年01月19日
    瀏覽(18)
  • python算法中的深度學(xué)習(xí)算法之強(qiáng)化學(xué)習(xí)(詳解)

    目錄 學(xué)習(xí)目標(biāo): 學(xué)習(xí)內(nèi)容: 強(qiáng)化學(xué)習(xí) Ⅰ. 環(huán)境建模 Ⅱ . Markov決策過程

    2024年02月01日
    瀏覽(29)
  • 深度強(qiáng)化學(xué)習(xí)——DQN算法原理

    深度強(qiáng)化學(xué)習(xí)——DQN算法原理

    一、DQN算法是什么 DQN,即深度Q網(wǎng)絡(luò)(Deep Q-network),是指基于深度學(xué)習(xí)的Q-Learing算法。 回顧一下Q-Learing:強(qiáng)化學(xué)習(xí)——Q-Learning算法原理 Q-Learing算法維護(hù)一個(gè)Q-table,使用表格存儲(chǔ)每個(gè)狀態(tài)s下采取動(dòng)作a獲得的獎(jiǎng)勵(lì),即狀態(tài)-價(jià)值函數(shù)Q(s,a),這種算法存在很大的局限性。在現(xiàn)實(shí)

    2024年02月02日
    瀏覽(27)
  • 基于動(dòng)態(tài)規(guī)劃的強(qiáng)化學(xué)習(xí)算法

    基于動(dòng)態(tài)規(guī)劃的強(qiáng)化學(xué)習(xí)算法

    學(xué)習(xí)「強(qiáng)化學(xué)習(xí)」(基于這本教材,強(qiáng)烈推薦)時(shí)的一些總結(jié),在此記錄一下。 在馬爾可夫決策過程 環(huán)境模型已知 (也就是狀態(tài)轉(zhuǎn)移函數(shù)P、獎(jiǎng)勵(lì)函數(shù)r已知)的情況下,我們可以通過 「動(dòng)態(tài)規(guī)劃」 求得馬爾可夫決策過程的最優(yōu)策略 (pi^*) 。 對于做過算法題目的同學(xué)而言,

    2024年03月09日
    瀏覽(26)
  • 【強(qiáng)化學(xué)習(xí)】常用算法之一 “SARSA”

    【強(qiáng)化學(xué)習(xí)】常用算法之一 “SARSA”

    ? 作者主頁: 愛笑的男孩。的博客_CSDN博客-深度學(xué)習(xí),活動(dòng),python領(lǐng)域博主 愛笑的男孩。擅長深度學(xué)習(xí),活動(dòng),python,等方面的知識(shí),愛笑的男孩。關(guān)注算法,python,計(jì)算機(jī)視覺,圖像處理,深度學(xué)習(xí),pytorch,神經(jīng)網(wǎng)絡(luò),opencv領(lǐng)域. https://blog.csdn.net/Code_and516?type=blog 個(gè)人簡介:打工人。 持續(xù)分

    2024年02月11日
    瀏覽(29)
  • 【強(qiáng)化學(xué)習(xí)】常用算法之一 “SAC”

    【強(qiáng)化學(xué)習(xí)】常用算法之一 “SAC”

    ? 作者主頁: 愛笑的男孩。的博客_CSDN博客-深度學(xué)習(xí),活動(dòng),python領(lǐng)域博主 愛笑的男孩。擅長深度學(xué)習(xí),活動(dòng),python,等方面的知識(shí),愛笑的男孩。關(guān)注算法,python,計(jì)算機(jī)視覺,圖像處理,深度學(xué)習(xí),pytorch,神經(jīng)網(wǎng)絡(luò),opencv領(lǐng)域. https://blog.csdn.net/Code_and516?type=blog 個(gè)人簡介:打工人。 持續(xù)分

    2024年02月11日
    瀏覽(17)
  • 【機(jī)器學(xué)習(xí)】強(qiáng)化學(xué)習(xí)(二)基于動(dòng)態(tài)規(guī)劃的算法

    【機(jī)器學(xué)習(xí)】強(qiáng)化學(xué)習(xí)(二)基于動(dòng)態(tài)規(guī)劃的算法

    值函數(shù)可以分為狀態(tài)價(jià)值函數(shù)和動(dòng)作價(jià)值函數(shù),分別適用于哪些強(qiáng)化學(xué)習(xí)問題 二、基于動(dòng)態(tài)規(guī)劃的算法 2.1 策略迭代算法 示例: 代碼 首先定義了一些參數(shù),如獎(jiǎng)勵(lì)、折扣因子、最大誤差等,然后初始化了一個(gè)網(wǎng)格世界的環(huán)境,包括狀態(tài)、動(dòng)作、價(jià)值函數(shù)和策略。接著,它定

    2024年01月21日
    瀏覽(23)
  • 機(jī)器學(xué)習(xí)算法(三十):強(qiáng)化學(xué)習(xí)(Reinforcement Learning)

    機(jī)器學(xué)習(xí)算法(三十):強(qiáng)化學(xué)習(xí)(Reinforcement Learning)

    目錄 1 簡介? 1.1 什么是強(qiáng)化學(xué)習(xí) 1.2 強(qiáng)化學(xué)習(xí)的主要特點(diǎn) 1.3 強(qiáng)化學(xué)習(xí)的組成部分 2?強(qiáng)化學(xué)習(xí)訓(xùn)練過程 ?3?強(qiáng)化學(xué)習(xí)算法歸類 3.1 Value Based 3.2?Policy Based 3.3 Actor-Critic 3.4 其他分類 4?EE(Explore Exploit)探索與利用 5 強(qiáng)化學(xué)習(xí)實(shí)際開展中的難點(diǎn) 6 強(qiáng)化學(xué)習(xí)的實(shí)際應(yīng)用 6.1 自動(dòng)駕駛

    2024年02月02日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包