一句话概括:
1. 聚类:无监督学习,学习结果将产生几个集合,集合中的元素彼此相似;
2. 分类:有监督学习,学习结果将产生几个函数,通过函数划分为几个集合,数据对象是离散值;
3. 回归:有监督学习,学习结果将产生几个函数,通过函数产生连续的结果,数据对象是连续值;
聚类
聚类算法是无监督学习的一种算法,也就是说,并没有一批已经打好标签的数据供机器训练模型。因此该算法用于在数据中寻找数据间隐藏的联系和区别。通过聚类后形成几个集合,集合内部的元素间具有较高的相似度,相似度的衡量可以通过欧几里得距离、概率距离、加权重距离计算。
常见的聚类算法有:
1.划分聚类: K-means 算法、k-medoids算法、K-pototypes算法、CLARANS算法
2.层次聚类:BIRCH算法、CURE算法、
3.密度聚类:DBSCAN算法、OPTICS算法、DENCLUE算法
4.网格聚类:STING算法、CLIQUE算法、WAVE-CLUSTER算法
5.混合聚类:高斯混合模型、CLIQUE算法(综合密度和网格的算法)
几个聚类算法的简单对比:
算法 | 算法效率 | 数据类型 | 发现的聚类类型 | 对噪点的敏感性 | 对输入顺序的敏感性 |
BIRCH | 高 | 数值 | 凸形或球形 | 不敏感 | 不太敏感 |
DBSCAN | 一般 | 数值 | 任意形状 | 敏感 | 敏感 |
CURE | 较高 | 数值 | 任意形状 | 不敏感 | 不太敏感 |
K-pototypes | 一般 | 数值和符号 | 凸形或球形 | 敏感 | 一般 |
CLARANS | 较低 | 数值 | 凸形或球形 | 不敏感 | 非常敏感 |
CUQUE | 较低 | 数值 | 凸形或球形 | 一般 | 不敏感 |
分类
分类算法要求先向模型输入数据的训练样本,从训练样本中提取描述该类数据的一个函数或模型。通过该模型对其他数据进行预测和归类,分类算法是一种对离散型随机变量建模或预测的监督学习算法,同时产生离散的结果。比如在医疗诊断中判断是否患有癌症,在放贷过程中进行客户评级等。
常见的分类算法:
1.决策树:ID3、C4.5(C5.0)、CART、PUBLIC、SLIQ、SPRINT算法;
2.神经网络:BP网络、径向基RBF网络、Hopfield网络、随机神经网络(Boltzmann机)、竞争神经网络(Hamming网络,自组织映射网络);
3.贝叶斯:朴素贝叶斯(Naive Bayes)算法、TAN算法;
4.基于关联规则的分类:CBA算法、ADT算法、CMAR算法、ARCS算法;
5.混合分类方法:Bagging算法、Boosting算法
6.支持向量机;
回归
回归算法与分类算法一样都是有监督的学习算法,因此也需要先向模型输入数据的训练样本。但是与分类算法的区别是,回归算法是一种对数值型连续随机变量进行预测和建模的监督学习算法,产生的结果也一般是数值型的。
例如向已经训练好的回归模型中输入一个人的数据,判断此人20年后的经济能力,则模型的回归结果是连续的,往往得到一条回归曲线。当自变量改变时,因变量呈现连续型变化。
常见的回归算法:
1.线性回归/逻辑回归/多项式回归:LR算法、LWLR算法(局部加权)、LRCV算法(交叉验证)、MLP算法(神经网络);
2.逐步回归;
3.岭回归;
4.LASSO回归;
5.ElasticNet回归;