了解理论知识,各种机器学习方法的应用场景


链接:https://www.zhihu.com/question/26726794/answer/544818558

问题中涉及的几个算法都是数据分类的基本技术,其实当样本数据质量很好的时候,各个算法结果之间的差异不会特别大。这个时候可以根据样本的分布特点和具体要解决的业务问题等信息,选择一个或者几个相适合的算法,再进一步根据模型训练结果、验证结果选择一个结果相对较好的算法。

当然,样本数据质量很差的时候,任何算法都无法得到很好的结果,所以这次先不考虑样本数据的获取和质量问题,但从算法角度来考虑,各个算法都有自己的特点。

朴素贝叶斯算法假定所有输入属性的重要性是相等的,且彼此是独立的,这个前提满足的情况下,贝叶斯算法往往十分精确,但实际情况是,经常发生不满足条件独立性的情况,并且缺少可用的概率数据。

决策树算法相对比较好理解,也不需要对样本数据做任何假设,相对更适合处理非数值型数据,但决策数算法的结果有时会很复杂,同一个变量在树生长的时候反复用了好几次导致不好解释,尤其当样本数据是数值型时,数据的微小变化都会影响每个节点变量以及阈值的选择,结果较不稳定。

K 近邻算法是基于类比的学习,可以对缺失值进行处理,但维度过高时,也容易过拟合,本身不建立X与Y的量化公式,算法费时较长。

SVM算法使用一种非线性映射,所以对于非线性决策边界的识别能力是比较强的,本身不容易过拟合,但由于算法本身效果依赖核心点的选择,所以扩展到大数据集时相对比较费时。

逻辑回归算法本身有明确的概率公式,由于会对连续变量进行分箱处理,所以会降低过拟合的程度,增强模型泛化能力。但是对于多分类、或者非线性的决策边界时,表现效果有限。

选择算法时,除了考虑算法本身的特点,还应考虑具体的业务需求,比如有时候业务需求注重解释性。并且以打分卡的形式展现每个属性和个体,那个即使其他算法会更准确一些,考虑到应用,也会选择逻辑回归算法。

所以,具体情况还需具体分析,没有一成不变的准则,最终目的都是为了更好的解决业务问题。

posted @ 2019-09-02 17:11  猪啊美  阅读(198)  评论(0)    收藏  举报