无监督学习算法(上)| 学习笔记

简介: 快速学习无监督学习算法(上)

开发者学堂课程【机器学习概览及常见算法无监督学习算法(上)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/529/detail/7123


无监督学习算法(上)

 

内容简介:

1 、什么是无监督学习

2 、聚类算法

3、 K-Means

4 、实现步骤图示

5 、实现伪码

6、 K -Means 优缺点

 

1 、什么是无监督学习

无监督学习( Unsupervised learning ) : 从无标记的训练数据中推断结论。其特点为输入数据(训练数据)不存在明确的标识或结果(标签)。

常见的无监督学习为聚类 , 即发现隐藏的模式或者对数据进行分组。

即计算机根据我们提供的材料“自动”学习, 给定数据,寻找隐藏的结构或模式。

 

2 、聚类算法

聚类:就是将相似的事物聚集在一起 ,而将不相似的事物划分到不同的类别的过程。它是一种探索性的分析,不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。

有未知分类的鸢尾花的测量数据,包括萼长、萼宽、瓣长、瓣宽,根据这些测量数据,将类似的测量记录归类(同种花的测量数据具有类似的特征)。需使用聚类实现"自动”学习。

常见算法:层次聚类、划分聚类、基于密度的聚类

 

3 、K-Means

K-Means 即 K 均值聚类,属于划分聚类。其工作原理为根据初始化的聚类中心信息,计算每个样本到这些中心的距离,可以判断每个样本均归属于某个类簇,更新聚簇中心信息,重新计算每个样本到新的聚类中心的距离,重新划分样本到新的聚类中心对应的类中,重复进行,直到满足终止条件。

有N个样本点,使用K-Means将其聚类的步骤:

Step1:确定聚类的个数k,并指定k个聚类的中心 C1,C2..Ck

Step 2 :计算每个样本S;点到k个中心的距离,并将该点归入最近的C类中其中,ie(1,N),j∈(1,k)

Step 3 :重新计算k个类簇的中心点,更新原有中心点的位置 C1,C2..Ck

Step4 :重复步骤 Step 2、Step 3 ,直到中心点位置不再变化或者变化幅度小

约定阈值,或者达到预定义的最大循环次数,结束。得到最终聚类结果

 

4 、实现步骤图示

第一步,确定聚类个数,确定聚类中心,确定距离计算公式

观察法  枚举法  其他技术手段

第二步,计算每个点和聚类中心的距离,归类

第三步,计算当前类簇中心,更新聚类中心Ck的位置

重复第二步,将各样本S;点根据新聚类中心Ck进行重新划分

重复第三步,根据最新聚类计算聚类中心,更新中心C取值

重复第二步,重复第三步,直到聚类中心位置不再发生变化,

或者循环次数达到预先设定的阈值,结束,得到最终聚类结果

 

5 、实现伪码

选择 k 个点作为初始类簇中心

repeat

将每个样本点指派到最近的类簇中心,形成k个类簇

重新计算每个类簇的中心

until 类簇不发生变化 or 达到最大迭代次数

 

6 、K -Means 优缺点

优点:

原理简单,容易理解,容易实现

聚类结果容易解释

聚类结果相对较好

缺点:

分类个数k需要事先指定,且指定的k值不同,聚类结果相差较大

初始的k个类簇中心对最终结果有影响,选择不同,结果可能会不同

能识别的类簇仅为球状,非球状的聚类效果很差

样本点较多时,计算量较大

对异常值敏感 ,对离散值需要特殊处理

相关文章
|
1月前
|
算法 搜索推荐 测试技术
python排序算法及优化学习笔记1
python实现的简单的排序算法,以及算法优化,学习笔记1
33 1
|
1月前
|
机器学习/深度学习 运维 算法
机器学习的魔法(三)解析无监督学习的黑科技,揭秘新闻话题背后的神奇算法
机器学习的魔法(三)解析无监督学习的黑科技,揭秘新闻话题背后的神奇算法
|
5月前
|
机器学习/深度学习 自然语言处理 算法
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)2
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)
110 0
|
5月前
|
机器学习/深度学习 算法 数据可视化
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)1
Python预测 数据分析与算法 学习笔记(特征工程、时间序列)
71 0
|
7月前
|
存储 算法 关系型数据库
|
7月前
|
机器学习/深度学习 存储 算法

热门文章

最新文章