常用模型的特点及其应用场景

如何确定业务适合的算法模型

训练集大小:大,小 大:不适合SVM,KNN,耗费内存 同时:适合低方差/高偏差模型(SVM),不适合高方差低偏差模型 特征空间维度:高维,低维 高维:适合SVM(文本分类),不适合KNN(适合低维度数据) 特征是否相互独立:独立,不独立 独立:朴素贝叶斯(前提:特征间相互独立) 是否为线性特征:线性,非线性 线性:逻辑回归(简单,可解释性强,线性可分数据下表现良好) 对拟合程度的要求:?? 其他要求(性能,时间,空间):计算复杂,简单 复杂:不适合SVM,KNN 缺失值比例:多,少 svm,KNN涉及到距离计算的模型缺失值对模型效果影响较大

logistic回归

  • 优点

    • 实现简单切分类时计算量非常小,速度很快,存储的资源少;

    • 可便利地观测样本概率分数;

    • 对于Logistic回归而言,多重共线性并不是问题,可以结合L2正则化来解决该问题;

    • 计算代价不高,易于理解和实现

  • 缺点

    • 当特征空间很大时,回归的性能不是很好;

    • 容易欠拟合,一般准确度不太高;

    • 不能处理多分类问题;

    • 对于非线性特征,需要进行转换

  • 应用场景

    • 用于二分类领域,例如,垃圾邮件过滤,预测广告被单击的可能性,预测特定的日期是否会发生地震等;

    • Logistic回归的扩展softmax可以应用于多分类领域,如手写字识别等

线性回归

  • 优点

    • 建模迅速,对于小数据量、简单的关系很有效;

    • 容易理解,有利于决策分析

  • 缺点

    • 不能拟合非线性数据

  • 应用场景

    • 预测一组特定数据(如GDP、石油价格和股票价格)是否在一段时期内增长或下降;

    • 流行病学研究,如吸烟对死亡率和发病率的影响

支持向量机

  • 优点

    • 可以解决高维(即大型特徂空间)问题;

    • 解决小样本下机器学习的问题;

    • 能够处理非线性特征的相互作用;

    • 无局部极小值问题(相对于神经网络等算法)

    • 不用依赖整个数据;

    • 泛化能力比较强

  • 缺点

    • 当观测样本很多时,效率并不是很高

    • 对非线性问题没有通用解决方案,有时候很难找到合适的核函数

    • 对核函数的高维映射解释能力不强,尤其是径向基函数;

    • 常规SVM只支持二分类;

    • 对缺失数据敏感

  • 应用场景

    • 在人像识别、文个分类、手写字符识别、生物信息学等模式 识别领域得到了应用

神经网络

  • 优点

    • 分类的准确率高;

    • 并行分布处理能力强,分布存储及学习能力强;

    • 对噪声有较强的鲁棒性和容错能力;

    • 具备联想记忆的功能,能充分逼近复杂的非线性关系

  • 缺点

    • 神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值;

    • 属于黑盒过程,不能观察中间的学习过程,输出结果难以解释,会影响到结果的可信度和可接受程度;

    • 学习时间过长,有可能陷入局部极小值,甚至可能达不到学习的目的

  • 应用场景

    • 目前深度神经网络已经应用于计算机视觉、自然语言处理语音识别等领域,并取得了很好的效果

决策树

  • 优点

    • 决策树易于理解和解释,可以可视化分析,容易提取出规则;

    • 可以同时处理标称型和数值型数据;

    • 比较适合处理有缺失属性的样本;

    • 能够处理不相关的特征;

    • 运行速度比较快,且可以应用于大型数据集

  • 缺点

    • 容易发生过拟合;

    • 容易忽略数据集中属性的相互关联;

    • 对于各类别样本数量不一致的数据,在决策树中进行属性划分时,不同的判定准则会带来不同的属性选择倾向

  • 应用场景

    • 由于决策树有很好的辅助分析能力,因此在决策过程(如企业管理实践、企业投资决策等)中的应用较多

K均值

  • 优点

    • 原理比较简单,容易实现,收敛速度快;

    • 聚类效果较优;

    • 算法的可解释性比较强;

    • 需要调整的参数仅是簇数k

  • 缺点

    • k值的选取不好把握;

    • 对于不是凸的数据集,比较难收敛;

    • 如果各隐含类别的数据不平衡,例如各隐含类别的数据量严重失衡,或者各隐含类别的方差不同,则聚类效果不佳;

    • 最终结果和初始点的选择有关,容易陷入局部最优;

    • 对噪声和异常点比较敏感

  • 应用场景

    • 恶意流量识别;

    • 搜索引擎查询聚类,用于进行流量推荐;

    • 网站关键词来源聚类整合;

    • 细分市场、消费者行为划分;

    • 图像分割;

    • 对于没有分类标签的数据来说,无监督学习的聚类算法可以帮助我们更好地理解数据集,并且为进一步训练模型打好基础

PCA

  • 优点

    • 使数据集更易使用;

    • 降低算法的计算开销;

    • 去除噪声;

    • 使结果容易理解;

    • 完全无参数限制

  • 缺点

    • 如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高;

    • 特征值分解有一些局限性,比如变换的矩阵必须是方阵;

    • 在非高斯分布情况下,PCA方法得出的主元可能并不是最优的

  • 应用场景

    • 高维数据集的探索与可视化;

    • 数据压缩;(3)数据预处理;

    • 图像、语音、通信的分析处理;

    • 降维(最主要),去除数据冗余与噪声

随机森林

  • 优点

    • 不要求对数据预处理;

    • 集成了决策树的所有优点,弥补了其不足;

    • 支持并行处理;

    • 生成每棵树的方法是随机的,不同的random _state会导致模型完全不同,因此要固化其值

  • 缺点

    • 使用超高维数据集、稀疏数据集、线性模型更好;

    • 比较消耗内存、运行速度慢。如果要节省内存和时间,建议用线性模型

  • 应用场景

    • 文本分类领域、人体识别(动作识别、人脸识别)

AdaBoost

  • 优点

    • 很好地利用弱分类器进行级联;

    • 可以将不同的分类算法作为弱分类器;

    • 具有很高的精度;

    • 相对于装袋算法和随机森林算法,AdaBoost充分考虑了每个分类器的权重

  • 缺点

    • 迭代次数(也就是弱分类器数目)不太好设定,可以使用交叉验证来进行确定;

    • 数据不平衡导致分类精度下降;

    • 训练比较耗时,每次都需重新选择好当前分类器切分点

  • 应用场景

    • 模式识别、计算机视觉领域,用于二分类和多分类场景

posted @ 2021-12-16 16:59  jenglyon  阅读(505)  评论(0)    收藏  举报