自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 多智能体强化学习入门(七)——AC for CDec-POMDP 大规模规划学习算法

Thien, Nguyen & Kumar, Akshat & Lau, Hoong. (2017). Policy Gradient With Value Function Approximation For Collective Multiagent Planning. 内容详...

2019-05-22 10:46:38 578 0

原创 多智能体强化学习入门(六)——MFMARL算法(Mean Field Multi-Agent RL)

本节内容见https://zhuanlan.zhihu.com/p/56049023

2019-01-30 20:46:32 2425 0

原创 多智能体强化学习入门(五)——QMIX算法分析

本文内容见 https://zhuanlan.zhihu.com/p/55003734

2019-01-16 15:37:48 1844 0

原创 【强化学习】DRQN详解分析

本节内容见https://zhuanlan.zhihu.com/p/54898904

2019-01-15 11:47:53 1804 0

原创 多智能体强化学习入门(三)——矩阵博弈中的分布式学习算法

本节内容在https://zhuanlan.zhihu.com/p/53622102

2019-01-02 21:45:13 668 0

原创 多智能体强化学习入门(四)——MADDPG算法

本节内容在https://zhuanlan.zhihu.com/p/53811876。

2019-01-02 09:50:50 6055 0

原创 多智能体强化学习入门(二)——基础算法(MiniMax-Q,NashQ,FFQ,WoLF-PHC)

本节内容在https://zhuanlan.zhihu.com/p/53563792。

2018-12-29 09:44:56 3298 0

原创 多智能体强化学习入门(一)——基础知识与博弈

本次开一个专栏,用来分享关于多智能体强化学习方面的入门内容。强化学习在单体稳定环境中取得了非常好的效果,DeepMind,OpenAI目前都在把眼光投向了多智能体强化学习,尤其是分布式的算法。 本节内容分享在https://zhuanlan.zhihu.com/p/53474965。 ...

2018-12-29 09:44:12 7828 0

原创 【强化学习】确定性策略强化学习-DPG&DDPG算法推导及分析

