分类算法
感知机利用误差最小的原则求得分离超平面,但是这样的平面有无数多个;SVM利用最大间隔求分离超平面,这样的解释唯一的。
2 K-Means
原始数据集合为(x1,x2,...,xN),并且每个xi为d维的向量,K-means聚类的目的是将原始数据分成K类
具体算法步骤如下:
- 从
D 中随机选取K个元素,分别作为K 个簇的中心,即先固定μk;- 计算其他元素到这K个簇的中心差异,并将其划分为差异度最低的簇,即已知
μk 求rnk; - 根据聚类结果,分别重新计算K个簇的中心,即利用
μk 更新rnk; - 重复步骤2,直到聚类结果不再改变。
4 Apriori
5 EM算法
6 PageRank
7AdaBoost
大多数提升方法是通过改变训练数据的概率分布(训练数据的权值分布)针对不同的训练数据分布调用弱分类学习算法学习一系列弱分类
器。这样有两个问题:一是,在每一轮训练中如何改变数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。对第一个问题
AdaBoost的做法是,提高前一轮被弱分类器错误分类的样本权值,降低被正确分类样本的权值,以提升那些被错误分类的数据被后一轮弱分类
器关注的程度。对于第二个问题,AdaBoot采取加权多数表决的方式,对于误差率小的弱分类器加大权重,对于误分类率大的弱分类器减小
其权重。
AdaBoost算法
输入:训练数据集T={(x1,y1),(x1,y1),…,(xN,yN)}其中xi∈X⊆RN,yi∈{−1,+1},输出:最终分类器G(x)
- 初始化训练数据的权值分布D1=(w11,...,w1i,...,w1N),w1i=1N,i=1,2,…,N
- 对m=1,2,...,M
1)使用具有权值分布Dm的训练数据集学习,得到基本分类器Gm(x):X→{−1,+1}
2)计算Gm(x)在训练数据集上的分类误差率em=P(Gm(xi)≠yi)=∑i=1NwmiI(Gm(xi)≠yi)
3)计算Gm(x)的系数αm=12ln1−emem
4)更新训练数据集的权重Dm+1=(wm+1,1,...,wm+1,i,...,wm+1,N)wm+1,i=wmiZmexp(−αmyiGm(xi))
其中,Zm是规范化因子。Zm=∑i=1Nwmiexp(−αmyiGm(xi)) 构建基本分类器的线性组合
f(x)=∑m=1MαmGm(x)最终分类器G(x)=sign(f(x))=sign(∑m=1MαmGm(x))注解:f(x)的符号说明了分类的结果,绝对值的大小说明置信度。
8 KNN
KNN的三个问题
距离度量通常使用欧式距离;
K值选择 K较小时,学习的近似误差减小,对邻近实例点较敏感,如果邻近实例点是噪声那么预测就会出错,K值减小那么模型就会变复杂,容易产生过拟合;如果K值较大,减少学习的估计误差,但是较远的不相关的实例点也可能对预测产生影响,K增大模型变简单忽略了实例中的大量有用信息。
分类决策规则多数表决kd树
实现k近邻的最简单的方法是线性扫描,这时计算输入实例与每一个训练实例的距离,当训练数据集大时,这种方法不可行,所以通过使用kd树来减少计算距离的次数,提高k近邻搜索的效率。
构造平衡kd树算法
输入:k维空间数据集T={x1,x2,...,xN},其中,xi=(x(1)i,x(2)i,...,x(k)i)T,i=1,2,...,N;
输出:kd树。- 构造根节点,根节点对应包含T的
k 维空间的超矩形区域。选择x(1)为坐标轴,以T中所有实例的x(1) 坐标的中位数为切分点,将根节点对应的超矩形分为两个子区域,切分面与坐标x(1)轴垂直。落在切分面上的实例点位根节点。 - 重复:对深度为j的结点,选择
x(l) 为切分的坐标轴,l=j(modk)+1,并以该节点的区域中所有实例的x(l)的中位数为切分点,将该节点对应的超矩形区域切分为两个子区域,落在切分面上的实例点保存为该节点。 - 直到两个区域没有实例存在时停止,从而形成kd树的区域划分。
用kd树的最近邻搜索
输入:已构造的kd树,目标点x;
输出:x 的最近邻。- 在kd树中找到包含目标点x的叶结点。以此叶节点为“当前最近点”。
- 递归地向上回退,在每个结点进行一下操作:
1)如果该结点保存的实例点比当前最近点距离里最近目标点更近,则以该实例点为“当前最近点”
2)当前最近点一定存在于该结点一个子节点对应的区域,检查该子节点的父节点的另一个子节点对应的区域是否有更近的点。具体地,检查另一个节点对应的区域是否与目标点为球心、以目标点与“当前最近点”间的距离为半径的超球体相交。如果相交,移动到另一个子节点,接着递归搜索;如果不相交,向上回退。 - 当回退到根节点时,搜索结束。
对于随机分布的实例点,kd树搜索的平均计算复杂度为
O(logN) .9 贝叶斯分类器
分类算法
- 计算其他元素到这K个簇的中心差异,并将其划分为差异度最低的簇,即已知

被折叠的 条评论
为什么被折叠?



