Closed BrunoQin closed 1 year ago
@BrunoQin 你好,我不清楚关于你提到的代码提交记录的问题,那个allenzhangzju
不是我的账号,我在以前短暂研究过BBVI。
关于BBVI的似然函数计算部分,请详细描述问题,看起来functions.py中的ng_log_likelihood只是计算了机器学习
概念上的negative log-likelihood
,相当于损失函数。
或者你可以参考https://lzj-isee.github.io/2023/07/16/da/model_based_vi/。
你也可以参考论文: @InProceedings{pmlr-v33-ranganath14, title = {{Black Box Variational Inference}}, author = {Ranganath, Rajesh and Gerrish, Sean and Blei, David}, booktitle = {Proceedings of the Seventeenth International Conference on Artificial Intelligence and Statistics}, pages = {814--822}, year = {2014}, editor = {Kaski, Samuel and Corander, Jukka}, volume = {33}, series = {Proceedings of Machine Learning Research}, address = {Reykjavik, Iceland}, month = {22--25 Apr}, publisher = {PMLR}, pdf = {http://proceedings.mlr.press/v33/ranganath14.pdf}, url = {https://proceedings.mlr.press/v33/ranganath14.html} }
谢谢!不太清楚为什么您在那个库上会有提交记录。。。冒昧打扰,不好意思!我大概明白您解释的负的似然估计作为损失函数,就是不太理解他为何将二分类标签化为[-1和1],并且使用log(sigmoid(y*yhat))作为损失函数的意义。常规理解这里应该使用BCE。这个操作可能也与他标签处理有关。
不管怎么说,看您的解释,并且按照他的代码,应该是使log_likelihood尽可能大。而现有深度学习loss均是为梯度下降做准备的,也就是需要尽可能小。因此他的ng_log_likelihood函数设计了一个越大越好的函数作为loss。如果用BCE或者MSE应该在前面加上负号。我这样理解是否正确?:)
@BrunoQin 你好,第一个问题是这样的:
Max Welling, Yee Whye Teh. Bayesian Learning via Stochastic Gradient Langevin Dynamics
的5.2实验部分的公式(12)以及对应的正文描述
写成[-1, 1]的标签是为了写代码方便
第二个问题是这样的:
看到您在https://github.com/allenzhangzju/Black_Box_Variational_Inference上面有提交代码的记录,想向您请教有关黑盒变分推断的问题,主要是似然估计的计算部分(functions.py中的ng_log_Likelihoods函数)。如您方便,可以通过邮箱(brunoqin@163.com)联系,或直接回复。感谢!