我在试图建立一个与背景相关的强盗。由于我喜欢对操作进行排序,所以我想切换到有条件的上下文强盗(正如我已经阅读过这里)。
但是现在我很难理解新的大众模式。
元音wabbit wiki的示例如下:
ccb shared | s_1 s_2
ccb action | a:1 b:1 c:1
ccb action | a:0.5 b:2 c:1
ccb action | a:0.5
ccb action | c:1
ccb slot | d:4
ccb slot 1:0.8:0.8,0:0.2 0,1,3 | d:7不幸的是,我不理解插槽部分。我知道这说明了选择行动的成本和可能性。ccb slot 1:0.8:0.8,0:0.2 0,1,3有可能有多个选择的动作吗?
我也不明白为什么它需要功能的插槽部分?此外,我不完全理解为什么我们必须告诉它的动作it包括?它的目的是什么?另外,预测需要哪种格式?如果我还没有任何行动成本,为什么它需要插槽部分呢?
编辑:我研究了azure博士,因为Vowpal Wabbit是由MS开发的。我想我找到了有用的信息。一旦我找到答案,我就会把它们发到这里。
发布于 2021-12-06 17:11:06
您可能有兴趣查看大众的wiki页面,其中包含一些建行的信息:
您可以将CCB看作CB之上的一个层,它运行一个单独的CB示例,其中包含每个时隙的所有操作,但是操作被排除在外,因为一个插槽选择它。上面的示例可能使用的功能比您的目的所必需的更多。如果您只想对操作进行排序,这将是一种更好的格式:
建行共享s_1 s_2
商业罪案调查科行动a:1 b:1 c:1
商业罪案调查科的行动a:0.5 b:2 c:1
商业罪案调查科行动a:0.5
商业罪案调查科行动c:1
建行插槽1:0.8:0.8
建行槽0:0.8:0.8
建行插槽3:0.8:0.8
建行插槽2:0.8:0.8
此示例可用于学习和预测,但是,如果您只想做预测,则可以使用以下未标记的槽:
建行共享s_1 s_2
商业罪案调查科行动a:1 b:1 c:1
商业罪案调查科的行动a:0.5 b:2 c:1
商业罪案调查科行动a:0.5
商业罪案调查科行动c:1
建行槽
建行槽
建行槽
建行槽
我将分别回答你们的每一个问题:
我也不明白为什么它需要功能的插槽部分?
插槽不需要功能。如果您希望每个插槽以不同的方式学习,则允许它们使用特性,但这不是必需的。如果您正在尝试排序操作,您可能不需要特定于时隙的功能。
此外,我不完全理解为什么我们必须告诉它的动作it包括?
你不需要这么做。默认情况下,所有尚未被选中的操作都将包括在每个时隙中。例如,如果有操作0、1、2、3和槽0选择操作1,那么插槽1将有操作1、2、3可用。从这个意义上说,每个后续操作都不包括从先前时隙中选择的操作,因此每个时隙选择的操作将按顺序排列操作。
它的目的是什么?
如果您想要一个更复杂的具有专用槽的系统,您可能希望显式地将某些操作从插槽中排除出来,但是对于简单的排序操作,您将不希望这样做。
另外,预测需要哪种格式?
可以对任何CCB示例(标记或未标记)进行预测。您不需要对该示例做任何特殊的操作,只需指定-p pred_file.txt标志就可以将预测输出到该文件。
如果我还没有任何行动成本,为什么它需要插槽部分呢?
如果您没有成本(所以您只是在做预测),那么插槽的数量将表示您想要做的预测的数量。如果您只想找到最上面的n个动作,可以只使用n个插槽。如果你还有其他问题,请告诉我。
https://stackoverflow.com/questions/70227150
复制相似问题