问题标签 [log-likelihood]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3298 浏览

tensorflow - 如何在tensorflow中实现句子级对数似然?

我想实现Collobert 等人中描述的句子级对数似然 。,页。14.

要计算转换分数,我可以使用 CRF,但我不知道如何将它集成到 tensorflow 中。我考虑过使用 tf.contrib.crf.CrfForwardRnnCell来计算转换分数,但是这个类返回一包含新 alpha 值的 [batch_size, num_tags] 矩阵值,而不是我期望的一个 [batch_size, num_tags, num_tags] 张量.

有没有人有一个如何在 tensorflow 中使用 CRF 的例子?谢谢!

0 投票
2 回答
1711 浏览

python - 两个可能包含零的概率向量的 TensorFlow 对数似然

假设我有两个张量, p1并且p2在相同形状的张量流中包含概率,其中一些可能是零或一。他们计算对数似然的优雅方式是逐点计算:p1*log(p2) + (1-p1)*log(1-p2)

使用 tensorflow 函数天真地实现它

冒着跟注的风险0*tf.log(0),这将给出一个nan.

0 投票
1 回答
968 浏览

python - 从文本语料库中提取给定单词的搭配 - Python

我试图找出如何从文本中提取特定单词的搭配。如:在整个文本语料库中,哪些词与“hobbit”一词具有统计学意义的搭配?我期待一个类似于单词列表(搭配)或元组(我的单词+它的搭配)的结果。

我知道如何使用 nltk 制作二元组和三元组,以及如何只选择包含我感兴趣的单词的二元组或三元组。我正在使用以下代码(改编自这个 StackOverflow 问题)。

这很好用,并给了我一个三元组列表(其中一个元素是我的话),每个都有它们的对数似然值。但我真的不想只从三元组列表中选择单词。我想在我选择的窗口中进行所有可能的 N-Gram 组合(例如,我的单词左 3 和右 3 窗口中的所有单词 - 这意味着 7-Gram),然后检查哪个这些 N-gram 单词具有与我感兴趣的单词配对的统计相关频率。我想为此采用对数似然值。

我的想法是:

1)计算包含我的单词的不同大小的所有N-Gram组合(不一定使用nltk,除非它允许计算大于trigrams的单位,但我没有找到那个选项),

2) 计算组成我的 N-gram 的每个单词的对数似然值,并以某种方式将其与它们出现在 (?) 中的 n-gram 的频率进行比较。这是我迷路的地方......我没有这方面的经验,我不知道如何思考这一步。

有人对我应该怎么做有建议吗?假设我现在使用 nltk 提供的 trigrams 池:有没有人知道如何从那里继续获取我的搜索词附近最相关的词列表?

谢谢

0 投票
1 回答
2498 浏览

r - R - ANOVA 和 lrtest 中的似然比检验误差

我正在尝试使用 lrtest() 在 R 中运行似然比测试,但它给了我无法修复的错误:

根据此链接,ANOVA 或 lrtest 均可用于似然比检验。我尝试了 ANOVA 方法并且测试产生了结果,这与我尝试使用 lrtest() 时不同。这两者是否可以互换,或者我会通过使用 ANOVA 而不是 lrtest 错过任何有用的分析?

编辑:这是来自 file.csv 的数据集示例。

0 投票
1 回答
1051 浏览

r - 通过迭代重新加权最小二乘回归获得 beta 的 MLE

我有以下数据集:

当我glm()使用带有日志链接的泊松分布将模型拟合到这个数据集时:

我得到以下输出:

我想为迭代重新加权最小二乘回归编写一个函数,该函数将获得相同的估计值。到目前为止,我已经能够使用身份链接而不是日志链接来执行此操作,就像我在 glm 中所做的那样。

这给出了输出:

有谁知道我在编写自定义函数时哪里出错了,以及我将如何纠正这个问题以复制glm()函数的输出

0 投票
0 回答
1983 浏览

python - multivariate_normal() :为什么手动实现和使用 scipy 函数进行多变量的结果会有所不同

来自 Scipy 文档

scipy.stats.multivariate_normal

scipy.stats.multivariate_normal = <scipy.stats._multivariate.multivariate_normal_gen object at 0x2b23194d1c90>

多元正态随机变量。

mean关键字指定平均值。cov关键字指定协方差矩阵。

参数::
xarray_like Quantiles,x 的最后一个轴表示分量。

mean:array_like,可选分布均值(默认为零)

cov:array_like,可选的分布协方差矩阵(默认一个)

allow_singular: bool, optional 是否允许奇异协方差矩阵。(默认:假)

random_state: None 或 int 或 np.random.RandomState 实例,可选 如果是 int 或 RandomState,则使用它来绘制随机变量。如果没有(或 np.random),则使用全局 np.random 状态。默认为无。或者,可以调用对象(作为函数)来固定均值和协方差参数,返回“冻结”多元正态随机变量: rv = multivariate_normal(mean=None, cov=1, allow_singular=False) 具有相同方法但保持给定均值和协方差固定的冻结对象。

笔记

将参数 mean 设置为 None 等效于将 mean 设为零向量。参数 cov 可以是一个标量,在这种情况下,协方差矩阵是该值的单位乘以该值、协方差矩阵的对角线元素的向量,或者是一个二维 array_like。协方差矩阵 cov 必须是(对称)半正定矩阵。cov 的行列式和逆分别计算为伪行列式和伪逆,因此 cov 不需要具有满秩。

我的实现

这给出了一个输出:

但是当我手动应用公式时:

这给出了输出:

输入数据: - 上面使用的数据集

Python Notebook - 我的实现

0 投票
1 回答
907 浏览

r - R中beta-normal的最大似然估计

我想估计 beta 正态分布的参数。我使用了 maxLik 包

但它给出了错误

问题是错误的无限值是不可接受的。如果有人能解决这个问题,我会很高兴。

0 投票
1 回答
201 浏览

r - Nakagami 分布的对数似然在 R 中是无限的

我正在将我的数据集 $x \in [60,80]$ 的归一化直方图拟合到 Nakagami 分布。首先,我通过以下 MLE 代码估计了 packagednaka的比例和形状参数:VGAM

然后,我通过以下代码根据估计的参数估计对数似然值:

但是对数似然值 lik 是-Inf。我知道这个无限值是由于 Nakagami 分布的 PDF 方程中的 exp(.) 项。有没有办法估计我的数据集 $x \in [60,80]$ 的 Nakagami 分布的有限对数似然值?谢谢你。

0 投票
1 回答
445 浏览

python - 最大化似然函数

我想最大化关于 theta 参数的似然函数。似然函数定义为:

我用:

nnnumpy 数组在哪里。我得到这个错误:

谁能帮我?

0 投票
1 回答
403 浏览

optimization - 最大化可能性,朱莉娅

我有一个对数似然函数,我想就 theta (N) 最大化它,它被定义为:

我使用 Optim.jl 的optimize函数为:

其中 nn 是一个数组。我得到这个错误:

任何人都可以帮忙吗?