- 博客(14)
- 收藏
- 关注
原创 Dijkstra算法
1.前言迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。主要用于求解从一个源节点到其他所有节点的最短路径问题,解决的是有权图中最短路径问题。Dijkstra算法应用十分广泛。在网络路由上,路由协议(如OSPF和IS-IS)中,Dijkstra算法用于计算网络中的最短路径,从而确定数据包的转发路径。在无线传感器网络或移动自组织网络中,Dijkstra算法可以帮助寻找最低能耗路径或最可靠的通信路径。在地理信息系统(GIS)方面,导航系统:如Googl
2024-06-04 11:00:14
975
原创 (九)强化学习——带基线的策略梯度,REINFORCEMENT with baseline,Advantage Actor-Critic(A2C)
策略网络和之前是一样的,输入是状态s,输出是一个向量,每一个元素表示一个动作的概率。本节介绍的带基线的策略梯度(PolicyGradient with Baseline) 可以大幅提升策略梯度方法的表现。两个神经网络的结构与带基线的REINFORCE算法中的完全相同,但是训练更新网络参数的方式不同。把b作为动作价值函数Qπ(S,A)的基线,对策略梯度没有影响,至于为什么对梯度策略没有影响,这里就不证明了,参考北大王树森的课程。不论b的取值是0还是Vπ(s),得到的随机梯度gb(s,a;
2024-03-19 19:54:16
1485
原创 (八)强化学习——策略梯度,REINFORCEMENT算法,Actor-Critic
Qπ(st,a1)表示的就是在当前状态下执行动作a1的价值,就是幕1中st到终止状态的奖励的期望值。Vπ(st)就是Qπ(st,a1),Qπ(st,a2),Qπ(st,a3)这3个对于动作a的一个期望。一旦神经网络训练完成,我们只要输入一个状态,神经网络就能准确的输出在这个状态下各个动作的价值,我们就能选出Q值最大的那个动作执行,也就是完成了一次任务序列的一次最优决策。这个网络是不是很眼熟,和近似状态-动作Q函数的神经网络很像,只是输出不一样,这里的输出是每个动作对应的概率,而不是每个动作对应的Q值。
2024-03-13 15:28:49
1119
原创 (七)强化学习——DQN,DDQN,Dueling DQN,Rainbow DQN
从原始DQN的训练步骤,我们可以看出DQN是每一幕,每一幕的训练,从幕头到幕尾终止状态,而幕是智能体与环境的连续交互过程留下的状态,动作,奖励序列,这就导致了更新Q网络的连续两个状态的相关性很强,这对Q网络的训练是不利的,而且由于幕更新完后就直接丢弃了,会造成经验的浪费。rainbbow,中文意思就是彩虹,彩虹是多条颜色的,就像对于DQN改进的多个方面,经验回放的DDQN,优先经验的DDQN,,Dueling DDQN等等,什么样的组合才是最好的,这篇论文做了详细的消融实验,结果如下图所示。
2024-03-11 16:15:23
1319
原创 (六) 强化学习——Sarsa,Saras(λ),Q-Learning算法
对于每一个状态序列,在 S 状态时采取的行为 A 是基于当前行为策略的,也就是该行为是与环境进行交互实际使用的行为,也就是说Sarsa是同轨策略下的时序差分控制。对于sarsa算法和Q-learning算法,我们可以从他们的动作-状态价值函数的更新可以看出,sarsa算法在更新Q值的时候是考虑了未来下一个动作的Q值的,而Q-learning没有,而是考虑了当前状态下的最大Q值。中,用于评估或者改进的策略与生成采样数据的策略是不同的,即生成的数据“离开”了待优化的策略所决定的决策序列轨迹。
2024-02-26 17:20:35
1323
原创 (五)强化学习——蒙特卡罗强化学习(MC) and 时序差分强化学习(TD),n步时序差分预测(n步TD)
蒙特卡罗强化学习(MC) and 时序差分强化学习(TD)
2023-08-11 09:18:24
551
原创 (二)Alpha系列之AlphaGo Zero和AlphaZero
在棋类领域AlphaZero已经取得了超越人类的成绩,但这并不代表就已经是顶点了。而且AlphaZero只适用于基于规则的,完美信息博弈环境。或许它的下一版本MuZero能给我们想要的答案。
2023-08-09 17:52:38
1710
原创 (一)Alpha系列之AlphaGo(深度学习,强化学习,MCTS)
AlphaGo首次将神经网络深度学习,强化学习,和MCTS用于围棋,并且取得了很大的成就。尽管AlphaGo成绩优异,但是由于AlphaGo的强大依靠了大量的专家数据和强大的计算资源。在是否智能这上面AlphaGo还是备受争议。下一节介绍AlphaGo Zero,它的升级版, AlphaGo Zero没有借鉴人类的任何经验,就通过纯粹的强化学习,从0在很短的时间内就达到了很高的棋力水平,真的很让人期待!!!
2023-08-07 11:43:13
1841
原创 (四) 强化学习——动态规划(DP)
在开始之前,大家肯定会有个疑惑,什么是动态规划?动态规划和强化学习又有啥子关系。以前在学习动态规划的时候可没听说过强化学习,现在学习强化学习为什么要了解动态规划?首先我们知道动态规划是一类优化方法。那我们遇到什么类型问题的时候用动态规划算法?动态规划算法把求解复杂问题分解为求解子问题,通过求解子问题进而得到整个问题的解。在解决子问题的时候,其结果通常需要存储起来被用来解决后续复杂问题。
2023-07-20 22:33:36
840
原创 (三)强化学习——策略函数π and 价值函数、贝尔曼方程
也就是说,当智能体在与环境不断的交互过程中,Gt在不断的变大的过程中,其交互的这些状态的V值也是越来越大的。因为v’(v星,格式原因,‘代替*)是策略的价值函数,它必须满足前面提到的贝尔曼方程中状态和价值的一致性条件。但因为他是最优的价值函数,所以v’(v星)的一致性条件可以用一种特殊的形式表示,而不用拘泥于特定的策略。下面来看看价值函数的定义,我们把策略π下状态s的价值函数记为Vπ(s),即从状态s开始,智能体按照策略π进行决策所获得的回报的概率期望值。一种是期望的形式,一种是连加的形式(涉及到p)。
2023-07-06 19:42:37
2022
原创 (一)强化学习——发展历程
这个其实很好理解,就像我们训练家里的小狗一样。我们给小狗一个指令,小狗若是做出了符合我们预期的动作,我们就会给狗子一个奖励,若是不符合预期,就给一个惩罚,久而久之,狗子就能根据指令做出正确的动作。在强化学习中,DP的核心思想是使用价值函数来结构化地组织对最优策略的搜索。上面所提到的很多名词,动态规划,价值函数,时序差分法,贝尔曼方程,Q学习,等等这些名词。理解这些名词,了解这些名词的本质,有助于学习强化学习的相关算法。强化学习的历史发展有两条同样源远流长的主线,在交汇于现代强化学习之前他们是相互独立的。
2023-06-27 16:33:56
603
原创 java中Scanner类对象方法nextLine()和nextInt()的小问题
java中Scanner类对象方法nextLine()和nextInt()的小问题在做一次老师布置的作业中,我发现了这样的一个小问题,现在分享给你们。你们觉得上面的输入方式有没有问题,如果你觉得没有问题,那么恭喜你,和我入了一样的坑,运行,将会出现下图现象。可以看到,再输入第二个同学数据的时候,学号我没有输入,程序自己直接跳过,它应该是在某个地方读取了某个字符,导致我们没有输入直接进行下一个。当我们把nextLine()方法换成next()方法后,发现不会出现一点问题。我们都知道nextLine
2020-11-05 21:53:44
396
原创 Sql server2012的详细安装步骤与注意小点
Sql server2012是微软公司的一款产品,你可以去微软的官网去下载,现在最新的版本已经到了Sql server2019了,但是由于一些学习的需要,还有兼容和方便性,大多学校用的都是Sql server2012作为学习的软件。我的这个是企业版,你可以根据自己需要下载相应的版本,下载后解压,不出意外的话你会到如下目录。点击setup.exe,点击确认后,会弹出如下窗口,点击安装->第一个选项加载通过后,一般是8个通过,0个错误0个警告,那一步我没有截图,点击下一步这个秘...
2020-09-15 15:13:29
3760
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人