【发布时间】:2018-04-27 12:39:19
【问题描述】:
我正在尝试在 Spark MLLib 中实现 Buytillyoudie 模型的对数似然函数。
L(r, α, a, b |X = x, tx, T) = A1 · A2 · (A3 + δx>0 A4)
在哪里
A1 = Γ(r + x)αr/Γ(r)
A2 = Γ(a + b)Γ(b + x)/(Γ(b)Γ(a + b + x))
A3 = ( 1/(α + T))^(r+x)
A4 = (a/(b+x-1))(1/(α + tx))^(r+x)
为此,我使用此处给出的 L-BFGS 算法https://spark.apache.org/docs/2.2.0/mllib-optimization.html
我正在实现一个自定义 Gradient 类以传递给 L-BFGS 方法 LBFGS.runLBFGS。
我不知道如何在 Spark 中计算 Γ(x)。是否有任何方法或其他优化库可用于计算 gamma 或 gamma log?请提出建议。
PS:我从评论部分得到了使用 Scala Breeze 库的提示。但是由于我使用的是Java,所以这是不可能的。我可以在 Java 中使用 ND4J 或 Apache-commons 数学库吗?
【问题讨论】:
标签: java apache-spark statistics apache-spark-mllib