固定长度的类似决策树的特征选择,以最大程度地降低平均搜索性能


9

我有一个复杂的查询用于搜索数据集以查找。每个查询花费平均时间因此线性搜索的总时间为。我可以将查询分解为更简单的子查询q_i并找到 和其中。每个子查询计算速度都快得多,因此总的来说,找到然后使用来找到更快。QS·&| S | ħ = { 小号小号| ∀ q Ĵ小号为真} ħ 确切ħ q ħ Q ħ 确切Hexact={sSwhere Q(s) is True}tt|S|Happrox={sSqj(s)is True}HexactHapproxqiHapproxQHexact

每个有许多。不同之间的重叠度很高。我正在寻找一种方法,可根据大量的搜索查询来确定类似于决策树的固定问题,以最大程度地减少找到H_exact的平均时间。q Q q ĴQqiQqj

为了更具体一点,假设数据集包含世界上70亿人口,并且复杂的查询是诸如“居住在5号拐角处的红房子中的女人和以B开头的城市中的列克星敦”。

显而易见的解决方案是检查世界上的每个人,看看谁匹配查询。这样的人可能不止一个。此方法需要很长时间。

我可以准确地预先计算该查询,在这种情况下,它会非常快..但仅适用于此问题。但是,我知道其他询问是针对住在同一角落的蓝色房屋中的女人,住在同一角落,相同问题但在以C开头的城市中的男人还是其他完全相同的问题,例如“瑞典国王。

相反,我可以将复杂的问题分解为一组更简单但更通用的问题。例如,所有上述问题都具有基于性别角色的查询,因此我可以预先计算世界上所有认为自己是“女人”的人的集合。该子查询基本上不需要时间,因此总体搜索时间减少了大约1/2。(假设通过其他知识,我们知道瑞典的“国王”不可能是“女人”。Hatshepsut是一位埃及妇女,是国王。)

但是,有时会出现一些不基于性别的查询,例如“住在以A开头的城市的红色房子中的第8街上的人”。我可以看到子查询“住在红房子里”很常见,并且预先计算了所有住在红房子里的人的清单。

这给了我一个决策树。在通常情况下,决策树的每个分支都包含不同的问题,并且为决策树选择最佳术语的方法是众所周知的。但是,我在现有系统上构建,该系统要求所有分支机构都必须提出相同的问题。

这是一个可能的最终决策集的示例:问题1是“这个人是女人吗?”,问题2是“这个人住红色房子吗?”,问题3是“这个人从城市开始生活吗?这个人是A还是该人居住在以B开头的城市?”,问题4是“这个人是否居住在编号的街道上?”。

当查询出现时,我将查看其与我确定的任何预先计算的问题匹配。如果是这样,那么我得到那些答案的交集,并在那个交集子集上问问题例如,如果问题是“住在岛上一所红房子里的人”,那么发现“住在一所红房子里的人”已经被预先计算,因此只需要找到也住在岛上的人的子集即可。q q Ĵ QQqiqjQ

通过查看一组多个并查看相应的的大小,可以得到一个成本模型。我想最小化的平均大小。QHapproxHapprox

问题是,如何优化可能的的选择以做出固定的决策树?我尝试了GA,但收敛速度很慢。可能是因为我的特征空间可能有几百万个。我想出了一种贪婪的方法,但是我对结果不满意。它也非常慢,我认为我正在优化错误的东西。qjqj

我应该寻找哪些现有研究来寻找想法?


您的数据是否固定-您将添加更多示例吗?如果不是更好,则尝试从信息熵最高的子查询开始构建决策树。您还可以选择一些最小熵来停止基于树的决策,并在S足够小时以| S | .t时间进行搜索。
安东

Answers:


1

我发现的解决方案(我问了这个问题)是使用叠加编码,更具体地说,是Zatocoding的变体,它对分层描述符的支持更好。

我使用的方法来自“化学结构搜索的高效设计”。I.《银幕》,阿尔弗雷德·费尔德曼(Alfred Feldman)和路易斯·霍德斯(Louis Hodes),化学杂志。Inf。计算 Sci。,1975,15(3),第147-152页。

非分层解决方案是查看信息密度。将为每个描述符分配位,其中是数据集中的频率( f_i <= 1.0)。使用计算比特总数(决策树的大小,其中是Mooers压缩因子0.69(来自)。确定要使用的总位数后,请为每个描述符随机选择位以进行位分配。si=log2(fi)fi0<DD=(sifi)/McMcloge2si

来自Feldman和Hodes的分层解决方案将替换为描述符,这些描述符是其他描述符的子集。在这种情况下,请使用,其中是频率最低的父级的频率。另外,在进行位分配时,请勿选择父级位分配也使用的位。s i = l o g 2f i / g ig isi=log2(fi)si=log2(fi/gi)gi

如何提出正确的描述符仍然存在问题,但这将是特定于领域的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.