SemiSupHash.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:LearnHash 作者: galad-loth 项目源码 文件源码
def TrainSSHNOPL(data, dataL, adjMat, nbit, eta, rau):
    datamean=npy.mean(data, axis=0)
    data=data-datamean
    dataL=dataL-datamean
    covMatU=npy.dot(data.T, data)
    covMatL=npy.dot(dataL.T, npy.dot(adjMat, dataL))
    covMat=eta*covMatU+(1-eta)*covMatL    
    eigVals, eigVecs=npy.linalg.eig(covMat)    
    idxSort=npy.argsort(npy.abs(eigVals))

    rau=npy.max([rau, npy.max([0, -npy.abs(eigVals[idxSort[0]])])])
    covMatReg=(covMat+rau*npy.eye(covMat.shape[0]))
    matL= linalg.cholesky(covMatReg, lower=False)
    nbit=npy.min([nbit,data.shape[1]])
    projMat=npy.dot(matL, eigVecs[:,idxSort[-1:-nbit-1:-1]])
    modelSSH={"datamean":datamean, "projMat":projMat}
    return modelSSH
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号