9 聚类(K-means)
聚类概述
所谓聚类问题,就是给定一个元素集D={x_0,x_1…….x_k},其中每个元素具有n个特征,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇(cluster)。
距离度量
1、欧式距离(Euclidean Distance)
2、曼哈顿距离(Manhattan Distance)
3、闵氏距离(Minkowski Distance)
4、余弦相似度(Cosine Similarity)
4、距离度量的基本性质
聚类算法
K-Means算法
伪代码
练习
D={A(5,3),B(-1,1),C(1,-2),D(-3,-2)} K=2 初始均值向量 两个初始中心1(B)、初始中心2(D) u1=(-1,1),u2=(-3,-2) C1=∅,C2=∅ 分别计算A、B、C、D到中心u1,u2的欧式距离 Da1=sqrt(40) Da2=sqrt(89) Db1=sqrt(0) Db2=sqrt(25) Dc1=sqrt(13) Dc2=sqrt(16) Dd1=sqrt(25) Dd2=sqrt(0) C1={A,B,C},C2={D} 计算新的均值向量 u1=(5/3,2/3),u2=(-3,-2) 分别计算A、B、C、D到中心u1,u2的欧式距离 Da1=sqrt(16.5...) Da2=sqrt(89) Db1=sqrt(7.2...) Db2=sqrt(25) Dc1=sqrt(7.5...) Dc2=sqrt(16) Dd1=sqrt(28.8...) Dd2=sqrt(0) C1={A,B,C},C2={D} 计算均值向量 u1=(5/3,2/3),u2=(-3,-2) 不再改变 所以,C1={A,B,C},C2={D}
改进
2、DBSCAN算法
10 SVM(原理)
1.什么是支持向量机?
支持向量机(Support Vector Machine,简称为SVM)是一种有监督的机器学习方法,用来进行分类和回归分析。
2.支持向量机算法
1)解决线性可分问题
2)再将线性可分问题中获得的结论推广到线性不可分情况。
3.支持向量机的优势?
解决小样本、非线性及高维模式识别中表现出许多特有的优势。
4.支持向量机的种类:
硬间隔SVM(Hard-margin SVM)
核SVM (Kernel SVM)
软间隔SVM (Soft-margin SVM)
-A:应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强.
更能抵御训练样本位置的误差