KSH算法

KSH算法是一种结合监督学习和核函数的哈希方法,旨在解决线性不可分问题并生成区分性强的哈希值。算法通过随机选择样本构建预测函数,采用梯度下降优化目标函数,最大化类间距离并最小化类内距离。相较于原始LSH,KSH在哈希函数生成、哈希值表示和特征索引上有显著区别,提供更好的检索效率。
摘要由CSDN通过智能技术生成

   这几天看了KSH算法,这篇博客主要是把自己的一些理解记下来,最近记性比较差。。。哈哈

一 KSH算法原理

   KSH算法,出自文章《Supervised Hashing with Kernels》,从文章名字就可以大概了解到,这篇论文提出了一种基于监督学习和核的Hash算法。利用kernel主要是为了解决线性不可分问题,监督学习则是为了学习到更discriminative的hash value,使得我们可以直接使用hash后的value作为特征,大大降低特征维数。

(1) hash函数的生成

    该算法首先随机选取了M个样本(anchor),之后构造了如下式的prediction函数:
    这里写图片描述

  上式中,k代表核函数(论文选择了高斯径向基kernel),得到f(x)后,哈希函数h(x) = sgn(f(x)) 。上式中参数主要是a(b可以化解掉),也是监督学习的目标;
注意,上式只生成了一个bit的hash value,若生成r bit 特征,那么就需要训练r次,生成r组a参数(论文中逐bit生成参数a)。

(2) 目标函数

   在训练中,文章选择

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值