《智能计算》期末习题集
基础概念强化练习
选择题专项训练
第一组:MDP基础
1. 在马尔可夫决策过程中,状态转移概率\(P(s'|s,a)\)表示: A) 在状态s采取动作a后,一定会转移到状态s’ B) 在状态s采取动作a后,转移到状态s’的概率 C) 从状态s’回到状态s的概率 D) 状态s和s’之间的相似度
2. 折扣因子γ=0表示智能体: A) 永远不学习 B) 只关注即时奖励 C) 只关注长期奖励 D) 学习速度很慢
3. 策略π(a|s)=0.8表示: A) 在状态s下选择动作a的概率是80% B) 动作a的成功率是80% C) 状态s出现的概率是80% D) 奖励的期望值是0.8
第二组:值函数与Bellman方程
4. 状态值函数V^π(s)定义为: A) 状态s下可能获得的最大奖励 B) 从状态s开始,遵循策略π的期望累积回报 C) 状态s的访问频率 D) 策略π在状态s的执行概率
5. Bellman最优方程与Bellman期望方程的主要区别是: A) 最优方程使用max操作,期望方程使用求和操作 B) 最优方程适用于确定性环境,期望方程适用于随机环境 C) 最优方程不需要折扣因子 D) 期望方程计算更复杂
6. 如果V(s) = 10,γ = 0.9,从状态s采取最优动作a后转移到状态s’,且R(s,a,s’) = 2,那么V(s’)应该满足: A) V(s’) = 8 B) V(s’) ≥ 8.89 C) V*(s’) ≤ 8.89 D) 无法确定
第三组:学习算法
7. 蒙特卡洛方法相比时序差分方法的主要劣势是: A) 估计有偏 B) 方差更高 C) 收敛速度慢 D) 需要环境模型
8. SARSA算法的名称来源于: A) 算法发明者的姓名 B) State-Action-Reward-State-Action的缩写 C) 一种特殊的神经网络结构 D) 算法的收敛性质
9. Q-Learning相比SARSA的优势在于: A) 收敛速度更快 B) 可以从离线数据学习 C) 需要的存储空间更小 D) 算法实现更简单
10. ε-贪婪策略中,ε=0.1意味着: A) 10%的时间选择随机动作 B) 10%的时间选择最优动作 C) 算法有10%的错误率 D) 学习率为0.1
- B - 状态转移概率定义
- B - γ=0时只考虑即时奖励
- A - 策略定义
第二组答案
- B - 状态值函数定义
- A - max vs 期望的区别
- B - 由Bellman最优方程:10 = 2 + 0.9×V(s’),所以V(s’) ≥ 8.89
第三组答案
- B - MC方法方差更高
- B - SARSA是State-Action-Reward-State-Action的缩写
- B - Q-Learning是离策略算法
- A - ε代表探索概率
判断题专项训练
1. 强化学习一定需要大量的训练数据才能工作。( )
2. 马尔可夫性质要求环境必须是确定性的。( )
3. 最优策略一定是确定性的。( )
4. TD学习的bootstrapping特性使其收敛速度通常比MC方法快。( )
5. Q-Learning保证能找到最优策略,而SARSA可能收敛到次优策略。( )
6. 在连续状态空间中,必须使用函数逼近方法。( )
7. DQN中的经验回放机制可以提高样本效率。( )
8. Actor-Critic方法结合了基于值和基于策略方法的优点。( )
9. 策略梯度方法天然支持随机策略。( )
10. 在商业应用中,奖励函数的设计比算法选择更重要。( )
- 错误 - 强化学习可以在线学习,不一定需要大量预先收集的数据
- 错误 - 马尔可夫性质只要求未来只依赖当前状态,环境可以是随机的
- 错误 - 在某些情况下随机策略可能是最优的
- 正确 - TD学习可以每步更新,通常收敛更快
- 正确 - Q-Learning学习最优Q函数,SARSA学习当前策略的Q函数
- 正确 - 连续状态空间无法用表格表示
- 正确 - 经验回放可以重复利用经验
- 正确 - Actor学习策略,Critic学习价值
- 正确 - 策略梯度直接优化策略分布
- 正确 - 奖励函数决定了学习目标,非常关键
算法理解深度练习
计算题练习
练习1:简单MDP值迭代
考虑一个简单的网格世界,有4个状态排成一行:[S1] - [S2] - [S3] - [G],其中G是终止状态。
- 动作空间:{左移, 右移}
- 在S1只能右移,在S3只能左移,在S2可以左移或右移
- 奖励:到达G获得+10,其他转移获得-1
- 折扣因子γ = 0.9
问题: 1. 写出每个状态的Bellman最优方程 2. 使用值迭代算法,计算前3次迭代的V值(初始V=0)
1. Bellman最优方程:
\(V^*(S1) = -1 + 0.9 \times V^*(S2)\)
\(V^*(S2) = \max\{-1 + 0.9 \times V^*(S1), -1 + 0.9 \times V^*(S3)\}\)
\(V^*(S3) = -1 + 0.9 \times V^*(S2)\)
\(V^*(G) = 0\)(终止状态)
等等,需要重新考虑转移关系。让我们假设: - S2右移到S3,左移到S1 - S3右移到G(获得+10奖励)
重新写方程:
\(V^*(S1) = -1 + 0.9 \times V^*(S2)\)
\(V^*(S2) = \max\{-1 + 0.9 \times V^*(S1), -1 + 0.9 \times V^*(S3)\}\)
\(V^*(S3) = 10 + 0.9 \times 0 = 10\)
2. 值迭代过程:
初始化: \(V_0(S1) = V_0(S2) = V_0(S3) = 0\)
第1次迭代: - \(V_1(S3) = 10\) - \(V_1(S2) = \max\{-1 + 0.9 \times 0, -1 + 0.9 \times 10\} = \max\{-1, 8\} = 8\) - \(V_1(S1) = -1 + 0.9 \times 8 = 6.2\)
第2次迭代: - \(V_2(S3) = 10\) - \(V_2(S2) = \max\{-1 + 0.9 \times 6.2, -1 + 0.9 \times 10\} = \max\{4.58, 8\} = 8\) - \(V_2(S1) = -1 + 0.9 \times 8 = 6.2\)
第3次迭代: - \(V_3(S3) = 10\) - \(V_3(S2) = 8\) - \(V_3(S1) = 6.2\)
收敛值:\(V^*(S3) = 10, V^*(S2) = 8, V^*(S1) = 6.2\)
练习2:Q-Learning更新
给定Q表的初始值:
状态 | 动作A | 动作B |
---|---|---|
S1 | 0 | 0 |
S2 | 0 | 0 |
学习参数:α = 0.1, γ = 0.9
经验序列:(S1, A, 2, S2) → (S2, B, 5, S1) → (S1, B, 1, S2)
问题: 逐步计算Q值更新过程
初始Q表:
Q(S1,A) = 0, Q(S1,B) = 0
Q(S2,A) = 0, Q(S2,B) = 0
第1步更新:(S1, A, 2, S2)
Q(S1,A) ← Q(S1,A) + α[2 + γ × max{Q(S2,A), Q(S2,B)} - Q(S1,A)]
Q(S1,A) ← 0 + 0.1 × [2 + 0.9 × max{0, 0} - 0]
Q(S1,A) ← 0.1 × 2 = 0.2
第2步更新:(S2, B, 5, S1)
Q(S2,B) ← Q(S2,B) + α[5 + γ × max{Q(S1,A), Q(S1,B)} - Q(S2,B)]
Q(S2,B) ← 0 + 0.1 × [5 + 0.9 × max{0.2, 0} - 0]
Q(S2,B) ← 0.1 × [5 + 0.18] = 0.518
第3步更新:(S1, B, 1, S2)
Q(S1,B) ← Q(S1,B) + α[1 + γ × max{Q(S2,A), Q(S2,B)} - Q(S1,B)]
Q(S1,B) ← 0 + 0.1 × [1 + 0.9 × max{0, 0.518} - 0]
Q(S1,B) ← 0.1 × [1 + 0.4662] = 0.1466
最终Q表:
Q(S1,A) = 0.2, Q(S1,B) = 0.1466
Q(S2,A) = 0, Q(S2,B) = 0.518
应用场景分析题
场景1:智能客服系统
某公司要开发智能客服聊天机器人,希望通过强化学习优化对话策略。
背景信息: - 客户问题类型:技术问题、账单问题、投诉建议 - 可用动作:转人工、提供FAQ链接、询问详细信息、直接解答 - 目标:最大化客户满意度,同时控制人工客服成本
分析题目:
状态设计:你认为应该包含哪些信息作为状态?为什么?
奖励函数设计:如何设计奖励函数来平衡客户满意度和成本控制?
探索策略:在这个场景中,探索可能带来什么风险?如何缓解?
伦理考量:部署这样的系统需要考虑哪些伦理问题?
1. 状态设计: - 客户问题类型(技术/账单/投诉) - 对话轮次(防止无限循环) - 客户情绪状态(生气/中性/满意) - 历史交互记录(是否为VIP客户等) - 当前对话上下文(已提供的信息)
2. 奖励函数设计:
奖励 = w1 × 客户满意度评分 - w2 × 人工客服成本 - w3 × 对话时长惩罚
- 客户满意度:通过后续评价或问题解决情况衡量
- 人工客服成本:转人工时产生固定成本
- 对话时长:避免无效的长对话
3. 探索策略风险: - 风险:错误的动作选择可能导致客户不满、流失 - 缓解措施: - 在模拟环境中充分训练 - 设置安全约束(如投诉客户必须转人工) - 渐进式部署(从简单问题开始) - 人工监督机制
4. 伦理考量: - 透明度:客户应知道在与机器人对话 - 公平性:不同客户群体应获得公平对待 - 隐私保护:对话数据的收集和使用需合规 - 人工兜底:确保客户始终有与人工交流的途径
场景2:动态库存管理
某电商平台希望使用强化学习优化库存管理策略。
背景信息: - 商品种类:电子产品(需求波动大、生命周期短) - 决策频率:每日决定各商品的补货数量 - 约束条件:仓储容量限制、供应商最小订货量 - 成本考虑:持有成本、缺货成本、订货成本
分析题目:
MDP建模:如何将这个问题建模为MDP?详细描述状态、动作、奖励。
多商品挑战:处理多种商品时面临什么挑战?有什么解决思路?
需求预测集成:如何将需求预测模型与强化学习结合?
实际部署考虑:从实验室到实际部署需要考虑哪些问题?
1. MDP建模:
状态空间: - 各商品当前库存水平 - 各商品近期销售趋势 - 季节性/促销等时间特征 - 供应商状态(交货周期、可用性)
动作空间: - 每种商品的补货数量(0到最大订货量) - 可以离散化为几个档位(不订货、少量、中量、大量)
奖励函数:
R = 销售利润 - 持有成本 - 缺货损失 - 订货成本
2. 多商品挑战: - 维度灾难:状态和动作空间随商品数量指数增长 - 商品关联:替代品、互补品之间的复杂关系 - 解决思路: - 分层决策(先决定总预算,再分配给各商品) - 商品聚类(相似商品共享策略) - 多智能体强化学习
3. 需求预测集成: - 方法1:预测结果作为状态的一部分 - 方法2:预测不确定性建模为环境的随机性 - 方法3:端到端学习,让RL直接从历史数据学习需求模式
4. 实际部署考虑: - 数据质量:确保训练数据的准确性和完整性 - 模型更新:需求模式变化时如何快速适应 - 风险控制:设置库存上下限等安全约束 - 业务整合:与现有ERP系统的集成 - 团队培训:操作人员对新系统的理解和接受
希望这份详细的复习指南和习题集能够帮助您更好地准备《智能计算》期末考试。这些材料涵盖了强化学习的核心概念、算法原理、商业应用和实践考虑,并提供了大量的练习题来巩固理解。
祝您考试顺利!