数学之路(3)-机器学习(4)-综合应用-余弦相似度

我用VB.NET制作了一个小程序,程序的功能是根据源图比较2张图哪张与源图更相似,完成对图片特征码的计算后,使用余弦相似度对2个图片进行比较,比较代码如上,两个向量间的余弦值可以很容易地通过使用欧几里得点积和量级公式推导:

鉴于两个向量的属性, A 和B的余弦相似性θ用一个点积形式来表示其大小,如下所示:

产生的相似性范围从-1到1:-1意味着两个向量指向的方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中度的相似性或相异性。

本博客所有内容是原创,未经书面许可,严禁任何形式的转载。

http://blog.csdn.net/u010255642

 

转自我的另一个ITEYE的博客

数学之路(3)-机器学习(4)-综合应用-余弦相似度_第1张图片

数学之路(3)-机器学习(4)-综合应用-余弦相似度_第2张图片

数学之路(3)-机器学习(4)-综合应用-余弦相似度_第3张图片

 

 

 

    '计算相似度,使用余弦公式
        Dim tzbj_fz_2 As Double = 0.0
        Dim tzbj_fma_2 As Double = 0.0
        Dim tzbj_fmb_2 As Double = 0.0
        For myii As Integer = 0 To pic1tz.GetUpperBound(0)
            If IsNothing(pic1tz(myii)) Then
                Exit For
            End If
            tzbj_fz_2 += pic1tz(myii) * pic2tz(myii)
            tzbj_fma_2 += pic1tz(myii) * pic1tz(myii)
            tzbj_fmb_2 += pic2tz(myii) * pic2tz(myii)
        Next
        xsd = tzbj_fz_2 / (tzbj_fma_2 + tzbj_fmb_2 - tzbj_fz_2)
        xsd1.Text = xsd.ToString("P")

你可能感兴趣的:(机器学习,人工智能)