当前位置: 首页 > news >正文

上海营销型网站代理建站网站教程

上海营销型网站代理,建站网站教程,自己可以建个免费网站吗,wordpress luomi主题强化学习是一种机器学习方法#xff0c;旨在通过与环境的交互来学习最优策略。它的核心概念是智能体#xff08;agent#xff09;在环境中采取动作#xff0c;从而获得奖励或惩罚。智能体的目标是最大化长期奖励#xff0c;通过试错的方式不断改进其决策策略。 在强化学习…强化学习是一种机器学习方法旨在通过与环境的交互来学习最优策略。它的核心概念是智能体agent在环境中采取动作从而获得奖励或惩罚。智能体的目标是最大化长期奖励通过试错的方式不断改进其决策策略。 在强化学习中智能体观察当前状态选择动作并根据环境反馈奖励和下一个状态调整其策略。常见的强化学习算法包括Q-learning、策略梯度方法和深度强化学习等。强化学习广泛应用于游戏、机器人控制、推荐系统等领域。 奖励Reward r t R ( s t , a t ) r_t R(s_t, a_t) rt​R(st​,at​) 其中 r t r_t rt​ 是在时间步 t t t 时智能体在状态 s t s_t st​ 下采取动作 a t a_t at​ 所获得的奖励。 状态价值函数State Value Function V ( s ) E [ ∑ t 0 ∞ γ t r t ∣ s 0 s ] V(s) \mathbb{E} \left[ \sum_{t0}^{\infty} \gamma^t r_t \mid s_0 s \right] V(s)E[t0∑∞​γtrt​∣s0​s] 其中 V ( s ) V(s) V(s) 是状态 s s s 的价值 γ \gamma γ 是折扣因子 ( 0 ≤ γ 1 ( 0 \leq \gamma 1 (0≤γ1表示未来奖励的重要性。 动作价值函数Action Value Function Q ( s , a ) E [ ∑ t 0 ∞ γ t r t ∣ s 0 s , a 0 a ] Q(s, a) \mathbb{E} \left[ \sum_{t0}^{\infty} \gamma^t r_t \mid s_0 s, a_0 a \right] Q(s,a)E[t0∑∞​γtrt​∣s0​s,a0​a] 其中 Q ( s , a ) Q(s, a) Q(s,a) 是在状态 s s s 下采取动作 a a a 的价值。 贝尔曼方程Bellman Equation 状态价值函数的贝尔曼方程 V ( s ) ∑ a π ( a ∣ s ) ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r γ V ( s ′ ) ] V(s) \sum_{a} \pi(a \mid s) \sum_{s, r} P(s, r \mid s, a) \left[ r \gamma V(s) \right] V(s)a∑​π(a∣s)s′,r∑​P(s′,r∣s,a)[rγV(s′)]动作价值函数的贝尔曼方程 Q ( s , a ) ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r γ max ⁡ a ′ Q ( s ′ , a ′ ) ] Q(s, a) \sum_{s, r} P(s, r \mid s, a) \left[ r \gamma \max_{a} Q(s, a) \right] Q(s,a)s′,r∑​P(s′,r∣s,a)[rγa′max​Q(s′,a′)] 策略Policy π ( a ∣ s ) P ( a ∣ s ) \pi(a \mid s) P(a \mid s) π(a∣s)P(a∣s) 其中 π ( a ∣ s ) \pi(a \mid s) π(a∣s) 是在状态 s s s 下选择动作 a a a 的概率。 目标函数 策略梯度目标函数 J ( θ ) E τ ∼ π θ [ ∑ t 0 T r t ] J(\theta) \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t0}^{T} r_t \right] J(θ)Eτ∼πθ​​[t0∑T​rt​] 说明 J ( θ ) J(\theta) J(θ) 是关于策略参数 θ \theta θ 的目标函数表示在策略 π θ \pi_\theta πθ​ 下执行轨迹 τ \tau τ 的预期总奖励。目标是最大化该期望值通常通过梯度上升方法进行优化。 损失函数 策略损失函数使用REINFORCE算法 L ( θ ) − E τ ∼ π θ [ ∑ t 0 T r t log ⁡ π θ ( a t ∣ s t ) ] L(\theta) -\mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t0}^{T} r_t \log \pi_\theta(a_t \mid s_t) \right] L(θ)−Eτ∼πθ​​[t0∑T​rt​logπθ​(at​∣st​)] 说明这个损失函数的目的是最小化负的期望总奖励。通过优化该损失函数可以最大化目标函数 J ( θ ) J(\theta) J(θ)。这里的 log ⁡ π θ ( a t ∣ s t ) \log \pi_\theta(a_t \mid s_t) logπθ​(at​∣st​) 是对策略的对数概率表示在状态 s t s_t st​ 下采取动作 a t a_t at​ 的可能性。 价值函数损失对于Q-learning L ( θ ) E [ ( r t γ max ⁡ a ′ Q ( s ′ , a ′ ; θ ) − Q ( s , a ; θ ) ) 2 ] L(\theta) \mathbb{E} \left[ \left( r_t \gamma \max_{a} Q(s, a; \theta) - Q(s, a; \theta) \right)^2 \right] L(θ)E[(rt​γa′max​Q(s′,a′;θ)−Q(s,a;θ))2] 说明该损失函数用于最小化当前动作价值函数 Q ( s , a ; θ ) Q(s, a; \theta) Q(s,a;θ) 和目标价值 r t γ max ⁡ a ′ Q ( s ′ , a ′ ; θ ) r_t \gamma \max_{a} Q(s, a; \theta) rt​γmaxa′​Q(s′,a′;θ) 之间的均方误差。通过最小化该损失更新网络参数 θ \theta θ 以更准确地预测价值。 细节总结 目标函数用于衡量当前策略的性能指导优化过程。强化学习的目标是通过更新策略来最大化期望奖励。损失函数是优化过程中实际最小化的函数直接反映模型的学习效果。损失函数的设计直接影响学习的效率和效果。 这些公式是强化学习中策略优化和价值评估的核心理解它们有助于深入掌握强化学习的理论基础和应用。 代码 import torch import torch.nn as nn import torch.optim as optim import numpy as np# 环境假设 class SimpleEnv:def reset(self):return np.random.rand(4) # 随机状态def step(self, action):next_state np.random.rand(4)reward np.random.rand() # 随机奖励done np.random.rand() 0.9 # 随机结束return next_state, reward, done# 策略网络 class PolicyNetwork(nn.Module):def __init__(self):super(PolicyNetwork, self).__init__()self.fc nn.Sequential(nn.Linear(4, 128),nn.ReLU(),nn.Linear(128, 2), # 假设有两个动作)def forward(self, x):return torch.softmax(self.fc(x), dim-1)# 计算折扣奖励 def compute_discounted_rewards(rewards, discount_factor0.99):discounted_rewards []cumulative_reward 0for r in reversed(rewards):cumulative_reward r cumulative_reward * discount_factordiscounted_rewards.insert(0, cumulative_reward)return discounted_rewards# 训练函数 def train(env, policy_net, optimizer, episodes1000):for episode in range(episodes):state env.reset()rewards []log_probs []while True:state_tensor torch.FloatTensor(state)probs policy_net(state_tensor)action np.random.choice(len(probs), pprobs.detach().numpy())log_prob torch.log(probs[action])next_state, reward, done env.step(action)log_probs.append(log_prob)rewards.append(reward)state next_stateif done:break# 计算折扣奖励discounted_rewards compute_discounted_rewards(rewards)# 更新策略optimizer.zero_grad()loss -sum(log_prob * reward for log_prob, reward in zip(log_probs, discounted_rewards))loss.backward()optimizer.step()# 输出每个回合的总奖励total_reward sum(rewards)print(fEpisode {episode 1}, Total Reward: {total_reward:.2f})# 测试函数 def test(env, policy_net, episodes10):for episode in range(episodes):state env.reset()total_reward 0while True:state_tensor torch.FloatTensor(state)with torch.no_grad():probs policy_net(state_tensor)action torch.argmax(probs).item()next_state, reward, done env.step(action)total_reward rewardstate next_stateif done:breakprint(fTest Episode {episode 1}, Total Reward: {total_reward:.2f})# 主程序 env SimpleEnv() policy_net PolicyNetwork() optimizer optim.Adam(policy_net.parameters(), lr0.01)train(env, policy_net, optimizer) test(env, policy_net) 训练奖励图显示每个训练回合的总奖励变化帮助评估模型在训练过程中的学习效果。 测试奖励图展示在测试回合中模型的总奖励反映训练后的表现。 代码结构 环境Environment SimpleEnv 类模拟一个简单的环境包含 reset 和 step 方法。 reset()初始化并返回一个随机状态。step(action)根据所采取的动作返回下一个状态、奖励和是否结束标志。奖励和结束状态是随机生成的模拟了一个非常简化的环境。 策略网络Policy Network PolicyNetwork 类定义一个神经网络用于近似策略。 使用全连接层输入状态维度为 4环境状态的维度输出动作概率的维度为 2假设有两个可能的动作。forward 方法通过 softmax 函数输出每个动作的概率。 折扣奖励计算 compute_discounted_rewards(rewards, discount_factor0.99)计算每个时间步的折扣奖励。 从后往前遍历奖励列表使用折扣因子更新累计奖励生成折扣奖励列表。 训练函数Training Function train(env, policy_net, optimizer, episodes1000)进行训练的主函数。 循环执行指定的回合数 重置环境初始化奖励和日志概率列表。在回合中循环使用当前状态选择动作并记录日志概率和奖励。计算并更新策略网络的损失使用反向传播更新参数。每个回合结束后打印总奖励帮助监控训练进度。 测试函数Testing Function test(env, policy_net, episodes10)用于评估训练后模型表现的函数。 重置环境并执行多个测试回合选择最大概率的动作。累计并打印每个测试回合的总奖励评估训练的效果。 主程序 创建环境和策略网络实例定义优化器Adam。调用训练函数进行训练然后调用测试函数进行评估。 整体逻辑 环境设置定义了一个非常简单的环境主要用于演示如何应用策略梯度方法。实际应用中可以替换为更复杂的环境比如OpenAI的Gym库中的环境。 策略学习使用神经网络近似策略通过与环境的交互收集状态、动作、奖励并更新网络参数以优化策略。 输出和评估通过在训练过程中的总奖励输出和测试过程中的评估可以观察到模型的学习进展。 小结 这段代码是一个简单的强化学习示例展示了如何使用策略梯度方法和PyTorch进行训练和测试。虽然环境和任务是简化的但它提供了一个良好的基础便于理解强化学习的核心概念和实现。
http://www.dnsts.com.cn/news/141030.html

