Ich versuche Log-Likelihood-Funktion von Buytillyoudie Modell in Spark MLLib zu implementieren.Wie berechnet man Gammaln in Spark MLLib?
L(r, α, a, b |X = x, tx, T) = A1 · A2 · (A3 + δx>0 A4)
wo
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)
Dazu verwende ich L-BFGS Algorithmus wie hier gegeben https://spark.apache.org/docs/2.2.0/mllib-optimization.html
ich eine benutzerdefinierte Gradient Klasse bin der Umsetzung weitergegeben werden, um L-BFGS Methode LBFGS.runLBFGS
.
Ich kann nicht in Spark berechnen. Gibt es eine Methode oder eine andere Optimierungsbibliothek, mit der ich Gamma- oder Gammablog berechnen kann? Bitte vorschlagen.
PS: Ich habe ein Stichwort aus dem Kommentarabschnitt zu Breeze-Bibliothek von Scala verwenden. Aber da ich Java benutze, ist das nicht möglich. Kann ich ND4J oder Apache-Commons Mathematikbibliothek in Java verwenden?