机器学习之聚类(基本知识点整理)

无监督学习

无监督学习是机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入数据进行分类或分群。
无监督学习的优点:
①算法不受监督信息(偏见)的约束,可能考虑到新的信息。
②不需要标签数据,极大程度上扩大数据样本
主要应用:聚类分析、关联规则、维度缩减

应用最广的是:聚类分析(clustering)

聚类分析

聚类分析又称为群分析,根据对象的某些属性的相似度,将其自动化分为不同的类别。简要举几个例子:客户划分(商业)、基因聚类(生物)、新闻关联

常用的聚类算法

KMeans聚类(K均值聚类)

KMeans聚类根据数据与中心点距离划分类别,基于类别数据更新中心点,重复过程直到收敛。
特点:
1、实现简单,收敛速度快
2、需要指定类别数量
K-均值算法:以空间中K个点为中心进行聚类,对最靠近它们的对象归类,是聚类算法中最为基础但也最为重要的算法。

步骤:
1.数据点与各簇中心点距离: d i s t ( x i , u j t ) dist\left( x_i,u_{j}^{t} \right) dist(xi,ujt)
2.根据距离归类: x i ∈ u n e a r e s t t x_i∈u_{nearest}^{t} xiunearestt
3.中心更新; u j t + 1 = 1 k ∑ x i ∈ s J ( x i ) u_{j}^{t+1}=\frac{1}{k}\sum_{x_i∈s_J}{\left( x_i \right)} ujt+1=k1xisJ(xi)
S j : S_j: Sj:t时刻第 j j j个区域簇; k k k包含在 S j S_j Sj范围内点的个数; x i x_i xi包含在 S j S_j Sj范围内的点; u j t + 1 u_{j}^{t+1} ujt+1 t t t状态下第 j j j区域中心
算法流程:
1.选择聚类的个数k
2.确定聚类中心
3.根据点到聚类中心聚类确定各个点所属类别
4.根据各个类别数据更新聚类中心
5.重复以上步骤直到收敛(中心点不再变化)

K近邻分类模型(KNN)

给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类就把该输入实例分类到这个类中。(最简单的机器学习算法之一)

均值漂移聚类(Meanshift)

首先在中心点一定区域检索数据点,更新中心,重复流程到中心点稳定。
特点:
1.自动发现类别数量,不需要人工选择
2.需要选择区域半径
算法流程:
1.随机选择未分类点作为中心点
2.找出离中心点距离在在带宽之内的点,记作集合S
3.计算从中心点到集合 S中每个元素的偏移向量M
4.中心点以向量M移动
5.重复步骤2-4,直到收敛
6.重复1-5直到所有的点都被归类
7.分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。

DBSCAN算法(基于密度的空间聚类算法)

基于区域点密度筛选有效数据,基于有效数据向周边扩张,直到没有新点加入
特点:
1.过滤噪声数据
2.不需要人为选择类别数量
3.数据密度不同时影响结果
DBSCN需要两个参数:扫描半径(eps)和最小包含点数(minPts)。任意选一个未被访问(unvisited)的点开始,找出与其距离在eps之内(包括eps)的所有附近点。如果附近点的数量≥minPts,则当前点与其附近点形成一个簇,并且出发点被标记为已访问(visited)。然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。
如果附近点的数量<minPts,则该点暂时被标记作为噪声。
如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。

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