基于块梯度下降的pac-bayesian方法实现nmf

PACbayesianNMF的Python项目详细描述


################################# README.txt############################################### #项目名称:pacbayesiannmf

#目的:非负矩阵pac-bayesian方法的实现

#因子分解,用于块梯度下降。

#作者:阿斯塔·古普塔

#本杰明·盖德,benjamin.guedj@inria.fr>;

#参考:来源:https://arxiv.org/abs/1601.01345

#P.Alquier和B.Guedj(2016年)。“一个尖锐的甲骨文不等式

#对于贝叶斯非负矩阵分解,arxiv预印本。

#有关

#实现的算法。

#许可证:GPLv3


#重要文件和功能列表

# #################################################################################

#“.pacbayesiannmfBlockGradientDescent.py”

#包含名为blockGradientDescent的类

#->;set datamatrix(self,datamatrix):设置datamatrix的函数

#->;setnoofpatterns(self,k):设置要查找的模式数的函数

#->;设置条件步骤(自我,炮制步骤=1e-2,

#在步骤u=1e-3内的条件u上,

< p>>条件→步骤→v=1E-3):设置块

的退出条件

#梯度下降

#->;设置外部步骤的条件(自身,调制步骤=1e-2):

#设置最外部步骤的值,将紫外线最小化

#->;在destepu中设置条件(self,条件在步骤u=1e-3中):

#为U最小化的内循环设置值

#->;在destepv中设置条件(self,condition on在步骤v=1e-3内):

#为v最小化的内部循环设置值

#

#->;def applyblockGradientDescent(self,b=1e6,lmbd=(float(1)/4)*100,

#pas=1e-3,printflag=0):

#这是应用BlockGradientDescent的主要功能

#b用于通知稀疏性

#lmbd是算法的lambda

#pas是用于计算新u和v的算法中的常数

# ##################################################################################


#用法:导入包,创建一个2d数据矩阵,其中每一行作为具有值的数据点

#介于0到1之间。创建一个参数为datamatrix和

#指定不检测模式的整数。使用设置其他参数

#设置*()方法。最后要应用块梯度下降,请使用

#applyBlockGradientDescent()方法

#

#从pacbayesiannmf导入*

#z=块梯度下降(数据矩阵,2)

#z.设置条件步骤(1e-4、1e-6、1e-6)

#(u,v,crit,out)=z.applyBlockGradientDescent(printFlag=1)

#

#最重要的输出是v,它包含信号。每列v

#crit以数组的形式给出每个步骤中实际数据矩阵和估计的uv之间的距离

#out是一个值列表每个步骤包含不同的变量,有助于调试


################################## END#####################################################

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在收到spring mqtt集成中停止重复订阅保留的消息   java改造安卓在textview中显示数据   读取CSV Java时获取While循环中的最后一行数据   将Java程序转换为小程序的部署   java如何在不向Src添加文件的情况下将文件放入GitLab测试   java包含字节数组列表的方法   java十进制转换错误   eclipse是由java引起的。lang.ClassNotFoundException:org。springframework。js。资源ResourceServlet   继承Java向上与向下   java自动调整标签内容的大小   java从Android中的AlertDialog返回信息   java在声明按钮时仿真程序中出现错误   java编写刷新线程的最佳方法   Java初学者错误   java需要帮助重置JComboBox   java如何用Spring/MultipartFile捕获中断流   java是否可以在JUnit中设置被测试类的方法的返回值?