聚类

  • 1.K-mean
  • 2.系统聚类
  • 3.DBSCAN聚类算法

聚类:无监督学习,将相似的样本聚为一类。核心如何定义相似。
分类:有监督学习,依据分类准则,将样本划分为不同的类。核心分类器的设计(KNN)

聚类:根据彼此不同的属性进行辨认,将具有相似属性的事物聚为一类,使得同一类的事物具有高度的相似性。

1.K-mean

  1. 随机选取k个类别中心
  2. 计算每个样本点到每个中心的距离,将样本归类到距离最近的类中。
  3. 依据每个类的样本更新类中心
  4. 重复2,3直至类中心变化小于某个阈值。

K-meas 算法的优点:简介快速,时间复杂度O(nkt)
K-meas 算法的缺点:需要预先知道/设定聚类数量k

2.系统聚类

自底向上的一种方法:初始时,各个样本自成一类,依据定义的相似度,每次合并一个类,不断向上合并直至到达设定了类别数

  1. 定义样本间距离和类间距离的计算方法,每个样本自成一类
  2. 计算任意两个类间距离,将距离最短的两个类合并
  3. 重复步骤2直至聚为k类

样本间距离:欧几里得距离、均方距离、曼哈顿距离(1范数)、余弦距离、最大距离(无穷范数)
类间距离:最大距离、最小距离、平均距离、离差平方和距离

系统聚类的优点:灵活定义的距离对昂使得他有广泛的适用性
系统聚类的缺点:时间复杂度高,一般为o(n3)o(n^3)o(n3)。

3.DBSCAN聚类算法

DBSCAN:density-based spatial clustering of applications with noise
将类定义为:密度相连的点的最大集合,通过在样本空间中不断寻找最大集合从而完成聚类
有几个基本定义:ϵ\epsilonϵ领域,核心对象,直接密度可达,密度可达,密度相连

密度可达是直接密度可达的传递闭包

  1. 定义半径ϵ\epsilonϵ和MinPts
  2. 抽取未被访问的样本点q
  3. 检验是否为核心对象,是-进入步骤4,否-返回步骤2
  4. 找出该样本点所有密度可达的对象,构成聚类CqC_qCq​.
  5. 重复步骤2,直至所有样本点都被访问过一遍

能在带噪声的样本空间中发现任意形状的聚类并排除噪声

DBSCAN聚类的优点:能够过滤低密度区域,发现稠密样本点。不需要制定聚类数,可以过滤噪声,时间复杂度o(nlog⁡n)o(n\log n)o(nlogn)

(概念稍微复杂点的一个聚类算法)

MachineLearning(10)-聚类相关推荐

  1. 数学建模-10.聚类

    聚类 注意聚类和分类的区别:分类是已知类别,聚类未知 K-means算法原理及主要流程 K-means聚类的算法流程: 一.指定需要划分的簇[cù]的个数K值(类的个数); 二.随机地选择K个数据对象 ...

  2. Machine Learning List

    MachineLearning(1)-激活函数sigmoid.损失函数MSE.CrossEntropyLoss MachineLearning(2)-图像分类常用数据集 MachineLearning ...

  3. 聚类,k-mean方法,基于密度的方法:DBSCAN,孤立点检测——数据分析与R语言 Lecture 10

    聚类,k-mean方法,基于密度的方法:DBSCAN,孤立点检测--数据分析与R语言 Lecture 10 聚类 dist( )函数 各种类与类之间距离计算的方法 动态聚类:K-means方法 kme ...

  4. matlab对手写数字聚类的方法_scikitlearn — 聚类

    可以使用模块sklearn.cluster对未标记的数据进行聚类.每个聚类算法都有两种变体:一个是类(class)实现的 fit方法来学习训练数据上的聚类:另一个是函数(function)实现,给定训 ...

  5. 聚类方法:DBSCAN算法研究

    DBSCAN聚类算法三部分: 1.        DBSCAN原理.流程.参数设置.优缺点以及算法: http://blog.csdn.net/zhouxianen1987/article/detai ...

  6. 机器学习之聚类算法——聚类效果评估可视化

    我曾在机器学习之聚类算法应用篇中介绍过,聚类算法常使用轮廓系数来评估聚类效果,不过有时候并不是轮廓系数越大越好,如下面两幅图所示,图中的红色虚线表示聚类系数分数: 显然将簇数据设置为2的时候得到的轮廓 ...

  7. seurat使用笔记(数据处理、PCA、聚类)

    一.数据前处理 #保持好习惯,先清空一下环境,设置保存路径 rm(list = ls()) setwd("") 1.数据读取 载入包 #载入程辑包 #multtest包安装tips ...

  8. 聚类方法:DBSCAN算法研究(1)--DBSCAN原理、流程、参数设置、优缺点以及算法

    DBSCAN聚类算法三部分: 1.        DBSCAN原理.流程.参数设置.优缺点以及算法: http://blog.csdn.net/zhouxianen1987/article/detai ...

  9. 聚类方法:DBSCAN算法研究(2)--matlab代码实现

    DBSCAN聚类算法三部分: 1.        DBSCAN原理.流程.参数设置.优缺点以及算法: http://blog.csdn.net/zhouxianen1987/article/detai ...

最新文章

  1. mysql 去掉日期.0_简单介绍MySQL数据库中日期中包含零值的问题
  2. pip virtualenv requirements
  3. 【Python小脚本】实现王者农药自动刷金币啦~啦啦啦走跟我一起组队~
  4. Mysql在Windows上离线安装与配置
  5. NYOJ 103 A+B Problem II
  6. mysql开启binlog启动慢_mysql的binlog和slow_log慢日志
  7. 最小生成树之prim算法
  8. configparser操作配置文件
  9. 为什么都反对XML而支持使用json呢?
  10. iphone app开发实战很重要:《iPhone App开发实战手册》读后感
  11. 软件开发版本管理规范
  12. 国外最顶级的人工智能网站资源
  13. 计算机现在追寻谁的原理,一路追寻-CS考研经验总结_计算机与软件_考研论坛(kaoyan.com)...
  14. matlab wmaxlev函数,CT-PET小波图像融合在精确放射治疗应用研究
  15. 数据库系统—数据查询
  16. Kong Rate Limiting 插件详解
  17. 初等代数(2):不等式、数列与简单级数、阶乘、排列组合、二项式与多项式
  18. 网页下载Google Play 的App
  19. C++数字图像处理篇之图像加马赛克
  20. ise 时钟约束_在ISE下分析和约束时序

热门文章

  1. signal(SIGPIPE, SIG_IGN);
  2. Vxworks系统学习之一----任务
  3. C++设计模式之 简单工厂模式讲解(历史上最简单明白的例子)
  4. java 输出流_Java中输入输出流方法总结
  5. MySQL笔记——外键约束和表关系(一对一,多对一,多对多)
  6. php mvc 路由,PHP手写MVC (五)—— 路由
  7. 【JS 逆向百例】复杂的登录过程,最新微博登录逆向
  8. java character是什么意思_Java Character 类
  9. java大神请出来_求java大神,请分析以下代码,写出执行结果,并解释每行结果输出的原因。...
  10. 【Python学习】 - 超详细的零基础Pandas学习(附Python数据分析与应用课本第四章实训答案)