b站——《【強化學習】一小時完全入門》學習筆記及代碼(1-3 多臂老虎機)

問題陳述

我們有兩個多臂老虎機(Multi-Armed Bandit),分別稱為左邊的老虎機右邊的老虎機。每個老虎機的獎勵服從不同的正態分布:

  • 左邊的老虎機:獎勵服從均值為?500,標準差為?50?的正態分布,即?N(500,50)N(500,50)。

  • 右邊的老虎機:獎勵服從均值為?550,標準差為?100?的正態分布,即?N(550,100)N(550,100)。

我們的目標是使用?ε-greedy 強化學習算法(ε=0.1,初始值為 998)來估計這兩個老虎機的獎勵期望值。具體來說,我們需要通過多次嘗試(拉動手臂)來逐步更新對每個老虎機獎勵的估計,最終找到兩個老虎機的獎勵期望值。

問題分解

  1. 目標

    • 使用 ε-greedy 算法估計兩個老虎機的獎勵期望值。

    • 通過多次嘗試,逐步更新對每個老虎機獎勵的估計。

  2. ε-greedy 算法

    • ε=0.1:表示有 10% 的概率進行隨機探索(隨機選擇一個老虎機),90% 的概率進行利用(選擇當前估計獎勵最高的老虎機)。

    • 初始值=998:表示每個老虎機的初始獎勵估計值為 998。

  3. 獎勵分布

    • 左邊的老虎機:N(500,50)N(500,50)

    • 右邊的老虎機:N(550,100)N(550,100)

  4. 輸出

    • 經過多次嘗試后,輸出兩個老虎機的獎勵期望值的估計結果

    • 通過運行代碼,我們可以得到一個圖表,顯示兩個老虎機獎勵期望估計值隨著時間的變化情況。隨著拉動次數的增加,兩個估計值應該逐漸接近它們各自的真實獎勵期望值(500 和 550)。

import numpy as np
import matplotlib.pyplot as plt# 參數初始化
epsilon = 0.1  # ε-greedy算法中的ε
Q1 = 998  # 左邊老虎機的獎勵期望估計
Q2 = 998  # 右邊老虎機的獎勵期望估計
n1 = 0  # 左邊老虎機的拉動次數
n2 = 0  # 右邊老虎機的拉動次數
num_plays = 10000  # 總共拉動的次數# 獎勵的真實分布
mu1, sigma1 = 500, 50  # 左邊老虎機的真實獎勵分布(均值,標準差)
mu2, sigma2 = 550, 100  # 右邊老虎機的真實獎勵分布(均值,標準差)# 用于存儲結果
Q1_estimates = []
Q2_estimates = []# ε-greedy策略的實驗
for t in range(num_plays):# 根據ε-greedy策略選擇一個老虎機if np.random.random() < epsilon:action = np.random.choice([1, 2])  # 隨機選擇左或右else:action = 1 if Q1 > Q2 else 2  # 選擇當前估計獎勵最大的老虎機if action == 1:reward = np.random.normal(mu1, sigma1)  # 從左邊老虎機獲得獎勵n1 += 1Q1 += (reward - Q1) / n1  # 更新左邊老虎機的獎勵期望估計Q1_estimates.append(Q1)else:reward = np.random.normal(mu2, sigma2)  # 從右邊老虎機獲得獎勵n2 += 1Q2 += (reward - Q2) / n2  # 更新右邊老虎機的獎勵期望估計Q2_estimates.append(Q2)# 最終的獎勵期望估計
print(f"最終左邊老虎機的獎勵期望估計: {Q1}")
print(f"最終右邊老虎機的獎勵期望估計: {Q2}")# 繪圖
plt.figure(figsize=(12, 6))# 繪制左邊老虎機獎勵期望估計的變化
plt.plot(Q1_estimates, label="Left Slot Machine (Q1)", color="blue")# 繪制右邊老虎機獎勵期望估計的變化
plt.plot(Q2_estimates, label="Right Slot Machine (Q2)", color="red")# 繪制真實獎勵期望值的參考線
plt.axhline(y=mu1, color="blue", linestyle="--", label="True Q1 (500)")
plt.axhline(y=mu2, color="red", linestyle="--", label="True Q2 (550)")# 圖表設置
plt.title("Reward Estimation in ε-greedy Slot Machine Experiment")
plt.xlabel("Number of Plays")
plt.ylabel("Estimated Reward")
plt.legend(loc="best")
plt.grid(True)# 顯示圖表
plt.show()

