常见的机器算法原理及优缺点
常见的机器算法原理及优缺点
算法 | 基础原理 | 优点 | 缺点 | 应用场景 |
---|---|---|---|---|
线性回归 | 最小二乘法 | 思想简单,实现容易,建模迅速,对于小数据量、简单的关系更有效 | 对于非线性数据或者数据特征间具有相关性多因子模型项式回归难以建模 | 因子模型ARIMAGARCH |
Logistic Regression | 线性回归+Sigmoid函数(非线形)映射 | 实现简单 | 当特征空间很大时,逻辑回归的性能一般 | 信用评估 |
朴素贝叶斯 | 培合先验概率和后验概率,假设目标值互相独立 | 数学基础强,分类效率稳定 | 需要计算先验概率对输入数据的形式敏感 | 文本分类 |
KNN | 釆用向量空间模型分类,输入包含特征空间(Feature Space)中的k个最接近的训练样本 | 理论成熟,思想简单,既可以用来做分类也可以用来做回归 | 样本不平衡问题效果差; | 文本分类 |
SVM | 对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面(maximum-marginhyperplane) | 可以解决高维问题 | 当观测样本很多时,效率不高 | 涨跌分类 |
决策树 | 一颗由多个判断节点组成的树,在树的每个节点做参数判断,进而存树的最末枝(叶结点)能够所关心变量的取值作出最佳判断 | 决策树易于理解和解轻,可以可视化分析,容易提取出规则 | 容易发生过拟合 | 投资决策 |
随机森林 | 随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个体树输出的类别的众数而定 | 随机森林具有防止过拟合能力,精度比大多数单个算法要好 | 随机森林己经被证明在某些噪音较大的分类或回归问题上会过拟合 | 信用分类问题 |
Adaboosting | Adaboost是模型为加法模型,学习算法为前向分步学习算法,损失函数为指数函数的算法 | 高精度的分类器 | 对outlier比较敏感 | 市场模式识别 |
GBDT | 每一次建立模型是在之前建立模型损失函数的梯度下降方向 | GBDT属于强分类器,一般情况下比逻辑回归和决策树预测精度要高 | 弱学习器之间存在依赖关系,难以并行训练数据和其他树模型一样,不适合高维稀疏特征 | 小特征空间 |
XGBoost | 对梯度提升算法的改进,求解损失函数极值时使用了牛顿法,将损失函数泰勒展开到二阶,损失函数中加入了正则化项 | 对为征值进行提钱排序,实现一定程度的并行运算,提升运算速度 | 只适合处理结构化数据,不适合处理超高维特征数据 | 小特征空间 |
LightGBM | 基于GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式 | 更快的训练速度和更高的效率 | 可能会长出比较深的决策树,产生过拟合 | 大特征空间 |
神经网络 | 模仿了生物神经元信号相互传递的方式,人工神经网络(ANN)由节点层蛆成,包含一个输入层,一个或多个隐蔽层和一个输出层 | 分类的准确度高 | 神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值 | 信用违约 |
CNN | 由一个或多个卷枳层和顶端的全连接层(对应和池化层经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer),这一结构使得卷枳神经网络能够利用输入数据的二维结构 | 重共享策略减少了需要训练得参数,相同得权值可以让滤波器不受信号位置的影响来检测信号的特性,使得训练出来的模型的泛化能力更强 | 容易出现梯度消散 | 图像处理检测分类 |
RNN | 基于神经网络,其中节点之间的连按形成一个有向图沿着序列,允许展示时间序列的时间动态行为 | 模型是时间维度上的深度模型,可以对序列内容建模 | 需要训练的参数多,容易造成梯度消散或梯度爆炸问题 | 自然语言处理 |
LSTM | 基于RNN,通过遗忘门和输出门忘记部分信息来解决梯度消失的问题 | 通过遗忘门和输出门忘记部分信息来解决梯度消失的问题 | 信息在过远的距离中损失很大 | 大数据量时间序列 |
K-Means | 基于欧式距离的聚类算法,其认为两个目标的距离越近,相似度越大 | 算法简单,容易实现,速度很快对处理大数据集,该算法是相对可伸缩的和高效率的,因为它的复杂度大约是O(nkt),其中n是所有对象的数目,k是簇的数目,t是迭代的次数,通常k«n,这个算法通常局部收敛 | 对数据类型要求较高,适合数值型数据 | 无标记的文本分类 |
EM最大期望算法 | 渔过迭代进行极大似然估计(Maximum Likelihood Estimation,MLE)的优化算法,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量或缺失数据的概率模型进行参数估计 | 比K-means算法计算结果稳定、准确 | 比K-means算法计算复杂,收敛也较慢 | 低维特征空间 |
密度聚类 | 假设聚类结构能通过样本分布的紧密程度确定。通常情形下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果 | 可以对任意形状的稠密数据集进行聚类,相对的K均值之类的聚类算法一般具适用于凸数据集 | 如果样本集的密度不均匀,聚类间距差相差很大时,聚类质量较差 | 文本数据分类 |
层次聚类 | 通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树、存聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点 | 距离和规则的相似度容易定义,限制少不需要预先制定聚类数 | 计算复杂度太高 | 产业链聚类 |
GRU | 基于RNN,取消了LSTM中的cellstate,在使用了hiddenstate,并且使用更新门来替换LSTM中的输入门和遗忘门,取消了LSTM中的输出门,新增了重置门 | GRU的参数量少,减少过拟合的风险 | 学习效率不高 | 小数据量 |
RBM | 一种无向图,属于生成式随机双层神经网络,该网络由可见单元和隐蔽单元构成,可见变量和隐蔽变量都是二元变量 | 能辂处理缺失/不规则数据 | 计算时间长 | 降维 |
GAN | 一种生成模型,模型包括生成器(Generator)和判别器(Discriminator)两个网络,训练的过程用到了二人零和博弈的思想 | 能更好建模数据分布 | 难训练,不稳定,生成器和判别器之间需要很好的同步,但是存实际训练中很容易D收敛,G发散 | 自动提取特征 |
自编码器 | 一种利用反向传播算法使得输出值等于输入值的神经网络,它先将输入压缩成潜在空间表征,然后同过这种表征来重构输出 | 泛化性强 | 需要大量清洁数据 | 异常监测 |
强化学习 | 描述和解决智能体(agent)在与环境的交互过程中通过学习策路以达成回报最大化或实现特定目标的问题 | 不需要带标签的输入输出 | 缺乏可扩展性 | 化 |