gpt4 book ai didi

PHP TNTClassifier 似然概率分布

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:56 24 4
gpt4 key购买 nike

我正在使用 TNT 搜索文本分类模块, https://github.com/teamtnt/tntsearch ,效果很好,问题是我不知道如何解释结果——更具体地说是正确匹配的可能性。我读过它使用 Naive Bayes classifier但我无法找到结果是哪种概率分布。我有自己的大约 50 个值(50/10 = 5 个类别)的小型测试数据集,猜测相当正确。

但是,此工具提供的似然数是一个负数,范围大约在 -15 到 -25 之间。

问题是,什么值可以被解释为不可信?假设该工具只有 <33% 的把握。这个假设对应什么值?

最佳答案

我已与 TNTSearch 开发人员取得联系。分类器实际上并不返回概率,而是返回“最高分”。并且只为最佳匹配。

根据提示,我对代码做了一些修改。

TeamTNT\TNTSearch\Classifier\TNTClassifier 类中,我更改了 predict 方法中的位(softmax 函数灵感来自 here ):

public function predict($statement)
{
$words = $this->tokenizer->tokenize($statement);

$best_likelihoods = [];
$best_likelihood = -INF;
$best_type = '';
foreach ($this->types as $type) {
$best_likelihoods[$type] = -INF;
$likelihood = log($this->pTotal($type)); // calculate P(Type)
$p = 0;
foreach ($words as $word) {
$word = $this->stemmer->stem($word);
$p += log($this->p($word, $type));
}
$likelihood += $p; // calculate P(word, Type)
if ($likelihood > $best_likelihood) {
$best_likelihood = $likelihood;
$best_likelihoods[$type] = $likelihood;
$best_type = $type;
}
}

return [
'likelihood' => $best_likelihood,
'likelihoods' => $best_likelihoods,
'probability' => $this->softmax($best_likelihoods),
'label' => $best_type
];
}

然后可以在 $guess['probability']['$label'] 中找到百分比概率。

关于PHP TNTClassifier 似然概率分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853969/

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