paper:Using the Triangle Inequality to Accelerate  k-means

主要利用三角不等式:第三边小于其他两边之和,那么就找到了上限。

k-means性质:如果通过条件可以知道,那么就不需要知道d(x,c)的值了,从而减少计算量。

公式1:x为某一个数据点,b和c是簇的中心。如果那么

证明:利用,即可得证。

公式2:x为某一个数据点,b和c是簇的中心。那么

因为,而且d是距离,是大于等于0的值。

利用公式1:x为数据点,c为x当前分配的数据簇,是其他中心,根据公式1,可以知道如果,那么,那么没有必要计算.

如果我们知道d(x,c)的上限u,假设,那么,于是就不必计算

利用公式2:假设数据簇的中心点是从1到k,b是属于第j个簇中心点,是第j个簇在前一次迭代的过程中的中心点。如果已知,那么我们可以推出下限l:

综上所述,如果我们找到了d(x,c)的上限u,的下限l,那么

算法简介:

u(x)是x与被分配的中心点的距离,u是该距离的上限,c(x)是x被分配到的中心点,l(x,c)是x到任一中心点c的距离,l是该距离的下限。

重复一下过程,直至收敛:

1、计算s(c)

2、如果u(x)<=s(c(x)),那么根据公式1,x就应该还是分配给当前数据簇,d(x,c(x))小于x到其他中心点的距离。

3、为什么剩下点x会符合这三个条件呢,这是因为如果不符合ii和iii,那么就会符合上述条件2,也就是x不会被分配到其他中心点了。

3a:r(x)是u(x)是否更新的标志,u(x)=d(x,c(x)),如果d改变,那么u也要改变。

如果r(x)==true,说明u(x)已经改变,那么重新计算d(x,c(x)),并令u(x)=d(x,c(x)),否则,不用计算d(x,c(x)),直接用u(x)赋值,d(x,c(x))=u(x)

3b:如果出现d(x,c(x))>l(x,c),表明当前x到分配数据簇的中心点距离比x到其他中心点的下限还要大,那么就表明这个点已经不是x该分配的中心点,故计算d(x,c),更新c(x).

4、计算每个中心点的均值m(c)

5、修改l(x,c),下限。

6、修改u(x),上限。上限会扩大一些,因为,x到c(x)的距离会比u(x)还要小,第三边小于其他两边之和。

7、用均值m(c)替换c.

K-means(tri)利用三角不等式性质加速k-means相关推荐

  1. 从三角不等式到Margin Softmax

    ©PaperWeekly 原创 · 作者 | 苏剑林 单位 | 追一科技 研究方向 | NLP.神经网络 在<基于 GRU 和 am-softmax 的句子相似度模型分类与排序的不等价性&quo ...

  2. 矩阵论:利用Cauchy柯西不等式证明三角不等式

    利用Cauchy柯西不等式证明三角不等式 编者注:作为一个学生,希望所有人都能够免费共享成果,一起进步,为祖国一起做贡献. 第一次写博客,先适应一下. 已知柯西不等式|(x,y)|<=||x|| ...

  3. 三角不等式的解法【初级和中阶辅导】

    前言 廓清认知:由于三角不等式属于超越不等式,故已经不能和解\(x^2+3x+2>0\)这样的代数不等式的解法同日而语,此时必须借助图像来解决:能借助的图像有三角函数的图像,还可以借助三角函数线 ...

  4. 20200915 椭圆范数的三角不等式证明:sqrt(x^T*Q*x)

    椭圆范数的三角不等式证明 实际上,这里没有用到的另一条关于正定矩阵的性质: 正定矩阵一定是对称的,而实对称矩阵一定存在正交矩阵PPP,满足PTQP=P−1QP=IP^TQP=P^{-1}QP=IPTQ ...

  5. 如何利用多核CPU来加速你的Linux命令

    如何利用多核CPU来加速你的Linux命令 原文出处: rankfocus   译文出处: 外刊IT评论 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作--一些无法并 ...

  6. 线性代数(三十八) : 柯西-施瓦茨不等式与三角不等式

    本节介绍欧几里得结构的两个基本不等式 1 柯西-施瓦茨(Cauchy–Schwarz)不等式 对任意向量x,y有: 证明: 观察实变量t的函数: 根据范数的定义,以及标量积的性质可知: 在上式中假定y ...

  7. Schwarz不等式 三角不等式

    内积 定义 ∀x,y∈Rn,⟨x,y⟩=∑ni=1xiyi∀x,y∈Rn,⟨x,y⟩=∑i=1nxiyi\forall \mathbf{x}, \mathbf{y} \in \mathbb R^n, ...

  8. Sysweld笔记:利用稳态算法加速算法模拟焊接过程的残余应力

    作者:贾亚波博士,仿真秀专栏作者 在进行热力耦合的仿真过程中,如果模型足够的长并且热源速度恒定,通常其热学,相变以及热力耦合都会达到稳态的过程,因此如何直接计算稳态问题成为了大家研究的热点问题. 由于 ...

  9. 如何写出运行速度更快的代码:软件篇——加速k均值的代码(OpenMP)

    介绍 并发concurrency VS 并行parallelism 解决问题的步骤 了解当前状态 内在表示 找到替代办法 从替代办法中选择符合的 转载请注明出处:http://blog.csdn.ne ...

  10. 利用python—matplotlib绘制股票K线图

    利用python-matplotlib绘制股票K线图 成品展示: 用Python绘制股票K线图并不复杂,不过得做好一些准备工作例如相关库的安装,库的引入.日期格式的调整and表格转换 文章目录 利用p ...

最新文章

  1. 语言输出换行符号是什么_世界上最难的5种编程语言
  2. java异常处理好习惯
  3. 前端性能优化之jQuery按需加载轮播图
  4. Linux命令(32):rar命令-解压
  5. [Android Pro] adb 进入 recovery, adb 进入 bootloader
  6. 复现经典:《统计学习方法》第14章 聚类方法
  7. k8s pod应用升级回滚(set image/rollout)和弹性伸缩(scale)示例
  8. Polygon for the Angle
  9. 位运算 c语言 头文件 linux,1. 位运算_C语言_C语言入门-Linux C编程一站式学习...
  10. android sqlite alert table,android sqlite数据库操作
  11. springmvc中@RequestMapping的使用
  12. 卷积核旋转180度理解
  13. UML建模之状态图(Statechart Diagram)
  14. python编程软件哪个好-有哪些值得推荐的 Python 开发工具?
  15. EasyUI 的Tab 标签添加右键菜单
  16. windows 下pcl的安装和编译
  17. 车道线检测数据集介绍
  18. 【LabVIEW】基于LabVIEW的俄罗斯方块小游戏
  19. 手机TF 卡 无法读取,提示需要格式化
  20. 基于股票大数据分析的Python入门实战(实践记录)(持续更新)

热门文章

  1. pymol怎么做底物口袋表面_高质量PyMOL作图教程
  2. 多项式计算的Horner方法
  3. Oracle 工具篇+Oracle Remote Diagnostic Agent(RDA)
  4. 什么?都1202年了还不懂k8s和容器的关系?!这份k8s指南快拿走不谢!
  5. latex normal是几号字_Latex之字体 | 学步园
  6. php dingo和jwt,三、Laravel5.4+Dingo+JWT 开发API
  7. 关于单体应用的简单讲解
  8. 数字逻辑电路——第四章 组合逻辑电路
  9. Crucile-协作式代码审查
  10. 文件怎么设置密码?一文带你看到文件加密的方法