自主代理的偏好学习方法
1. 目标与偏好
在面对一组目标时,代理需要在“目标审议”过程中对这些目标进行权衡,以确定实现它们的顺序。其基本目标是在有限资源的情况下,尽可能快地实现更多的目标。目标通常通过计划来实现,大多数现有方法允许为实现一个目标表示多个计划,以便代理在特定情况下选择更合适的计划。
代理对目标的偏好不仅体现在对对象某种状态的喜好上,还体现在对实现目标的计划的偏好上。例如,一个代理可能更喜欢成本最低的计划,因为消耗较少的资源能满足它;而另一个富裕的代理可能更喜欢提供更多舒适感的计划,因为资源对它来说不那么重要。我们将这种对以某种方式执行动作(或处理对象)的偏好称为任务偏好。
任务偏好可以表示为对象的属性。例如,“清洁方法”可以是“地毯”对象的一个属性,其首选值为“真空清洁”。之前讨论的动机偏好学习机制也可用于学习这些任务偏好。任务偏好的基本表示与动机偏好类似,但类型为“T”,且 cpm 不相关。以下是一些任务偏好的示例:
-
-
2. 偏好学习方法
偏好学习(PL)对动机偏好和任务偏好的工作方式相同,因此在本节中统一称为“偏好”。我们将代理想要学习其属性偏好的新对象表示为 Objectobs,属性表示为 AttrPL,待学习的新偏好表示为 newPref。代理已知的所有对象集合表示为 ObjectsAll,已知偏好集合表示为 Preferences。
我们的方法是从 ObjectsAll 中识别出与 Objectobs 最相似且对 AttrPL 有已知偏好的对象,然后利用该偏好的信息来学习 newPref。
2.1 分类方法的不可行性
一种方法是将 ObjectsAll 划分为不同的类,然后在找到新的 Objectobs 时确定它属于哪个类。但这种方法对于 PL 不可行,因为 PL 的目的不仅是找到与 Objectobs 最相似的对象,还需要在 AttrPL 的上下文中找到它。只有那些将 AttrPL 作为属性的对象才应被考虑用于寻找与 Objectobs 相似的对象。不同的 AttrPL 会导致考虑不同的对象,因此通用的分类方法不起作用。例如,对于带有皮革座椅的椅子,如果要找到其座椅最合适的清洁方法,皮革沙发比同一类中的其他椅子(如木椅)更相关。创建特定上下文的类也不可行,因为无法预见在实际环境中代理会遇到的所有不同类型的对象。因此,我们不预先对 ObjectsAll 进行分类,而是在需要学习新的 newPref 时直接寻找与 Objectobs 最相似的对象。
2.2 基于实例学习算法
基于实例学习(IBL)算法的方法很适合我们的目的,具体使用了著名的 IBL 算法——最近邻算法的基本思想。最近邻算法根据与新样本最相似的训练样本的类别对新样本进行分类,通过测量它们在由属性创建的特征空间中的距离来确定相似度。我们利用在特征空间中寻找相似度的思想,从 ObjectsAll 中找到与 Objectobs 最相似的对象。
由于主要考虑的是学习 AttrPL 的值,因此只有将 AttrPL 作为属性的 ObjectsAll 中的对象才有用。这作为一个过滤条件,在第一步中识别出满足该条件的对象,我们称它们为 Objectobs 的“邻居”。下一步是计算每个邻居与 Objectobs 之间的距离,以便选择最相似的“最近邻”。
2.3 距离度量
文献中提出了许多距离度量方法,可分为两大类:一类使用从训练数据导出的参数(如马氏距离、相关性、卡方、值差异度量),另一类不使用此类参数(如欧几里得距离、曼哈顿距离、堪培拉距离),后者依赖于两个样本之间的简单差异计算。前者往往具有更高的准确性,但由于 PL 缺乏训练数据,我们采用不需要训练数据的度量方法。这种度量方法应能同时处理名义属性和连续属性,异构欧几里得 - 重叠度量(HEOM)就是这样一种方法。
使用 HEOM 计算两个对象 X 和 Y 在其属性特征空间中的距离公式为:
[D(X, Y)=\sqrt{\sum_{a = 1}^{m}d_{a}(a_{X}, a_{Y})^{2}}]
其中,m 是 X(或 Y)的属性数量,(d_{a}(a_{X}, a_{Y})) 是 X 和 Y 在属性 a 上的值的差异,定义如下:
[d_{a}(a_{X}, a_{Y})=\begin{cases}1, & \text{if } a_{X} \text{ or } a_{Y} \text{ missing}\ overlap(a_{X}, a_{Y}), & \text{if } a \text{ is nominal}\ diff_{a}(a_{X}, a_{Y}), & \text{if } a \text{ is numeric}\end{cases}]
[overlap(a_{X}, a_{Y})=\begin{cases}0, & \text{if } a_{X}=a_{Y}\ 1, & \text{otherwise}\end{cases}]
[diff_{a}(a_{X}, a_{Y})=\frac{|a_{X}-a_{Y}|}{max_{a}-min_{a}}]
然而,在 PL 中,由于要比较的对象可能具有不同的属性,直接使用上述公式计算距离不太可靠。因此,我们对 HEOM 进行了修改,将两个对象之间的距离计算在它们的公共属性特征空间中。修改后的距离公式为:
[D(X, Y)=\sqrt{\frac{\sum_{a = 1}^{k}d_{a}(a_{X}, a_{Y})^{2}}{k}}]
其中,k 是 X 和 Y 之间的公共属性数量,在确定 k 时,排除 AttrPL(尽管 Objectobs 与邻居共享该属性,但它没有该属性的值)。我们用 k 对距离进行归一化,以便比较不同 k 值的对象对之间的距离。
此外,不同属性在比较对象时具有不同的重要性。为了处理这个问题,我们使用“属性加权规则”,该规则提供了对象属性对于确定另一个属性值的重要性信息。每个属性加权规则分配给对象属性的所有权重之和为 1。考虑属性权重后,进一步修改的距离公式为:
[D_{c}(X, Y)=\sqrt{\frac{\sum_{a = 1}^{k}w_{c}^{a}\times d_{a}(a_{X}, a_{Y})^{2}}{k}}]
其中,(D_{c}(X, Y)) 是在上下文 c(由 AttrPL 表示)中比较 X 和 Y 时的距离,(w_{c}^{a}) 是分配给属性 a 的权重,表示该属性对于确定 AttrPL 值的重要性。
同时,我们还修改了 (diff_{a}(a_{X}, a_{Y})) 的计算公式:
[diff_{a}(a_{X}, a_{Y})=\frac{|a_{X}-a_{Y}|}{max(a_{X}, a_{Y})}]
这是因为在 PL 中,属性 a 可能没有很多值,如果仅在 X 和 Y 之间共享,((max_{a}-min_{a})) 的范围将与它们的值之差相同,导致 (diff_{a}(a_{X}, a_{Y})) 始终为 1。
2.4 相似度度量
为了处理对象对之间由于公共属性数量产生的相似度和不同属性数量产生的不相似度,我们定义了两个对象 X 和 Y 之间的相似度度量 Sim(X, Y):
[Sim(X, Y)=\frac{AttrCm(X, Y)}{TotAttr(X, Y)}-\frac{AttrDiff(X, Y)}{TotAttr(X, Y)}]
其中,AttrCm(X, Y) 表示 X 和 Y 之间的公共属性数量,AttrDiff(X, Y) 表示 X 和 Y 之间不同的属性数量,TotAttr(X, Y) 是 X 和 Y 的属性并集的数量。
最后,我们将 Sim(X, Y) 与 (D_{c}(X, Y)) 结合,得到两个对象 X 和 Y 之间的最终相似度度量 S(X, Y):
[S(X, Y)=Sim(X, Y)-D_{c}(X, Y)]
使用这个度量,确定 Objectobs 与其每个邻居的相似度,并将最相似的邻居声明为 Objectobs 的“最近邻”。只使用最近邻而不是 K - 最近邻算法中的 k 个最近邻,是因为代理可能对略有不同的对象有不同的偏好。最后,利用这个最近邻对 AttrPL 的偏好信息来获取 newPref 的类型、dValue 和 cpm 值。
3. 评估
由于缺乏用属性描述不同对象的标准数据集,我们自己构建了一组 60 个对象,这些对象是智能家居代理通常会遇到的,称为“已知对象”。代理有相应的“偏好”集合和“权重”集合,“权重”描述了对象属性对于确定特定属性值的重要性。还有一组“感知”对象,包含 50 个代理从环境中感知到的对象,代理想要学习这些对象的偏好属性。我们为这些对象构建了一组“正确”的偏好,用于评估学习到的偏好。
我们对之前提到的五种度量方法(公式 1 到 5)进行了评估,结果如下表所示:
| 度量方法 | 正确学习的偏好数量(共 50 个) |
| ---- | ---- |
| (1) | 37 |
| (2) | 32 |
| (3) | 30 |
| (4) | 30 |
| (5) | 50 |
(1) 和 (2) 在相似对象中对确定给定偏好属性值没有作用的属性不同时容易失败,但 (1) 由于考虑了公共和不同属性数量带来的相似度和不相似度,结果比 (2) 好。(3) 考虑了属性的重要性权重,不受无关属性的影响,但只考虑了属性值的距离,不考虑公共和不同属性数量带来的相似度和不相似度,可能会将非常不同的对象视为相似。(4) 只考虑了公共和不同属性数量带来的相似度和不相似度,不考虑属性值的差异,无法区分同一类型的不同对象。(3) 和 (4) 单独使用都有不足,将它们结合成 (5) 可以解决这些问题,能够正确学习所有感知对象的偏好。基于初步评估,(5) 是偏好学习度量的一个很好的起点,但需要在真实数据集上进行更全面的评估才能确定其在实际场景中的效果。
4. 结论与未来工作
我们提出了一种偏好生成方法,使代理能够基于对相似对象的现有偏好,学习关于对象的新偏好(可以是对象的首选状态或实现该状态的首选方式)。通过这种方法,代理可以学习超出其编程知识的新偏好,从而实现更大的自主性。
使用这种方法的一个主要问题是如何用属性描述对象。未来的一个有趣发展方向是开发自动化解决方案,构建一个用属性描述对象的数据库,这需要对句子进行复杂的分析,以确定通常赋予对象的属性。我们将其作为未来工作的一部分。
下面是一个 mermaid 流程图,展示了偏好学习的主要流程:
graph TD;
A[输入 Objectobs 和 AttrPL] --> B[从 ObjectsAll 中筛选出有 AttrPL 属性的邻居];
B --> C[计算邻居与 Objectobs 的公共属性数量 k];
C --> D[计算修改后的距离 D(X, Y) 和 Dc(X, Y)];
D --> E[计算相似度 Sim(X, Y)];
E --> F[计算最终相似度 S(X, Y)];
F --> G[选择最相似的邻居];
G --> H[利用邻居的偏好信息学习 newPref];
通过以上内容,我们详细介绍了自主代理的偏好学习方法,包括目标与偏好的关系、偏好学习的具体步骤、评估结果以及未来的发展方向。希望这些内容能为相关领域的研究和应用提供有价值的参考。
自主代理的偏好学习方法
5. 方法优势分析
这种偏好学习方法具有多方面的优势,以下为您详细阐述:
-
灵活性高
:不预先对对象集合进行分类,而是在需要学习新偏好时动态寻找最相似的对象,能够适应复杂多变的实际环境。代理可以根据具体的属性和上下文来确定相似对象,避免了因预先分类而导致的局限性。例如,在智能家居场景中,面对各种不同类型和功能的设备,该方法可以灵活地为每个设备学习合适的偏好。
-
综合考量
:结合了属性值差异带来的距离和公共与不同属性数量带来的相似度和不相似度,使相似度的计算更加全面准确。在实际应用中,能够更精准地找到与目标对象最相似的对象,从而提高偏好学习的准确性。比如在比较不同品牌和型号的电器时,既考虑了它们在具体属性上的差异,又考虑了整体属性的相似性。
-
可扩展性强
:使用“属性加权规则”来处理不同属性的重要性,使得该方法可以根据具体的应用场景和需求进行调整。在不同的任务中,可以为不同的属性分配不同的权重,以突出关键属性的影响。例如,在评估房屋的居住舒适度时,可以为“通风条件”“采光情况”等属性赋予较高的权重。
6. 实际应用场景
该偏好学习方法在多个领域都有广泛的应用前景,以下是一些具体的场景:
-
智能家居
:智能家居代理可以根据用户的使用习惯和环境变化,学习不同设备的偏好设置。例如,根据用户在不同时间段对室内温度、湿度的需求,自动调整空调和加湿器的运行模式;根据用户对清洁效果的偏好,选择合适的清洁设备和清洁方法。
-
智能客服
:智能客服系统可以根据用户的历史咨询记录和问题类型,学习用户的偏好和需求。在与用户交流时,能够提供更个性化的服务和解决方案,提高用户满意度。比如,对于经常咨询产品功能的用户,提供详细的产品介绍;对于关注价格的用户,及时推送优惠信息。
-
推荐系统
:在电商、音乐、视频等推荐系统中,该方法可以帮助系统更好地理解用户的偏好,为用户推荐更符合其兴趣的商品、音乐或视频。通过分析用户的历史购买记录、浏览行为等数据,找到与用户偏好相似的其他用户或商品,从而进行精准推荐。
7. 操作步骤总结
为了更清晰地展示偏好学习的过程,以下是详细的操作步骤:
1.
输入目标信息
:确定需要学习偏好的新对象 Objectobs 和属性 AttrPL。
2.
筛选邻居对象
:从已知对象集合 ObjectsAll 中筛选出具有 AttrPL 属性的对象,作为 Objectobs 的邻居。
3.
计算公共属性数量
:计算每个邻居与 Objectobs 的公共属性数量 k,排除 AttrPL(因为 Objectobs 没有该属性的值)。
4.
计算距离
:使用修改后的 HEOM 公式计算邻居与 Objectobs 在公共属性特征空间中的距离 (D(X, Y)) 和考虑属性权重后的距离 (D_{c}(X, Y))。
5.
计算相似度
:根据公共和不同属性数量,计算邻居与 Objectobs 的相似度 (Sim(X, Y))。
6.
计算最终相似度
:将 (Sim(X, Y)) 与 (D_{c}(X, Y)) 结合,得到最终相似度 (S(X, Y))。
7.
选择最近邻
:选择 (S(X, Y)) 值最大的邻居作为 Objectobs 的最近邻。
8.
学习新偏好
:利用最近邻对 AttrPL 的偏好信息,获取 newPref 的类型、dValue 和 cpm 值。
8. 对比分析
为了更好地理解该偏好学习方法的特点,以下是与其他常见方法的对比分析:
| 方法 | 优点 | 缺点 |
| ---- | ---- | ---- |
| 本文方法 | 灵活性高、综合考量、可扩展性强,能适应复杂环境,提高偏好学习准确性 | 需要处理属性加权规则,计算相对复杂 |
| 预先分类方法 | 简单直观,易于实现 | 无法适应复杂多变的环境,分类可能不准确 |
| K - 最近邻算法 | 考虑多个邻居的信息,稳定性较好 | 可能会引入不相关的邻居,影响结果准确性 |
9. 总结与展望
通过以上的介绍,我们可以看到这种偏好学习方法为自主代理提供了一种有效的方式来学习新偏好,实现更大的自主性。在实际应用中,它能够根据不同的场景和需求,灵活地为代理提供个性化的偏好设置。
然而,该方法也面临一些挑战,如用属性描述对象的问题,需要进一步研究和解决。未来,随着技术的不断发展,我们可以期待开发出更智能、更高效的自动化解决方案,以支持该方法在更多领域的应用。同时,结合机器学习、深度学习等技术,进一步优化偏好学习的过程,提高学习的准确性和效率。
下面是一个 mermaid 流程图,展示了该方法在智能家居场景中的应用流程:
graph TD;
A[智能家居代理感知环境和用户行为] --> B[确定需要学习偏好的设备和属性];
B --> C[从已知设备集合中筛选邻居];
C --> D[计算相似度并选择最近邻];
D --> E[学习设备的新偏好];
E --> F[根据新偏好调整设备设置];
F --> G[持续感知环境和用户反馈,优化偏好];
总之,自主代理的偏好学习方法具有广阔的应用前景和发展潜力,我们相信在未来的研究和实践中,它将为智能系统的发展带来更多的创新和突破。
自主代理偏好学习方法
超级会员免费看
1009

被折叠的 条评论
为什么被折叠?



