机器学习基础-分类算法

k近邻算法KNN

样本在特征空间中的k个最相似的样本中的大多数属于某一个类别,则该样本属于这个类别

k近邻算法需要做标准化处理

距离的计算公式

1.闵可夫斯基距离

 

机器学习基础-分类算法

  • 欧式距离 

p=2

机器学习基础-分类算法

  • 曼哈顿距离

p=1

机器学习基础-分类算法

  • 切比雪夫距离

当p接近与无穷大时

机器学习基础-分类算法

闵可夫斯基距离比较直观,但是它与数据的分布无关,具有一定的局限性,如果 x 方向的幅值远远大于 y 方向的值,这个距离公式就会过度放大 x 维度的作用。所以,在计算距离之前,我们可能还需要对数据进行 z-transform 处理,即减去均值,除以标准差

机器学习基础-分类算法

2.马氏距离

马氏距离是利用Cholesky transformation 来消除不同纬度之间的相关性和尺度不同的性质。

机器学习基础-分类算法

  1. 假设样本点之间的协方差对称矩阵是机器学习基础-分类算法
  2. 通过Cholesky transformation可以转化为下三角矩阵和上三角矩阵的乘积:机器学习基础-分类算法
  3. 样本处理:机器学习基础-分类算法
  4. 马氏距离计算:机器学习基础-分类算法

3.向量内积

  • 余弦相似度

机器学习基础-分类算法

余弦向量受到向量平移的影响

  • 皮尔逊相关系数 

​​​​​​​机器学习基础-分类算法

4.分类数据点间的距离

5.序列之间的距离

6.概率分布之间的距离

  • KL散度

先从信息熵说起,假设一篇文章的标题叫做“黑洞到底吃什么”,包含词语分别是 {黑洞, 到底, 吃什么}, 我们现在要根据一个词语推测这篇文章的类别。哪个词语给予我们的信息最多?很容易就知道是“黑洞”,因为“黑洞”这个词语在所有的文档中出现的概率太低啦,一旦出现,就表明这篇文章很可能是在讲科普知识。而其他两个词语“到底”和“吃什么”出现的概率很高,给予我们的信息反而越少。如何用一个函数 h(x) 表示词语给予的信息量呢?第一,肯定是与 p(x) 相关,并且是负相关。第二,假设 x 和 y 是独立的(黑洞和宇宙不相互独立,谈到黑洞必然会说宇宙),即 p(x,y) = p(x)p(y), 那么获得的信息也是叠加的,即 h(x, y) = h(x) + h(y)。满足这两个条件的函数肯定是负对数形式:

机器学习基础-分类算法

对假设一个发送者要将随机变量 X 产生的一长串随机值传送给接收者, 接受者获得的平均信息量就是求它的数学期望:

机器学习基础-分类算法

这就是熵的概念。另外一个重要特点是,熵的大小与字符平均最短编码长度是一样的(shannon)。设有一个未知的分布 p(x), 而 q(x) 是我们所获得的一个对 p(x) 的近似,按照 q(x) 对该随机变量的各个值进行编码,平均长度比按照真实分布的 p(x) 进行编码要额外长一些,多出来的长度这就是 KL 散度(之所以不说距离,是因为不满足对称性和三角形法则),即:

机器学习基础-分类算法

KL 散度又叫相对熵(relative entropy)。了解机器学习的童鞋应该都知道,在 Softmax 回归(或者 Logistic 回归),最后的输出节点上的值表示这个样本分到该类的概率,这就是一个概率分布。对于一个带有标签的样本,我们期望的概率分布是:分到标签类的概率是 1, 其他类概率是 0。但是理想很丰满,现实很骨感,我们不可能得到完美的概率输出,能做的就是尽量减小总样本的 KL 散度之和(目标函数)。这就是 Softmax 回归或者 Logistic 回归中 Cost function 的优化过程啦。(PS:因为概率和为 1,一般的 logistic 二分类的图只画了一个输出节点,隐藏了另外一个)

  • 卡方检验

比较两个及两个以上样本率以及两个分类变量的关联性分析。基本思想就是比较理论频数和实际频数的吻合程度或拟合优度问题。

相关文章:

  • 2022-01-09
  • 2022-12-23
  • 2021-12-06
  • 2021-12-06
  • 2021-08-13
猜你喜欢
  • 2021-07-15
  • 2021-10-16
  • 2021-07-20
  • 2021-12-05
  • 2021-12-06
  • 2022-01-13
相关资源
相似解决方案