4.2 机器学习 —— KNN & K-Means

2020-03-26  本文已影响0人  双听

这是一篇李航老师《统计学习方法(第二版)》中KNN和K-Means部分的阅读笔记,文中用到了一些书中的表述和自己的理解。

1. KNN(k 近邻算法)

1)是什么

  这是一个分类算法,输入是实例的特征向量,输出为实例的类别。首先,我们有一个训练集,它是有标注的;对于一个新输入的实例,我们在训练数据集中找到与该实例最近的k个实例,然后在这k个实例中进行多数表决,最终确定新实例的类别。

2)为什么

  k 近邻算法的三个基本要素是:

3)怎么做

  其实通过上面的描述也可知,当数据量非常大的时候,主要的时间消耗是 k 近邻搜索,仍然使用线性搜索的方式的话,时间开销太大。为了提高 k 近邻搜索的效率,可以考虑使用特殊的结构存储训练数据,以减少计算距离的次数,下面介绍 kd 树(kd tree)方法。
  kd 树是一种对 m 维空间中的实例点进行存储以方便对其进行快速检索的树形数据结构。kd 树是一个二叉树,表示对 m 维空间的一个划分(partition)。构造 kd 树相当于不断地用垂直于坐标轴的超平面将 m 维空间进行切分,构成一系列的 m 维超矩形区域。kd 树的每个节点对应于一个 m 维超矩形区域。

  构造方式如下:

  搜索方式如下:

问:如果想要最优,需要什么树结构?B+树?红黑树?

2. K-Means(k 均值聚类)

1)是什么

  k 均值聚类是基于样本集合划分大的聚类算法。k 均值聚类将样本集合划分为 k 个子集,构成 k 个类,将 n 个样本分到 k 个类中,每个样本到期所属类的中心的据里最小。每个样本只能属于一个类,所以 k 均值聚类是硬聚类。分几个模块介绍:

2)为什么
3)怎么做

  但由于这是一个组合优化问题,n 个样本分到 k 类的可能分法有指数级个。k 均值聚类的最优求解问题是 NP 难问题,现实中采用迭代的方法进行求解。

上一篇 下一篇

猜你喜欢

热点阅读