1 最近邻规则

给定集合包含n对数,(x1,t1)(\bold x_1,t_1)(x1,t1), …,(xn,tn)(\bold x_n,t_n)(xn,tn),其中xi\bold x_ixi为实数,t_i属于集合{1,…,M}\{1,…,M\}{1,M},每个xi\bold x_ixi是同一测量规则得到的iiith个独立量,而每个tit_iti是对应的样本类别
上述规则可以简称为:xi\bold x_ixi属于类别tit_iti

对于其中一个样本x\bold xx,可以给它从{1,…,M}\{1,…,M\}{1,M}分配一个标签,令xk\bold x_kxkx\bold xx最近邻,则有:
min⁡d(x,xi)=d(x,xk),i=1,…,n\min{d(\bold x,\bold x_i)}=d(\bold x,\bold x_k),i=1,\dots,nmind(x,xi)=d(x,xk),i=1,,n

一个常用的距离度量是平方和,假设x=[x1,x2]T\bold x=[x_1,x_2]^Tx=[x1,x2]Txk=[xk1,xk2]T\bold x_k=[x_k1,x_k2]^Txk=[xk1,xk2]T,则有:
d(x,xk)=(x1,xk1)2+(x2−xk2)2d(\bold x,\bold x_k)=(x_1,x_{k1})^2+(x_2-x_{k2})^2d(x,xk)=(x1,xk1)2+(x2xk2)2

例1
为了选择最好的候选者,学校入学考试包括两个学科,英语和数学。假设知道5个候选者的分数和分类结果(下表)。如果一个候选者被录取,认为他是类别1,其他的是类别2 。采用最近邻规则来确定Andy如果英语和数学都超过70会不会被录取。

No. 英语 数学 类别
1 80 85 1
2 70 60 2
3 50 70 2
4 90 70 1
5 85 75 1

解法:

  1. 计算Andy成绩与上述5个候选者的距离:
    在这里插入图片描述
  2. 找到{d1,d2,d3,d4,d5}\{d_1,d_2,d_3,d_4,d_5\}{d1,d2,d3,d4,d5}中的最小值为d2=100d_2=100d2=100
  3. 最小值对应的是2号候选人,他的类别是2,所以Andy应该也是不会被录取的

2 K近邻规则(k-nn)

k近邻规则是最近邻规则的延伸,就是每次将标本划分到k个最近邻样本

通过k个最近邻样本的标签进行投票可以决定目标样本的标签

3 K-means聚类

聚类算法是找到一组中心点来反应数据点的分布,中心点的个数M可以提前确定,每个中心ci\bold c_ici被认为是一组数据点的代表

假设n个数据点xj,j=1,...,n}\bold x_j,j=1,...,n\}xj,j=1,...,n}。可以找到MMM个代表向量ci,i=1,...,M\bold c_i,i=1,...,Mcii=1,...,M。算法将所有数据点划分到MMM的子集SiS_iSi中,并使得下列求和式子最小化:
J=∑i=1M∑xj∈Si∣∣xj−ci∣∣2J=\sum_{i=1}^M\sum_{\bold x_j\in S_i}||\bold x_j-\bold c_i||^2J=i=1MxjSixjci2

JJJ的最小化条件是:
ci=1Ni∑xj∈Sixj\bold c_i=\frac{1}{N_i}\sum_{\bold x_j \in S_i}\bold x_jci=Ni1xjSixj

算法步骤:

  1. K-means聚类的初始会任意划分MMM个集合,然后分别计算各个集合的中心
  2. 然后根据集合中心,将数据点按照最近邻规则重新划分到各个集合中
  3. 上述两个步骤重复进行,直到每次划分的集合数据点不再发生变化为止

在线K-means聚类算法
最初的中心随机从训练数据集中选取,然后还是将数据点分配给各个中心,重新计算中心的式子为:
cknew=ckold+η(xj−ckold)\bold c_k^{new}=\bold c_k^{old}+\eta(\bold x_j-\bold c_k^{old})cknew=ckold+η(xjckold)
cknew\bold c_k^{new}cknew替换ckold\bold c_k^{old}ckold,这里η\etaη是学习率,上述步骤重复进行,知道中心不再发生改变为止

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