一、DGP推导 本篇介绍确定性策略梯度算法,该算法主要用于off-policy(on-policy也能用)。在DQN等值函数估计算法中,最终策略的形式是需要对动作状态值函数取极大a=argmaxa′Q(s,a′)a={\rm argmax}_{a'...

2018-12-07 17:32:50 5719 0

原创 【强化学习】中Q-learning,DQN等off-policy算法不需要重要性采样的原因

由于Q-learning采用的是off-policy,如下图所示 但是为什么不需要重要性采样。其实从上图算法中可以看到,动作状态值函数是采用1-step更新的,每一步更新的动作状态值函数的R都是执行本次A得到的,而我们更新的动作状态值函数就是本次执行的动作A的Q(S,A)Q(S,A)Q(S,A)...

2018-12-07 17:21:57 1896 0

原创 【强化学习】值函数强化学习-DQN、DDQN和Dueling DQN算法公式推导分析

一、值函数估计方法引入 在值函数估计方法中,我们希望拟合一个价值模型用来估计每个状态动作对的累积回报。其代价函数可以写为 L=12∑a∑s(Q(s,a)−Q(s,a;θ))2 L=\frac{1}{2}\sum_{a}\sum_{s}(Q(s,a)-Q(s,a;\theta))^2 L=21​a∑...

2018-12-05 10:41:35 4700 0

原创 【强化学习】随机策略梯度算法(stochastic-policy-gradient)

策略搜索方法相对于值函数法有如下优缺点 优点: 直接策略搜索方法是对策略π\piπ进行参数化表示,与值函数方中对值函数进行参数化表示相比,策略参数化更简单,有更好的收敛性。 利用值函数方法求解最优策略时,策略改进需要求解argmaxaQθ(s,a)argmax_a Q_\theta(s,a)ar...

2018-12-04 17:40:43 3558 2

原创 共轭梯度法详细推导分析

共轭梯度法是一种经典的优化算法。算法求解速度较快,虽然比梯度下降法复杂,但是比二阶方法简单。 一、引入 1. 优化模型建立 假定待优化的问题如下所示: min⁡xf(x)=12xTAx−bTx \min_{x} f(x)=\frac{1}{2}x^TAx - b^Tx xmin​f(x)=21​x...

2018-11-29 21:10:57 18778 13

原创 XGBoost论文原理公式推导

目标函数 Obj(Θ)=L(Θ)+Ω(Θ) Obj(\Theta) = L(\Theta) + \Omega(\Theta) Obj(Θ)=L(Θ)+Ω(Θ) 其中L(Θ)L(\Theta)L(Θ)为损失(误差)函数,Ω(Θ)\Omega(\Theta)Ω(Θ)为正则化项。 模型 Obj(Θ)=∑...

2018-11-09 11:18:02 115 0

原创 算法面试中的逻辑题

1. 射影定理 在直角三角形中,斜边上的高是两条直角边在斜边射影的比例中项,每一条直角边又是这条直角边在斜边上的射影和斜边的比例中项。 BD2=AD∗DCAB2=AD∗ACBC2=CD∗AC BD^2=AD*DC\\ AB^2=AD*AC\\ BC^2=CD*AC BD2=AD∗DCAB2=AD...

2018-11-09 11:11:24 152 0

原创 算法题4

1. 课程表 II 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序...

2018-11-09 11:02:52 90 0

原创 算法题3

1. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 分析:自下而上动态规...

2018-11-09 11:01:35 123 0

原创 算法题2

1. 变态跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析: f(n)=f(1)+f(2)+...+f(n−1)+1 f(n)=f(1)+f(2)+...+f(n-1)+1 f(n)=f(1)+f(2)+...+f(n−1...

2018-11-09 11:00:20 103 0

原创 队列与栈面试题C++

概念 1.图的深度优先遍历(DFS) 可以用栈实现,从根结点开始沿左孩子到最深的节点压入栈中,然后依次弹出,若栈顶节点还有没有访问的孩子,则没访问过得孩子入栈直到最深的节点,然后再弹出。元素入栈顺序则为深度优先遍历顺序。 2.图的宽度优先遍历(BFS) 可以用队列实现,将根结点放入队列,每...

2018-11-09 10:57:30 194 0

原创 二分搜索面试题C++

二分搜索的常见考察点 对于边界条件的考察以及代码实现的能力,如果边界条件处理不当,可能会出现死循环或者漏掉某个数的情况。仔细设计中间划分点的逻辑判断以及循环的终止条件,防止出现循环永远不能终止的情况。 在有序循环数组中进行二分搜索 循环数组是指,1,2,3,4,5的任意前部分放到数组后,例如...

2018-11-09 10:57:13 152 0

原创 链表面试题C++

注意头结点的处理,如果倒叙记得将新的尾节点指向空。 示例一 给定一个整数num,如何在节点值有序的链表中插入一个节点值为num的节点,并且保证这个单链表依然有序。 #include<iostream> #in...

2018-11-09 10:57:11 417 0

原创 字符串面试题C++

重要概念 1.回文 2.子串(连续) 3.子序列(不连续) 4.前缀:指除了最后一个字符以外,一个字符串的全部头部组合。 5.后缀:指除了第一个字符以外,一个字符串的全部尾部组合。 - - - - - 例:”ABCDAB”的前缀为[A, AB, ABC, ABCD, ABCDA],后缀...

2018-11-09 10:57:09 994 0

原创 卡特兰数公式

公式一 Cn2n−Cn+12n=Cn2nn+1C2nn−C2nn+1=C2nnn+1 C_{2n}^n - C_{2n}^{n+1} = \frac{C_{2n}^n }{n+1} 题目一 假设有n对左右括号,请求出合法的排列有多少个?合法是指每一个括号都可以找到与之配对的括号,比如n...

2018-11-09 10:56:53 73 0

原创 哈希函数、Map-Reduce与Hadoop

哈希函数 哈希函数又叫散列函数,哈希函数的输入域可以是非常大的范围,比如任意字符串,但是输出域是固定范围,假设为s。 哈希函数的性质: 1. 典型的哈希函数都拥有无限的输入值域。 2. 输入值相同时,返回值相同,通常将返回值称为哈希值。 3. 输入值不同时,返回值可能相同,也可能不同。 ...

2018-11-09 10:56:46 273 0

原创 动态规划C++

引入题目 给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求还钱有多少种方法。 分析:可以使用,暴力搜索方法、记忆搜索方法、动态规划方法、状态继续简化后的动态规划方法。 暴力搜索方法 arr ...

2018-11-09 10:56:46 584 0

原创 位运算基础与面试题C++

共有如下几种位运算 运算符 功能 用法 ~ 位取反 ~expr << 左移 expr1< &...

2018-11-09 10:56:00 124 0

原创 算法题

1.栈的压入与弹出。 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这...

2018-11-09 10:55:38 71 0

原创 各种排序算法详解C++实现

1.冒泡排序 时间复杂度O(n2)O(n2)O(n^2),空间复杂度O(1)O(1)O(1)。 a.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 b.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 c.针对所有的元素重复以上的步...

2018-10-24 20:07:32 958 0

原创 强化学习相关问题

一次看到苏克在知乎写的强化学习问题,自己顺便学习了一下,可能总结有不对的地方,希望朋友们指出。 1. 强化学习与监督学习的区别 强化学习就是通过不断与环境交互,利用环境给出的奖惩来不断的改进策略(即在什么状态下采取什么动作),以求获得最大的累积奖惩。 主要区别: 监督学习的训练样本是有标签的,强...

2018-10-23 21:32:37 444 0

原创 【强化学习】随机策略梯度强化学习-TRPO置信域策略优化推导分析《Trust Region Policy Optimization》

本文参照此文做了学习整理。 根据策略梯度方法,很难选择步长使参数更新向着策略变好的方向变化,如果步长不合适,可能导致越学越差致使系统崩溃。 如何选择一个合适的步长,或者说,如何找到新的策略使新的回报函数的值单调递增,或单调不减。这是TRPO解决的问题。 强化学习的回报函数定义为: η(π~)=Eπ...

2018-10-14 09:46:58 1129 0

原创 【强化学习】GAIL生成对抗模仿学习详解《Generative adversarial imitation learning》

通过深度强化学习,我们能够让机器人针对一个任务实现从0到1的学习,但是需要我们定义出reward函数,在很多复杂任务,例如无人驾驶中,很难根据状态特征来建立一个科学合理的reward。 人类学习新东西有一个重要的方法就是模仿学习,通过观察别人的动作来模仿学习,不需要知道任务的reward函数。模...

2018-09-27 10:26:43 10113 4

原创 Hoeffding's inequality霍夫丁不等式

引入 假定投硬币,投出正面的概率为ppp,反面的概率为1−p1−p1-p。则投出nnn次,正面出现的期望次数为npnpnp。硬币正面最多出现kkk次的概率可以通过下式确定 P(H(n)≤k)=∑i=0k(ni)pi(1−p)n−iP(H(n)≤k)=∑i=0k(ni)pi(1−p)n−i P...

2018-05-24 16:06:34 4116 1

原创 正态分布与均匀分布之间的变换

一、任何分布都能化为[0,1][0,1][0,1]均匀分布   假设FX(a)=p(x≤a)FX(a)=p(x≤a)F_X(a)=p(x\le a)为累积分布函数,f(x)f(x)f(x)为概率密度函数,FX(a)=∫a−∞f(x)dxFX(a)=∫−∞af(x)dxF_X(a)=\int_{-...

2018-05-20 10:29:20 12618 1

原创 多维高斯分布与协方差矩阵的关系以及高斯椭圆

一维高斯分布概率密度函数 f(x;μ,σ)=1σ2π−−√exp(−(x−μ)22σ2)f(x;μ,σ)=1σ2πexp⁡(−(x−μ)22σ2) f(x;\mu,\sigma) = \frac{1}{\sigma \sqrt{2\pi}} \exp(-\frac{(x-\mu)^2}{2\si...

2018-05-17 16:34:32 14018 1

转载 拟牛顿法Jacobian矩阵和Hessian矩阵

转载自:Jacobian矩阵和Hessian矩阵

2018-05-17 14:52:26 465 0

转载 稀疏表示与字典更新KSVD算法

1. 算法简介 K-SVD可以看做K-means的一种泛化形式,K-means算法总每个信号量只能用一个原子来近似表示,而K-SVD中每个信号是用多个原子的线性组合来表示的。 K-SVD通过构建字典来对数据进行稀疏表示...

2018-05-11 10:14:59 5562 3

转载 缓存淘汰算法-LRU算法

转载自:缓存淘汰算法-LRU算法   1. LRU1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“...

2018-04-27 09:32:17 251 0

原创 关于内存分配的几个错误C++

错误一 HEAP CORRUPTION DETECTED: after Normal block (#150) at 0x0046B2A0. CRT detected that the application wrote to memory after end of heap buffer. ...

2018-03-28 08:43:40 364 0

转载 C++类中静态变量和静态方法使用介绍

转载自:https://www.cnblogs.com/ppgeneve/p/5091794.html 静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这一章里,我们主要讲述类的静态成员来实现数据的共享。  静态...

2018-03-16 16:54:46 538 1

原创 C++数组作为形参传递给函数

以下三种形式等价void function(const int *arg); void function(const int arg[]); void function(const int arg[10]);//这里维度表示期望有10个,并不代表真实为10个以上三个函数等价于将数组的头指针cons...

2018-03-15 20:33:26 999 0

提示
确定要删除当前文章?
取消 删除