余弦相似度
来源:互联网 发布:win7网络发现打不开 编辑:程序博客网 时间:2024/06/05 03:55
- 1余弦相似度
- 2理论推导
- 3一些特征情况分析
在机器学习算法中,有各种方式衡量用户或者物品的距离或者相似度,如曼哈顿距离、欧几里得距离、Pearson相关系数、Jaccard系数等(可参考http://blog.csdn.net/lin00jian/article/details/51209715),我们这里主要详细介绍一下余弦相似度。余弦相似度被广泛用于协同过滤算法中,尤其是Item-base的协同过滤。
1、余弦相似度
余弦相似度衡量的是2个向量间的夹角大小,通过夹角的余弦值表示结果,因此2个向量的余弦相似度为:
分子为向量A与向量B的点乘,分母为二者各自的L2相乘,即将所有维度值的平方相加后开方。
余弦相似度的取值为[-1,1],值越大表示越相似。
2、理论推导
我们以二维向量为例,计算向量
先回顾一下初中的知识,看下图:
我们可以得到公式:
其中:
于是,我们可以得到:
其中A与B表达向量
分子为A与B的点乘,分母为二者各自的L2相乘,即将所有维度值的平方相加后开方。
3、一些特征情况分析
(1)夹角为0度
此时向量A与向量B应该是最相似的,余弦相似度应该为1。按照公式(4),我们计算很容易计算出来
(2)夹角为90度
此时余弦相似度为0。
(3)夹角为180度
此时余弦相似度为-1,2个向量的方向完全相反。
阅读全文
0 0
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- 余弦相似度
- Miscellaneous | 余弦相似度
- 余弦相似度-lintcode
- 余弦相似度
- 【HTTP】Fiddler(二)
- mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
- 2017年第23届中国东北国际建筑装饰博览会会刊(参展商名录)
- websocket开发(类QQ)客服小程序
- Bash 中的特殊字符大全
- 余弦相似度
- tty初探—uart驱动框架分析
- cordova的安装,更新及工程bulid问题的分析和解决
- 学习新的编程语言需要HelloWrold的原因
- Calendar.HOUR_OF_DAY 和 Calendar.HOUR区别
- FileReader除了有函数readAsDataURL,另外还有另外两个函数readAsBinaryString 和 readAsText,分别可以将选择的文件读取成二进制和文本格式
- iOS中的delegate的用法和规范
- ELK+Kafka 企业日志收集平台(二)这是原版
- css实现表单文本框对齐