网站正在建设页面模板,鹤壁建设网站,外贸公司建网站一般多少钱,德州市住房建设局网站最近邻问题(NN) 将次数看成向量#xff0c;然后我们就可以比对向量的距离(欧式距离#xff0c;余弦距离)。数据中会有一些异常点#xff0c;这些异常点会导致结果的不稳定。这种思想非常的不稳定#xff0c;因为他只基于一个样本来做最后类别的判定。K最近邻算法(NN K…最近邻问题(NN) 将次数看成向量然后我们就可以比对向量的距离(欧式距离余弦距离)。数据中会有一些异常点这些异常点会导致结果的不稳定。 这种思想非常的不稳定因为他只基于一个样本来做最后类别的判定。 K最近邻算法(NN KNN) 少数服从多数。 距离准则 Jaccard并不是每个人都会点击或者购买这么高强度的行为因为购买是需要花钱的。我们能采集到的数据量比较的数据实际上是用户的一些隐性的行为比如他在这个页面停留了多久(时间阈值比如30秒)超过阈值我就认为他有兴趣。它不像打分数据一样有严格的连续值比如0-10这样一个严格的连续取值它只有01有或没有的这种行为看过或没看过感兴趣或不感兴趣。Jaccard是算两个向量共同是1的部分或者共同是0的部分。 近似最近邻算法(KNN ANN) 预先对数据做划分会面临一个问题可能会划分错误无论怎么划分都有可能将本身比较接近的一些点给划分开。所以他会损失掉一部分准确度当然这部分损失在你的承受范围内的。在损失一些准确度的情况下用一部分的空间去提升速度实际上就是预先对数据做了划分和索引。这种操作在工业界并不是致命的比如淘宝上的找相似或者找同款功能。 局部铭感度哈希 生成2进制串保证距离特性 在高维空间比较接近的会落到同一个桶里面。 LSH第一步做哈希即把这些图片都分完桶了LSH映射完之后他会拿到你指定的个数的例如指定的是k那它就会拿到kbit的串意味着你掉到了kbit这样一个串的桶里面。第一步是映射映射做的事情就是对原始给定的高维向量做一个映射得到映射拿到的桶ID号。 第二步检索检索做的是首先他会去找桶里面其他的数据LSHash这个库检索回来的张数是不确定的。当新的数据过来时通过第一步的映射一样会拿到一个桶的编号到这个桶里面看看有多少张图片将这个桶的图片取出来计算看满不满足要求如果桶里的图片不够LSHash保证不了个数所以这个库解决不了这个问题。在不够的情况下通过计算二进制串的汉明距离将与他汉明距离为1的这些桶编号全都拿回来。如果汉明距离为1的不够怎么办它再取汉明距离为2的桶。、 注意你要小心的设置LSH 他映射到的空间维度你要根据你的样本量大致的估一下或者做测试。 lSH的直观理解 像左图中的c点划分错误的情况下你想让你的检索尽量的准确怎么办这个事情是可以做的需要付出的代价是你计算资源或时间的成本可以采用多次划分的方式然后根据这几个超平面的检索结果取他们的并集。 LSH之相似网页查找 词(特征)的权重是指这个词对这句话的重要度(tf-idf)。乘以权重时原来是1的位置直接乘以权重原来是0的位置用-1乘以权重。 有用的理由如果现在去掉灰色这个词对最后的结果的正负性没有影响只有你去掉那些词的时候对结果的正负性可能会有影响呢是不是w权重比较大的词就是说如果在原来的文本中剔除一些或者加入一些不是那么重要的字的话那我认为没有影响除非你剔除或加入额外分词重要的词那这个时候可能就会认为这是不同的句子。 SimHash可用库 LSH常用库 ANN之K-means Tree 每个非叶子节点都是一个簇的聚类中心点。 如果你现在要找回Top 2T如果不满足他会怎么做呢他会回溯回去回溯到上一级大团然后去找聚类中心第二接近的因为聚类中心他们总会有一个远近所以他会对他们做一个排序(rank)拿出来那些比较接近的小的簇然后再去求并。 ANN之K-D Tree DT决策树它在做的事情是去找一个波动最大的维度为什么要找方差最大的维度方差最大的维度意味着这个维度上的熵比较大或者是他的不确定性比较高他的信息增益比较大也就是他能够给我带来减小不确定的可能性最大。 二维用线做切分 三维用面做切分从三个维度中找哪个是波动/方差最大的。 假设现在要与(6,1)最接近的3个点首先是第一个维度6在7的左侧然后顺着左侧往下走紧接着第二个维度1判断在4的左侧还是右侧在左侧找到了(2,3)是离她最接近的点。然后沿着(2,3)这个叶子节点回溯到父节点(5,4)计算加上父节点满不满足3个不满足父节点还有一侧(4,7)再计算加上这个节点满不满足3个发现满足就不再回溯到上一个父节点。 K-means Tree VS K-D Tree 工程经验之ANN库