聚集这种强化学习方法?

时间:2015-03-31 20:08:09

标签: machine-learning reinforcement-learning

我正在尝试创建一个代理,根据给出最大奖励的状态选择一个动作。

为了简单起见,我会将其保留为两个动作和24个不同的状态。

状态是模仿一天中的小时,这两个动作是向用户显示的某些网页。

我仍在试图弄清楚如何给予奖励以及政策将如何取决于奖励。最合理的是:

在0和1之间将确定100%的概率。最有可能采取的行动是奖励最多的行动。

相同状态x的简单示例:

如果用户显示第1页(操作)并保留在其上(操作),那么第1页将获得奖励。

x =第1页为此状态的奖励金额= 1 y =第2页为此状态给出的奖励金额= 0

第1页+第2页= 1.0 偶然x =((x + y)/ x)= 1/1 = 1.0 偶然y =((x + y)/ y)= 1/0 = 0.0 第1页是该状态的正确动作的1.0次机会 0.0第2页是该状态的正确动作的可能性

如果在此状态下显示第1页,则由于奖励更高的风险,向用户显示第1页(操作)。但是,如果用户导航到第2页,那么第2页将获得奖励。

x =第1页为此状态的奖励金额= 1 y =第2页为此状态提供的奖励金额= 1

第1页+第2页= 1.0 偶然x =((x + y)/ x)= 2/1 = 0.5 机会y =((x + y)/ y)= 2/1 = 0.5 0.5页概率第1页是该状态的正确动作 第2页是该状态的正确动作的可能性为0.5

如果用户显示在第1页(操作)并停留在第1页,则第1页将获得其他奖励。

x =第1页= 2为此状态提供的奖励金额 y =第2页为此状态提供的奖励金额= 1

第1页+第2页= 1.0 偶然x = 1.0 /((x + y)* x)= 1.0 / 3 * 2 = 2/3 偶然y = 1.0 /((x + y)* x)= 1.0 / 3 * 1 = 1/3 2/3的可能性,第1页是该状态的正确操作 1/3的可能性,第2页是该状态的正确行动

当你看到它更新并学习时。

聚类

但是,只有在所有日子都相同的情况下,这才会起作用,我们知道它们并非如此。用户可以使用第1周第1页和下一周第2页以及该第1页之后的那一周等等。因此,还需要以某种方式找到一种模式。

我想要实现的目标

我有以下输入数据(状态):

{
    location: 'Möllevångstorget, 21424, Malmö',
    weekday: 'monday',
    time: '07:31'
}

可替换地:

{
    lat: 55.591538,
    lon: 13.007153,
    timestamp: '2015-03-03 07:31'
}

或者:

{
    lat: 55.591538,
    lon: 13.007153,
    timestamp: 1427864271 // unix epoch time
}

如您所见,您可以操纵输入。虽然包括位置和何时发生这一点很重要。

如前所述,寻找模式是我最担心的。我希望预测用户何时使用该应用程序(显示该页面),该状态是在用户使用该应用程序时创建的。

我可以看到的另一个问题是,让我们说用户在一周07:30使用该应用程序,然后在下一个使用它07:35而第三周使用它来自相同的位置,算法应该能够确定用户(环境)将选择一个特定的页面(动作)。

基本上预测用户将选择的操作。

1 个答案:

答案 0 :(得分:1)

我认为你不应该使用群集。您只需要实现良好的函数逼近。如果你有地理位置,只需将其反编码到国家。然后使用country&城市作为国家的输入,例如:您的功能可能最终成为: is_america is_africa is_middle_east is_new_york is_morning is_afternoon etc

如果您的国家/地区列表变得过大,请考虑通过relational reinforcement learning

进行