十二、聚类算法——相似度测量
两套学习资料都类似,可参考聚类算法实战
一、聚类
聚类:物以类聚,人以群分,是无监督学习中的一种。
没有y,只有x,把不同的x根据相似度自动的聚成好多堆儿
本质上,N个样本,映射到K个簇中,每个簇中至少含有一个样本,一个样本只属于一个簇
最基本:先给定一个初始划分,迭代
改变样本和簇的隶属关系,每次都比前一次好
二、相似度用于场景
Ⅰ,系统推荐
两点在二维空间距离公式:
两点在三维空间距离公式:
闵可夫斯基距离公式:
当p=2时,即为欧氏距离;当p=1时,即为曼哈顿距离(Block Distance);当p趋近于∞,即为切比雪夫距离。
Jaccard similarity coefficient,用于比较有限样本集之间的相似性与差异性
Jaccard系数值越大,样本相似度越高
例如:狗蛋儿喜欢1,2,3,4,5
系统给狗蛋儿推荐方案①[1,2,3,6,7,8],方案②[1,2,3]
这两个方案按个推荐的效果好?此时就可以通过Jaccard相似系数来进行比较
方案①:3/8、方案②:3/5
故方案②效果更佳
集合A和集合B相交越多,它的相似性越强,当然要考虑它们并在一起的大小,因为集合越大越可能相交的越多,这就有了Jaccard相似系数
可以度量集合,考虑热门商品
空间嵌入点的问题,有时会用欧式距离,有时会用余弦距离,度量文档相似性
Ⅱ,网页去重、防考试作弊、论文抄袭检查等
Ⅲ,余弦相似度
余弦距离,余弦相似度
余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近;越趋近于-1,他们的方向越相反;越趋近于0,这两个向量几乎正交
最常见的应用是计算文本相似度,将两个文本根据他们的词,来建立两个向量,计算这两个向量的余弦值,就可以知道这两个文本在统计学方法中他们的相似度情况
文档相似度测量考虑推荐SimHash
余弦其实就是Jaccard的分母,看重的是相同的部分,如果是欧氏距离,看重的是差异
Ⅳ,Person相关系数(只能测量线性相关性,1为最相似)和相对熵
①Person相关系数
当该公式中的X^和Y ^为零时,就变成了余弦相似度
两个变量之间的皮尔逊相关系数定义为:两个变量之间的协方差(分子)和标准差(分母)的商
②相对熵
P和Q相同,相对熵为0
相对熵为交集∩,交叉熵为并集∪
十二、聚类算法——相似度测量相关推荐
- 02 聚类算法 - 相似度距离公式、维度灾难
聚类就是对__大量未知标注__的数据集,按照数据__内部存在的数据特征__将数据集划分为__多个不同的类别__,使__类别内的数据比较相似__,__类别之间的数据相似度比较小__. 聚类算法的重点是计 ...
- (十二)算法设计思想之“分而治之”
算法设计思想之"分而治之" 分而治之是是什么 场景一:归并排序 场景二:快速排序 LeetCode:374.猜数字大小 LeetCode:226.翻转二叉树 LeetCode:10 ...
- 新手探索NLP(十二)——文本聚类
简介 聚类又称群分析,是数据挖掘的一种重要的思想,聚类(Cluster)分析是由若干模式(Pattern)组成的,通常,模式是一个度量(Measurement)的向量,或者是多维空间中的一个点.聚类分 ...
- 03 聚类算法 - K-means聚类
02 聚类算法 - 相似度距离公式.维度灾难 二.K-means聚类 给定一个有M个对象的数据集,构建一个具有k个__簇__的模型,其中__k<=M__.满足以下条件: 1.每个簇至少包含一个对 ...
- 排序算法——十大排序算法总结与对比
一.十大排序算法复杂度对比 二.关于排序算法的总结 1.基数排序仅仅适用于整型数的排序,一般不与另外的排序方法一起比较. 2.关于算法的稳定性:不稳定的算法有 "快希选堆"--快速 ...
- 理论+实战,一文详解最常使用的10个聚类算法(附代码)
聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的有趣模式,例如基于其行为的客户群.有许多聚类算法可供选择,对于所有情况,没有单一的最佳聚类算法. 相反,最好探索一系列聚类算法 ...
- 10种Python聚类算法完整操作示例(建议收藏
来源:海豚数据科学实验室 著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 !!文末附每日小知识点哦!! 聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的有趣模 ...
- python 散点图聚类,【聚类算法】10种Python聚类算法完整操作示例(建议收藏
点击上方,选择星标,每天给你送干货! 来源:海豚数据科学实验室著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的 ...
- Python 实操案例:一文详解10种聚类算法
聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的有趣模式,例如基于其行为的客户群.有许多聚类算法可供选择,对于所有情况,没有单一的最佳聚类算法.相反,最好探索一系列聚类算法以 ...
最新文章
- 大数据学习,涉及的知识点
- 给迷茫的Java员一些中肯建议,你还在虚度光阴吗?
- java代码没错却运行不了_Java代码没错误,tomcat能正常运行,但是我的项目主页却一直显示不了,显示404错误...
- 深入理解缓存系统|单机QPS突破千万优化之路
- 女鬼之阴魂不散(C#版)
- ASP.NET MVC 在控制器中获取某个视图动态的HTML代码
- 前端学习(3078):vue+element今日头条管理-分页总页码的实现
- 关于iOS声音识别的框架
- LeetCode 29. Divide Two Integers
- mysql编程游标取值_mysql存储过程中使用游标的实例
- 平衡二叉树——Balance Binary Sort Tree 设计与实现
- 获取网页源代码 python_python 获取网页源代码
- 机器学习:神经网络之表达
- Docker的安装与启动教程
- react中的核心概念
- unhandled exception in MSDEV.EXE(DEVSHL.DLL) :0xC0000005
- IDEA 开启远程调试
- 赏析角度有哪些_名句鉴赏题从哪些角度入手鉴赏?一线名师告诉你:五个角度...
- edge扩展下载失败或edge报错0x80072ee7
- Windows部署静态网站
热门文章
- python的安装包打不开_msiexec无法打开此安装程序包
- 后缀.360.halo勒索病毒-先解密后收费-完整解密.360.halo后缀勒索病毒|勒索病毒解密|勒索病毒恢复|数据库修复
- 使用js修改url地址参数并修改url地址
- CSS设置style属性的3种方法
- scrapy 爬取拉勾网职位信息
- 之江实验室联合一流科技、中国信通院、浙江大学等共同研发天枢平台,今日正式开源!...
- KEIL 编译出现 could not write file
- RHCE 第十二天 搭建小松鼠服务squirrelmail
- 计算机中小数如何储存,小数在内存中是如何存储的?
- 背包问题-01背包问题