相关文章:

  • 广西送变电建设公司网站无锡百度网站推广渠道
  • 成都做网站设计哪家便宜软件开发公司企业简介
  • 建设网站需要先构建好模型wordpress功能小工具增加按钮
  • php个人网站模板下载wordpress怎么设置404页面
  • 做网站推广工作赚钱吗网站设计建设服务
  • 花生壳网站建设wordpress shopkeeper
  • 天津百度做网站多少钱互动易平台
  • 曲靖做网站公司长春网站如何制作
  • 建网站哪个好目前主流的网站开发语言
  • 电子商城网站制作公司网站建设需要哪些岗位
  • 网站开发法律重庆建网站有哪些
  • 便宜网站建设多少钱天津住房城乡建设网站
  • 微信免费做邀请函模版网站怎么修改网站内容
  • 忒低网站长怎么做网站建设怎么外包好
  • 网站建设教学视频教程网页策划书 网站建设定位
  • 网站建设资金管理办法鹰潭房产网站建设
  • html5营销网站建设清河做网站报价
  • 四平做网站佳业首页网站备案网站要有内容吗
  • 网站做流量58同城网招聘找工作官网
  • 双牌网站建设在线设计平台leopoly
  • 销售网站html源码wordpress添加文章分类二级
  • 珠海自适应网站建设重庆是哪个省的城市
  • wordpress rateseo单页面优化
  • 网站建设大作业有做网站网站的么
  • 南通网站建设一条龙外贸商城源码
  • 中国煤炭建设协网站设计建设网站公司
  • 望京网站开发域名注册服务商网站
  • 建设银行网站打印账单上海平台网站建设企业
  • 自己做的网站怎么取sql数据自闭症网站的建设意义
  • 网站建设投标书范本用静态网站更新