一、k-means算法
原理:K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。
算法:
输入是样本集,聚类的簇树k,最大迭代次数N
输出是簇划分
1) 从数据集D中随机选择k个样本作为初始的k个质心向量:
2)对于n=1,2,…,N
a) 将簇划分C初始化为
b) 对于i=1,2…m,计算样本和各个质心向量的距离:,将标记最小的为所对应的类别。此时更新
c) 对于j=1,2,…,k,对中所有的样本点重新计算新的质心
e) 如果所有的k个质心向量都没有发生变化,则转到步骤3)
3) 输出簇划分
优点:1、原理比较简单,实现也是很容易,收敛速度快。
2、聚类效果较优。
3、主要需要调参的参数仅仅是簇数k。
缺点:1、对于不是凸的数据集比较难收敛
2、对噪音和异常点比较的敏感
3、K值的选取不好把握
参考博客 https://blog.csdn.net/u014465639/article/details/71342072
二、SVR算法
原理:使到超平面最远的样本点的“距离”最小。
https://www.jianshu.com/p/399ddcac2178
三、PCA算法
原理:数据从原来的坐标系转换到新的坐标系。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。
算法:
输入:训练样本集 $ D ={x{(1)},x{(2)},…,x^{(m)}} ,低维空间维数,低维空间维数 d’ $ ;
过程:.
1:对所有样本进行中心化(去均值操作): x(i)j←x(i)j−1m∑mi=1x(i)jxj(i)←xj(i)−1m∑i=1mxj(i) ;
2:计算样本的协方差矩阵 XXTXXT ;
3:对协方差矩阵 XXTXXT 做特征值分解 ;
4:取最大的 d′d′个特征值所对应的特征向量 w1,w2,…,wd′w1,w2,…,wd′
5:将原样本矩阵与投影矩阵相乘: X⋅WX⋅W即为降维后数据集 X′X′ 。其中 XX 为 m×nm×n维, W=[w1,w2,…,wd′]W=[w1,w2,…,wd′]为 n×d′n×d′ 维。
6:输出:降维后的数据集 X′
优点:使得数据更易使用,并且可以去除数据中的噪声,使得其他机器学习任务更加精确。
缺点:数据维度降低并不代表特征的减少,因为降维仍旧保留了较大的信息量,对结果过拟合问题并没有帮助。不能将降维算法当做解决过拟合问题方法。如果原始数据特征维度并不是很大,也并不需要进行降维。
参考博客 https://www.cnblogs.com/lliuye/p/9156763.html
一些算法的汇总
最新推荐文章于 2024-09-06 13:04:03 发布