zoukankan      html  css  js  c++  java
  • 机器学习各个算法优缺点

    K近邻

    算法采用测量不同特征值之间的距离的方法进行分类。 

    优点: 
    1.简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归; 
    2.可用于数值型数据和离散型数据; 
    3.训练时间复杂度为O(n);无数据输入假定; 
    4.对异常值不敏感;
    缺点: 
    1.计算复杂性高;空间复杂性高; 
    2.样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少); 
    3.一般数值很大的时候不用这个,计算量太大。但是单个样本又不能太少 否则容易发生误分。 
    4.最大的缺点是无法给出数据的内在含义。

    朴素贝叶斯 
    优点: 
    1.生成式模型,通过计算概率来进行分类,可以用来处理多分类问题, 
    2.对小规模的数据表现很好,适合多分类任务,适合增量式训练,算法也比较简单。 
    缺点: 
    1.对输入数据的表达形式很敏感, 
    2.由于朴素贝叶斯的“朴素”特点,所以会带来一些准确率上的损失。 
    3.需要计算先验概率,分类决策存在错误率。

    决策树 
    优点: 
    1.计算复杂度不高,可解释性强,输出结果易于理解,决策树易于理解和解释,可以可视化分析,容易提取出规则; 
    2.能够同时处理标称型和数值型数据,其他的技术往往要求数据属性的单一。 
    3.对中间值得确实不敏感,比较适合处理有缺失属性值的样本,能够处理不相关的特征; 

    4.应用范围广,可以对很多属性的数据集构造决策树,可扩展性强。决策树可以用于不熟悉的数据集合,并从中提取出一些列规则 这一点强于KNN。

    5、测试数据集时,运行速度比较快。

    6、决策树可以很好的扩展到大型数据库中,同时它的大小独立于数据库大小。

     
    缺点: 
    1.容易出现过拟合; 
    2.对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征。 
    3. 信息缺失时处理起来比较困难。 忽略数据集中属性之间的相关性。

    SVM
    优点: 
    1.可用于线性/非线性分类,也可以用于回归,泛化错误率低,计算开销不大,结果容易解释; 
    2.可以解决小样本情况下的机器学习问题,可以解决高维问题,可以避免神经网络结构选择和局部极小点问题。 
    3.SVM是最好的现成的分类器,现成是指不加修改可直接使用。并且能够得到较低的错误率,SVM可以对训练集之外的数据点做很好的分类决策。 
    缺点:对参数调节和和函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。

    Logistic回归

    根据现有数据对分类边界线建立回归公式,依次进行分类。 
    优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低; 
    缺点:容易欠拟合,分类精度可能不高

    EM 期望最大化算法-上帝算法 
    只要有一些训练数据,再定义一个最大化函数,采用EM算法,利用计算机经过若干次迭代,就可以得到所需的模型。EM算法是自收敛的分类算法,既不需要事先设定类别也不需要数据见的两两比较合并等操作。缺点是当所要优化的函数不是凸函数时,EM算法容易给出局部最佳解,而不是最优解。

     参考文档:

    http://www.csuldw.com/2016/02/26/2016-02-26-choosing-a-machine-learning-classifier/

  • 相关阅读:
    linux自动挂载
    VUE 封装 api类
    数据库中如何判断某参数为空就不执行where条件
    axios 拦截 , 页面跳转, token 验证(非本人原创)
    springboot 集成 WebSocket (非本人原创)
    spring cloud整合 websocket 的那些事
    前后端消息推送
    spring cloud 之eureka配置
    spring cloud 之demo
    linux 进程的 5 大段
  • 原文地址:https://www.cnblogs.com/yuzhuwei/p/6471851.html
Copyright © 2011-2022 走看看