算法很多,从两个方面介绍:第一种划分算法是根据学习的方式;第二种是基于形式和功能的相似性(把相似的归为一类)。
1.学习方式
一个算法可以用不同的方式对一个问题建模。算法的主要学习方式和学习模型有:
- 监督学习:输入数据称为训练数据,它们有已知的标签或者结果。模型的参数需要通过一个训练的过程,要求做出预测,当预测不符时,则需要做出修改。
- 无监督学习:输入数据不带标签,没有一个已知的结果。通过推测输入数据中存在的结构建立模型。相关例子有关联规则学习,聚类。算法例子:Apriori和K-means算法。
- 半监督学习:输入数据由带标记和不带标记的组成。已有合适的预测模型,但模型在预测的同时还需发现潜在的结构来组织数据。这类问题包括分类和回归。
- 强化学习:输入数据作为来自环境的激励提供给模型,且模型必须作出反应。反馈并不像监督学习那样来自于训练过程,而是作为环境的惩罚或者是奖赏。算法例子:Q-学习和时序差分学习。
2.算法相似性
通常我们会将算法按照功能和形式的相似性来区分,比如树形结构和神经网络方法。
- 回归分析:首先确定一个衡量模型预测误差的量,然后通过这个量反复优化变量之间的关系。
- 普通最小二乘法
- 逻辑回归
- 逐步回归
- 多元自适应样条回归
- 局部多项式回归拟合
- 基于实例的方法:对决策问题进行建模,这些决策问题是基于训练数据中被认为重要或者模型所必须的实例。这类方法通常会建立一个范例数据库,然后根据某个相似性衡量标准来把新数据和数据库比较,从而找到最匹配的项,做出预测。这种方法的重点在于已有实例的表示和实例间相似性的衡量标准。
- K最近邻算法(KNN)
- 学习矢量量化(LVQ)
- 自组织映射(SOM)
- 正则化方法:是对回归分析方法的一种扩展,惩罚复杂度高的模型,倾向于推广性好,更简单的模型。较流行,通常只是对其他方法简单的改进。
- 岭回归
- 套索算法(LASSO)
- 弹性网络
- 决策树学习:决策方法是对决策过程进行建模,决策是数据中属性的实际数值。决策在树形结构上分叉,直到对特定的某个记录能做出预测。
- 分类与回归树算法
- 迭代二叉树3代
- C4.5算法
- 卡方自动互动检视
- 单层决策树
- 随机森林
- 多元自适应样条回归
- 梯度推进机
- 贝叶斯算法:在分类和回归问题中应用贝叶斯定理
- 朴素贝叶斯算法
- AODE算法
- 贝叶斯信度网络(BBN)
- 核函数方法:最流行的是支持向量机算法。核函数方法关心如何将输入数据映射到一个高维度的矢量空间。
- 支持向量机(SVM)
- 径向基函数(RBF)
- 线性判别分析(LDA)
- 聚类方法:跟回归一样,聚类表示一类问题,也表示一类方法。聚类方法一般按照建模方式来划分:基于质心的和层级结构。所有的方法都是利用数据的内在结构来尽量地把数据归入具有最大共性的一类里。
- K均值法
- 最大期望算法(EM)
- 关联规则学习:
- 人工神经网络:
- 深度学习:
- 降维方法:
- 集成方法: