机器学习算法完整版见fenghaootong-github
KNN算法
kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
三要素:k值选择、距离矢量、分类决策规则
k值选择
如果k=3,在已有的分类样本上,这时来了一个新样本,那么这个新样本所属的类就是在最临近的三个样本中占较大比重的那一类。
距离矢量
- 特征空间中两个实例点的距离是两个实例点相似程度的反映
- K近邻模型的特征空间的距离一般为欧式距离,也可以是Lp距离:
Lp(xi→,xj→)=(∑nl=1|x(l)i−x(l)i|p)1/p
xi→,xj→∈χ=Rn
xi→=(x(1)i,x(2)i,...,x(n)i)T
xj→=(x(1)j,x(2)j,...,x(n)j)T
p≥1
- 当p=2时,为欧式距离:L2(xi→,xj→)=(∑nl=1|x(l)i−x(l)i|2)1/2
- 当p=1时,为曼哈顿距离:L1(xi→,xj→)=∑nl=1|x(l)i−x(l)i|
- 当p=∞无穷大时,为各维度距离中的最大值:L∞(xi→,xj→)=maxl|x(l)i−x(l)i|
分类决策规则
1k∑xi→∈Nk(x⃗ )I(yi≠cj)=1−1k∑xi→∈Nk(x⃗ )I(yi=cj)
cj表示类别
y=cj=argmaxcj∑xi¯¯¯¯¯∈Nk(x¯¯¯)I(yi≠cj),i=1,2,3,...,N;j=1,2,3,...,K
KNN算法经典实例
KNN算法经典实例