gpt4 book ai didi

artificial-intelligence - 使用遗传编程来估计概率

转载 作者:行者123 更新时间:2023-12-03 01:24:24 24 4
gpt4 key购买 nike

我想使用遗传程序(gp)来估计“事件”产生“结果”的概率。为了训练神经网络,我使用遗传算法。

因此,在我的数据库中,我有许多事件,每个事件都包含许多可能的结果。

我将为 gp 提供一组与每个事件中的每个结果相关的输入变量。

我的问题是 - gp 中的适应度函数应该是多少???

例如,现在我给 gp 一组输入数据(结果输入变量)和一组目标数据(如果结果确实发生,则为 1,如果结果没有发生,则为 0,适应度函数为输出和目标的均方误差)。然后,我对每个结果求每个输出的总和,并将每个输出除以总和(给出概率)。但是,我确信这不是正确的做法。

为了清楚起见,这就是我目前正在做的事情:

我想估计一个事件中出现 5 种不同结果的概率:

Outcome 1 - inputs = [0.1, 0.2, 0.1, 0.4] 
Outcome 1 - inputs = [0.1, 0.3, 0.1, 0.3]
Outcome 1 - inputs = [0.5, 0.6, 0.2, 0.1]
Outcome 1 - inputs = [0.9, 0.2, 0.1, 0.3]
Outcome 1 - inputs = [0.9, 0.2, 0.9, 0.2]

然后我将计算每个输入的 gp 输出:

Outcome 1 - output = 0.1 
Outcome 1 - output = 0.7
Outcome 1 - output = 0.2
Outcome 1 - output = 0.4
Outcome 1 - output = 0.4

此事件中每个结果的输出总和为:1.80。然后,我将输出除以总和来计算每个结果的“概率”:

Outcome 1 - p = 0.055 
Outcome 1 - p = 0.388
Outcome 1 - p = 0.111
Outcome 1 - p = 0.222
Outcome 1 - p = 0.222

在开始之前 - 我知道这些不是真正的概率,而且这种方法行不通!我把这个放在这里只是为了帮助你理解我想要实现的目标。

任何人都可以给我一些关于如何估计每个结果的概率的指示吗? (另外,请注意我的数学不太好)

非常感谢

最佳答案

我理解你问题的第一部分:你描述的是一个分类问题。您正在了解您的输入是否与观察到结果 (1) 或未观察到结果 (0) 相关。

不过第二部分有困难。如果我理解正确的话,您将获取某一行输入(例如 0.7)的原始 GP 输出,并将其视为概率。你说这显然行不通。在 GP 中,您可以通过引入划分类别的阈值来进行分类。如果它大于 0.3,则结果应该为 1;如果小于,则结果应该为 0。这个阈值不一定是 0.5(同样,它只是一个数字,而不是概率)。

我认为如果你想获得概率,你应该尝试学习多个模型来很好地解释你的分类问题。我不希望你有一个完美的模型来完美地解释你的数据,如果你有的话,你无论如何也不会想要概率。您可以将这些模型打包在一起(创建一个集合),对于每个结果,您可以观察有多少模型预测为 1,有多少模型预测为 0。预测为 1 的模型数量除以模型数量即可解释为概率将会观察到这一结果。如果这些模型都同样好,那么您可以忘记在它们之间进行权衡,如果它们的质量不同,您当然可以将这些因素纳入您的决策中。训练集质量较差的模型不太可能做出良好的估计。

总而言之,您应该尝试申请 GP,例如10 次,然后使用训练集上的所有 10 个模型来计算它们的估计(0 或 1)。但是,不要强制自己只使用 GP,有很多分类算法可以给出很好的结果。

顺便说一句,我是一款名为 HeuristicLab 的软件开发团队的成员。它在 Windows 下运行,您可以使用它运行 GP 并创建此类集成。该软件是开源的。

关于artificial-intelligence - 使用遗传编程来估计概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com