问题标签 [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 投票
0 回答
226 浏览

python - KERAS:来自 loglikehood 的自定义损失函数

我正在尝试按照本文,方程式 3.8 第 19 页实现自定义损失函数。我得到了这个实现:

但是,当我尝试编译模型时:

我越来越

这似乎在计算时批量大小未定义。有人可以指出我正确的方向吗?也许我需要使用张量操作来实现它?如果是这样,怎么做?

谢谢

0 投票
0 回答
158 浏览

optimization - tanh(mean + std*z) 的对数似然逼近器

我一直在尝试理解关于软演员评论家的博客,其中我们有一个神经网络表示一个策略,该策略输出给定状态下动作的高斯分布的均值和标准差。由于无法通过随机节点直接反向传播,因此应用了重新参数化技巧,如下所示:

我想知道 log_prob 术语是如何得出的。任何帮助将不胜感激。

0 投票
1 回答
61 浏览

python - 估计的高斯分布参数错误

我正在试验高斯分布及其可能性。为了计算出最大似然,我区分了mu(期望)和 sigma(均值)的似然,它们分别等于 data.mean() 和 data.std()

我预计estimated_muestimated_sigma应该大约等于musigma,但事实并非如此。而不是 0 和 2 我得到 0.083 和 0.069。我理解有什么不对吗?

0 投票
1 回答
140 浏览

python - Scipy 优化器在改变指定参数的方式时爆炸/发散

我有一个负对数似然函数来最小化。我想将观察数组设置为要优化的函数的参数,而不是直接进入函数,但奇怪的是,优化器爆炸了。我有兴趣发现为什么会这样,并最终了解需要更改哪些内容才能拥有一个收敛的优化器。

我以这种方式将观察结果设置为函数的参数: mn 代表 scipy.optimize.minimize

结果是:

而如果我在内部设置观察结果而不是作为参数

我得到了一些相当不错的估计

即使优化器不认为它是成功的。

0 投票
1 回答
234 浏览

r - 评估 rstan 中未见数据的对数似然性

我知道我可以在采样期间计算每个样本的对数似然,例如

loo拟合后,我可以使用包提取对数似然性:

但我想评估未见数据的对数可能性。这在 brms 中是可能的:

但我想用 来做到这一点rstan,因为我不能轻易地在 brms 中定义我的模型(我假设)。

作为参考,我正在尝试使用 Estimated LFO-CV 来评估和比较我的时间序列模型。(例如https://github.com/paul-buerkner/LFO-CV-paper/blob/master/sim_functions.R#L186

https://mc-stan.org/loo/articles/loo2-lfo.html

0 投票
1 回答
665 浏览

python - 使用最大似然估计器实现的曲线拟合不起作用

为了曲线拟合的目的,我正在为离散计数数据实施最大似然估计器,使用 的结果curve_fit作为minimize. 我为多个发行版定义并尝试了这些方法,但为了简单起见,我只包括一个,它是一个 logseries 发行版。

在这一点上,我还尝试了 statsmodels 方法中的以下方法:

  1. statsmodels.discrete.discrete_model.fit
  2. statsmodels.discrete.count_model.fit
  3. statsmodels.base.model.GenericLikelihoodModel

大多数曲线拟合往往会遇到溢出错误或内部的 nans 和 zeros。我将在另一篇文章中详细说明这些错误

我已经限制优化器给我的结果类似于我的预期,(参数值在 0.8 或 0.9 左右).. 否则算法输出零

0 投票
1 回答
241 浏览

machine-learning - 概率和可能性之间的差异

当我读到可能性不是概率时,我不得不仔细思考这意味着什么,但我想到了以下案例。

考虑到我们连续看到四个正面,一枚硬币公平的可能性有多大?

我们在这里不能真正谈论概率,但“信任”这个词似乎很贴切。

我们觉得我们可以信任代币吗?

在互联网上找到。

概率量化了(结果的)预期,可能性量化了信任(在模型中)。

我可以有人给出明确的解释。

0 投票
0 回答
148 浏览

python - 如何为最大似然估计python实现小批量梯度下降?

目前,我编写了一些代码,可以找到最大化对数似然函数和一些字段数据的参数组合。该模型现在从均匀分布中随机选择参数,然后选择最佳参数集。然而,这种方法不会给出可重复的结果。我想知道是否有人有任何示例代码来说明如何更新此代码以运行小批量梯度下降(或上升)方法以找到最佳参数集?

此外,该模型现在一次使用所有现场数据,而我希望在每次迭代时测试小批量数据。下面是我的代码:

其中 xs 是位置,ConData 是字段数据的集中度。然后在得到对数似然的概率后,我使用 argmax 来找到最佳的参数组合。

任何建议、链接或示例代码都会有所帮助,因为我无法找到 MLE 方法的 Python 示例!

0 投票
1 回答
1769 浏览

python - 对于负二项分布,我应该如何使用 Keras(和 TensorFlow)编写损失函数?

我正在使用负二项分布对变量进行建模。我宁愿对分布的两个参数进行建模,而不是预测期望平均值。所以我的神经网络的输出层是由两个神经元组成的。为此,我需要编写一个自定义损失函数。但是下面的代码不起作用 - 似乎是迭代张量的问题。

对于负二项分布,我应该如何使用 Keras(和 TensorFlow)编写损失函数?

我只需要重写这段代码,代码对 TensorFlow 的张量友好。根据我得到的错误,也许tensorflow.map_fn可能会导致解决方案,但我没有运气。

这通常运行良好,但不适用于 Keras / Tensorflow

我得到的错误:

TypeError:张量对象仅在启用急切执行时才可迭代。要迭代此张量,请使用 tf.map_fn。

0 投票
0 回答
45 浏览

r - 如何将 R 可能性转换为通常可能性?

我使用 R glm 或Countr (renewalCount) 得到的可能性与我使用 R 估计参数手动计算可能性不同。我试图用 R 中的一些函数来拟合数据集,但似然值与我从其他语言中得到的不一致。另一个奇怪的事情是,对于不同的数据集,我使用 glm(...,family=poisson) 得到了相同的结果!

对于泊松情况,我得到:(截距)1.6094,这意味着 exp(1.6094) 的泊松参数,但 t 给了我 R 中的可能性 -21.53659,当我手动计算时它会变得不同。