首页 > 编程知识 正文

欧氏距离与双曲距离换算公式,若c上的点到l的距离

时间:2023-05-03 13:42:21 阅读:173561 作者:7

在特征量对照时,有时求出两个特征向量之间的相似度。 以下代码求出两个特征向量的幻想小蚂蚁的距离,转换成相似度的几行代码。

1 .相似度一般在0-1之间,但由于虚幻的小蚂蚁可能会增加距离,所以首先将特征向量归一化在0-1之间。

2 .求幻想小蚂蚁的距离

3 .欧式距离越大,相似度越低,所以后来用一个公式进行了变换。

floatCMP_featLV2(constvoid*_f1,const void* _f2 ) constfloat*pf1=(float* ) _F1,*pf2=) float * _ ) float temp=0.0; float ptemp1[256]={0.0}; float ptemp2[256]={0.0}; //首先将特征值归一化到0-1之间。float norm1=0.0; float norm2=0.0; for(autoI=0; i 256; I ) {norm1 =pf1[i] * pf1[i]; norm2 =pf2[i] * pf2[i]; }norm1=sqrt(norm1); //求出向量的模norm2=sqrt(norm2)//求出向量的类型for (autoi=0; i 256; I ) {ptemp1[i]=pf1[i]/norm1; ptemp2[i]=pf2[i]/norm2; //求出欧式距离for (autoi=0; i 256; I ) ) temp=(* (ptemp1[i] - ptemp2[i] ) ) ptemp1[I]-ptemp2[I]; }c=sqrt(temp ); 返回(1/) 1c ); (欧式距离越大,相似度就越小,所以有必要将欧式距离转换为相似度。 }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。