Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 播放或访问时Monte Carlo树搜索的置信上限为0_Algorithm_Search_Tree - Fatal编程技术网

Algorithm 播放或访问时Monte Carlo树搜索的置信上限为0

Algorithm 播放或访问时Monte Carlo树搜索的置信上限为0,algorithm,search,tree,Algorithm,Search,Tree,我正在研究“蒙特卡罗树搜索”算法的“置信上限” C is a weight for exploration over exploitation. score = wins / played sum = wins + played UCB = score + C * sqrt(naturalLog(parent's sum) / sum) 播放时间为0时发生问题。我正在考虑这些可能性 score = 0 Because the node has never won, although it's

我正在研究“蒙特卡罗树搜索”算法的“置信上限”

C is a weight for exploration over exploitation.
score = wins / played
sum = wins + played
UCB = score + C * sqrt(naturalLog(parent's sum) / sum)
播放时间为0时发生问题。我正在考虑这些可能性

score = 0
Because the node has never won, although it's never lost either.

score = 0.5
Because the node's value is completly uncertain and 0.5 is half way.

有人有答案吗?

都是关于熵的。没有观测(N=0),方差是未定义的(待定),置信限是无限的。你不能凭空得到信息


您可以使用prior进行更正,或者添加一个小的更正,以避免被零除或取零的对数。或者做少量的探测。通常只有当节点的N达到某个极限(10…100)时,节点才会扩展

每个bandit算法(包括MCT)的第一步是拉动每只手臂一次。由于如果在每个节点上执行此操作,显然会导致穷举搜索,因此您只使用固定深度的MCT,而对其余节点使用滚出策略。当然,你可以使用先验知识,但这样你就失去了UCB算法的所有优秀理论属性,主要是对数遗憾。

在“Ui=vi+c*sqrt((ln N)/ni)”中,你的公式中缺少一个对数(和一个常数),“ln N”部分表示N的对数?是的。它基本上是熵的度量。sqrt(ln(…))可以看作是(标准)偏差的估计值。c是您打算用作安全界限/treshold.ty的stddev(“置信度”)的数量,我已使用此更正更新了上述公式。主要问题仍然存在。有一篇论文声称,对于非常小的样本,贝塔分布更适合(提供更好的置信区间),但我找不到它。它是大约3年前出版的。顺便说一句,他们通常使用自然对数(尽管c可以捕捉松弛),这并不十分正确。这个想法是,如果有未拔出的手臂,请拉动它,否则使用UCB。在1次播放过程中,不会拉动单个节点的多个手臂。