顯示結果如圖:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895299.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895299.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895299.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1.推薦算法基本概念

推薦算法是一個非常重要且廣泛應用的領域&#xff0c;特別是在電子商務、社交媒體、內容推薦等領域。第一課我們將介紹推薦算法的基本概念和分類&#xff0c;并簡單講解兩種常見的推薦算法&#xff1a;協同過濾和基于內容的推薦。 推薦算法的基本概念 推薦系統的目標是根據用…

FFmpeg + OpenGL ES 美顏相機教程大綱

做OpenGL和FFmpeg也有很長一段時間了&#xff0c;最近打算結合FFmpegOpenGL ES做一期視頻教程&#xff0c;下面是完整視頻教程大綱。最終的項目實戰效果是實現一款美顏相機。教程分為理論講解和實戰開發兩部分&#xff0c;適合有一定編程基礎的開發者。課程計劃是免費發布在B站…

Linux:安裝 node 及 nvm node 版本管理工具(ubuntu )

目錄 方法一&#xff1a;手動下載安裝文件安裝方法二&#xff1a;curl安裝 方法一&#xff1a;手動下載安裝文件安裝 git clone 遠程鏡像 git clone https://gitee.com/mirrors/nvm安裝 nvm bash install.sh刷新配置&#xff0c;使配置在終端生效 // 方法 1 source /root/.…

基于STM32的ADS1230驅動例程

自己在練手項目中用到了ADS1230&#xff0c;根據芯片手冊自寫的驅動代碼&#xff0c;已測可用&#xff0c;希望對將要用到ADS1230芯片的人有所幫助。 芯片&#xff1a;STM32系列任意芯片、ADS1230 環境&#xff1a;使用STM32CubeMX配置引腳、KEIL 部分電路&#xff1a; 代碼…

游戲引擎學習第98天

倉庫:https://gitee.com/mrxiao_com/2d_game_2 開始進行一點回顧 今天的目標是繼續實現正常貼圖的操作&#xff0c;盡管目前我們還沒有足夠的光照信息來使其完全有用。昨日完成了正常貼圖相關的基礎工作&#xff0c;接下來將集中精力實現正常貼圖的基本操作&#xff0c;并準備…

Windows 本地部署大模型 OpenWebUI+Ollama

安裝Ollama Ollama官方網址&#xff1a;https://ollama.com 下載運行大模型 在Ollama官網中查看需要下載的大模型 https://ollama.com/library 復制圖片中的鏈接 打開cmd&#xff0c;運行此命令&#xff08;此過程會時間會很久&#xff09; 下載Miniconda Miniconda作用是…

C# 數據驗證Regex

Regular Expression&#xff0c;簡稱 Regex,是一種用于匹配和處理文本的強大工具。它通過定義特定的模式&#xff0c;可以用來搜索、替換或提取字符串中的特定內容。 先引入命名空間 using System.Text.RegularExpressions; Intege(整數) 必須是正整數 //必須是正整數publi…

npm運行Vue項目報錯 error:0308010c:digital envelope routines::unsupported

大家好&#xff0c;我是 程序員碼遞夫。 問題 VSCode 運行Vue項目&#xff0c;提示錯誤&#xff1a; building 2/2 modules 0 activeError: error:0308010c:digital envelope routines::unsupported 解決方法 原因是 npm 高版本(大于17)&#xff0c;對ssl的處理做了改進&…

DeepSeek-R1技術革命:用強化學習重塑大語言模型的推理能力

引言&#xff1a;低成本高性能的AI新范式 在2025年1月&#xff0c;中國AI公司DeepSeek發布了兩個標志性模型——DeepSeek-R1-Zero與DeepSeek-R1&#xff0c;以僅600萬美元的訓練成本實現了與OpenAI O1系列&#xff08;開發成本約5億美元&#xff09;相當的推理性能&#xff0c…

【知識科普】CPU,GPN,NPU知識普及

