基于块梯度下降的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第三方库


热门话题
xml如何递归地比较两个相同但未知类型的Java对象的字段值?   javascript如何在SeleniumWebDriver中使用JavascriptExecuter设置属性值   java计算n个布尔值的“真”数   java查找两个相同圆的重叠级别百分比   调用了java onCreateOptionMenu(),但不起作用   java为嵌套类编写toString方法   java如何查找远程JNDI   java如何使用JFileChooser和JLabel将图像上载到JTextArea   java在sling中创建一个新的mixin   使用数据库登录模块导致java Jboss安全web服务错误:EJB调用失败   java int(primitive)值未隐式类型转换为long(primitive)   可比Java   javafx Java组合框将不会被填充   java打印链锯v2中的类名、行号和方法名   Debian:OracleJava9(JDK9)无法定位包