本篇文章主要是参考周志华老师的《机器学习》(西瓜书)其中的部分章节,做一个知识的快速整理和简单理解,因为本篇博客时间有限,所以只是记录一下对相关方法的大概知识点,所以这几部分内容就综合在一起进行一个记录,主要是做了解用。
聚类
聚类属于 无监督学习方法 ,其是想要寻求数据内在的分布结构,也可以用作分类等用途。例如商业应用中对新用户的类型进行判别,但是直接判别不是很同意,通常是先对用户数据进行聚类,形成簇以后再对这些类别进行分类器的训练,用来判定新用户的类型。
性能度量
- 外部指标: 将聚类结果与某个“参考模型”进行比较的指标。例如,Jaccard 系数,FM 指数,Rand 指数
- 内部指标: 直接考察聚类效果,不利用任何参考模型。例如,DB指数,Dunn指数。
距离计算
这里主要就是我们所熟知的闵可夫斯基距离度量公式:
d
i
s
t
(
x
i
,
x
j
)
=
(
∑
u
=
1
n
∣
x
i
u
−
x
j
u
∣
p
)
1
p
dist\left ( x_i,x_j \right )=\left ( \sum_{u=1}^{n}\left | x_{iu}-x{ju} \right |^p \right )^\frac{1}{p}
dist(xi,xj)=(u=1∑n∣xiu−xju∣p)p1
这里主要需要提一点就是,当某些属性不可直接用作距离计算时,例如 {飞机,火车,轮船}
这种离散属性,称为 无序属性,相应的可直接用于距离度量的属性称为 有序属性。
对于无序属性,可以用 VDM (Value Difference Metric),即
m
u
,
a
,
i
m_{u,a,i}
mu,a,i 表示第 i 个样本簇中属性
u
u
u 上取值为
a
a
a 的样本数,
m
u
,
a
m_{u,a}
mu,a 表示属性
u
u
u 上取值为
a
a
a 的样本数,
k
k
k 为簇的数量。
V
D
M
p
(
a
,
b
)
=
∑
i
=
1
k
∣
m
u
,
a
,
i
m
u
,
a
−
m
u
,
b
,
i
m
u
,
b
∣
p
VDM_{p}\left ( a,b\right ) = \sum_{i=1}^{k} \left | \frac{m_{u,a,i}}{m_{u,a}} - \frac{m_{u,b,i}}{m_{u,b}}\right |^p
VDMp(a,b)=i=1∑k∣∣∣∣mu,amu,a,i−mu,bmu,b,i∣∣∣∣p
如果样本属性为混合属性,既有有序属性也有无序属性,则将上述两种距离度量结合即可。
原形聚类
K-means 聚类
思路:
-
- 随机从样本中选择 k 个簇类中心,然后根据欧式距离来计算样本点距离各个簇类中心的距离,将样本点划分到与其距离最近的簇内,遍历完所有样本点。
-
- 得到 k 个簇,这时计算簇内的均值向量,根据 k 个新计算得到的均值向量
-
- 重复上述步骤 1 和 2,直至簇的划分不结果不再发生改变则停止迭代。
高斯混合聚类
这种方法时采用概率模型的方法,假设数据分布是由 k 个混合高斯分布组成的。
-
- 先随机初始化 k 个高斯混合模型的模型参数(均值,协方差矩阵,混合系数)
-
- 依次计算每一个样本点对应各个混合成分的后验概率,根据最大的后验概率划分入簇内
-
- 划分完毕后,根据得到的簇计算新的模型参数(均值,协方差矩阵,混合系数)
-
- 重复 2,3 步骤直至簇内划分不再变化
密度聚类
主要提到的是 DBSCAN 算法,首先需要明确几个概念,再理解起来这个聚类算法就不是很难了。
- ϵ \epsilon ϵ-邻域:DBSCAN 会给定一个 ϵ \epsilon ϵ 阈值, ϵ \epsilon ϵ-邻域是包含所有样本中到 目标样本距离不大于这个阈值的样本子集。
- 核心对象:DBSCAN 会给定一个最少样本数,如果某个样本的 ϵ \epsilon ϵ-邻域 中样本数量大于给定的最少样本数,则当前样本为一个核心对象。
- 密度直达,密度可达,密度相连相关概念。
算法思路方面: -
- 首先根据设定的模型参数( ϵ \epsilon ϵ 阈值,最小样本数)得到核心对象的集合 D D D
-
- 随机取一个核心样本,然后计算其密度可达的最大范围内所包含所有样本,如果其中包含核心样本,则将被包含的核心样本从 核心样本集合 D D D 中剔除。
-
- 随机再从剩下的集合 D D D 中取一个值,重复步骤 2,直至核心样本 D D D 为空,最后得到的簇类结果即为最后聚类结果。
层次聚类
一般是指以 AGNES 为代表的聚合算法,以自底而上的的聚合层次算法,,根据合并的距离计算不同分为,最小距离,最大距离,平均距离,相应的算法称为 单链接,全链接,均链接算法。先将数据中的每一个样本都看作一个初始聚类簇,然后算法每一步找距离最近的两个聚类簇进行合并,不断重复,直到达到预设的聚类簇个数。
降维
降维算法主要有: PCA,核PCA,流行学习(Isomap算法,局部线性嵌入(LLE),拉普拉斯特征映射(LE)等),度量学习(马氏距离,得到权重矩阵,可以进行特征值分解成低秩的矩阵,达到降维效果)
还有就是聚类,编码器等。
贝叶斯分类器
主要是根据给定的样本属性,直接计算出相应的后验概率,根据假设条件的不同,假设样本间相互独立的强假设就是朴素贝叶斯分类器,而假设条件只考虑其中一部分属性间的互相依赖信息则为半朴素贝叶斯分类器。