CPU,GPU,NPU CPU、GPU、NPU 詳解1. CPU&#xff08;中央處理器&#xff09;2. GPU&#xff08;圖形處理器&#xff09;3. NPU&#xff08;神經網絡處理器&#xff09; **三者的核心區別****協同工作示例****總結** CPU、GPU、NPU 詳解 1. CPU&#xff08;中央處理器&#xff0…

安川伺服控制器MP系列優勢特點及行業應用

在工業自動化領域&#xff0c;運動控制器的性能直接決定了設備的精度、效率和可靠性。作為全球領先的運動控制品牌&#xff0c;安川電機伺服控制器憑借其卓越的技術優勢和廣泛的應用場景&#xff0c;正在為智能制造注入強勁動力&#xff01; MP3100&#xff1a;主板型運動控制…

深入探索現代CSS:從基礎到未來趨勢

引言&#xff1a;CSS的進化之路 CSS&#xff08;層疊樣式表&#xff09;自1996年誕生以來&#xff0c;已從簡單的樣式描述語言發展為構建現代Web體驗的核心技術。截至2023年&#xff0c;超過98%的網站使用CSS3技術&#xff0c;其發展歷程見證了Web從靜態文檔到富交互應用的蛻變…

Python----PyQt開發(PyQt高級:圖像顯示,定時器,進度條)

一、圖像顯示 1.1、增加圖標 1.直接創建setWindowIcon(QIcon(燈泡.jpg)) import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton from PyQt5.QtGui import QIconclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init_…

工業路由器物聯網應用,智慧環保環境數據監測

在智慧環保環境數據監測中工業路由器能連接各類分散的傳感器&#xff0c;實現多源環境數據集中采集&#xff0c;并通過多種通信網絡穩定傳輸至數據中心或云平臺。 工作人員借助工業路由器可遠程監控設備狀態與環境數據&#xff0c;還能遠程配置傳感器參數。遠程控制設置數據閾…

【DeepSeek】在本地計算機上部署DeepSeek-R1大模型實戰(完整版)

【作者主頁】Francek Chen 【專欄介紹】 ? ? ?人工智能與大模型應用 ? ? ? 人工智能&#xff08;AI&#xff09;通過算法模擬人類智能&#xff0c;利用機器學習、深度學習等技術驅動醫療、金融等領域的智能化。大模型是千億參數的深度神經網絡&#xff08;如ChatGPT&…

JAVA并發編程3--多線程程序

? 1.創建線程的方法&#xff1a; 案例&#xff1a;計算1-1000的整數和 實現Runnable接口 步驟&#xff1a; 1.創建一個實現了Runnable接口的類 2.實現類去實現Runnable中的抽象方法&#xff1a;run() 3.創建實現類的對象 4.將此對象作為參數傳遞到Thread類的構造器中&#…

django中間件,中間件給下面傳值

1、新建middleware.py文件 # myapp/middleware.py import time from django.http import HttpRequest import json from django.http import JsonResponse import urllib.parse class RequestTimeMiddleware:def __init__(self, get_response):self.get_response get_respons…

Vision Transformer:打破CNN壟斷,全局注意力機制重塑計算機視覺范式

目錄 引言 一、ViT模型的起源和歷史 二、什么是ViT&#xff1f; 圖像處理流程 圖像切分 展平與線性映射 位置編碼 Transformer編碼器 分類頭&#xff08;Classification Head&#xff09; 自注意力機制 注意力圖 三、Coovally AI模型訓練與應用平臺 四、ViT與圖像…

深入淺出:探索 DeepSeek 的強大功能與應用

深入淺出&#xff1a;探索 DeepSeek 的強大功能與應用 在人工智能技術飛速發展的今天&#xff0c;自然語言處理&#xff08;NLP&#xff09;作為其重要分支&#xff0c;正逐漸滲透到我們生活的方方面面。DeepSeek 作為一款功能強大的 NLP 工具&#xff0c;憑借其易用性和高效性…

為AI聊天工具添加一個知識系統 之97 詳細設計之38 Token 之3 前端開發

本文要點 要點 本項目&#xff08;為使用各種聊天工具的聊天者 加掛一個知識系統&#xff09;前端 的用戶界面上 主要 有 知識圖譜、認知地圖和語義網絡&#xff0c;和 聊天工具的chat嵌入 同時還必須有知識樹 成熟的果實&#xff08;對外的網頁 ) 以及 組建和參與利益相關組…