十大经典算法的优缺点

KNN

优点:

  1. 理论成熟,实现简单

缺点:

  1. 当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数
  2. 计算量较大

Apriori

优点:

  1. 适合稀疏数据集。
  2. 算法原理简单,易实现。
  3. 适合事务数据库的关联规则挖掘

缺点:

  1. 多次扫描事务数据库,需要很大的I/O负载

    对每次k循环,侯选集Ck中的每个元素都必须通过扫描数据库一次来验证其是否加入Lk。假如有一个最大频繁项目集包含10个项的话,那么就至少需要扫描事务数据库10遍。

  2. 可能产生庞大的侯选集

    由Lk-1产生k-侯选集Ck是指数增长的,例如104个1-频繁项目集就有可能产生接近107个元素的2-侯选集。如此大的侯选集对时间和主存空间都是一种挑战。

决策树

ID3

优点:

  1. 理论清晰,方法简单
  2. 学习能力强
  3. ID3算法在搜索的每一步都使用当前的所有训练样例,大大降低了对个别训练样例错误的敏感性

缺点:

  1. 只对比较小的数据集有效,且对噪声比较敏感,当训练数据集加大时,决策树可能会随之改变。
  2. ID3算法在搜索过程中不进行回溯。收敛到局部最优而不是全局最优
  3. ID3算法只能处理离散值的属性。
  4. 信息增益度量存在一个内在偏置,它偏袒具有较多值的属性。如日期属性。
  5. ID3算法增长树的每一个分支的深度,直到恰好能对训练样例完美地分类。当数据中有噪声或训练样例的数量太少时,产生的树会过渡拟合训练样例。

ID3的改进 C4.5

优点:

  • 通过引入信息增益比,一定程度上对取值比较多的特征进行惩罚,避免出现过拟合的特性,提升决策树的泛化能力。

CART

优点:

  1. 可以处理连续值

缺点:

EM (Expectation Maximization)

优点:

  1. 简单稳定

缺点:

  1. 在缺失数据较多的情形,收敛的速度较慢,次数多,容易陷入局部最优
  2. 对于某些情况下,要计算算法中的M步,即完成对似然函数的估计是非常困难的
  3. 在某些情况下是要获得EM算法中的E步的期望显式是非常困难或者不可能的

朴素贝叶斯

优点:

  1. 生成式模型,通过计算概率来进行分类,可以用来处理多分类问题,
  2. 对小规模的数据表现很好,适合多分类任务,适合增量式训练,算法也比较简单。

缺点:

  1. 对输入数据的表达形式很敏感,
  2. 由于朴素贝叶斯的“朴素”特点,所以会带来一些准确率上的损失。
  3. 需要计算先验概率,分类决策存在错误率。

K-means

优点:

  1. 可解释性比较强。
  2. 调参的参数仅为簇数k。
  3. 相对于高斯混合模型而言收敛速度快,因而常用于高斯混合模型的初始值选择。K-means 的时间复杂度为 O(N⋅K⋅I) ,簇数 K 和 迭代次数 I 通常远小于N,所以可优化为 O(N) ,效率较高。

缺点:

  1. 对离群点敏感。
  2. K值难以事先选取,交叉验证不大适合

PageRank

优点:

  1. PageRank算法通过网页间的链接来评价网页的重要性,在一定程度上避免和减少了人为因素对排序结果的影响;
  2. 采用与查询无关的离线计算方式,使其具有较高的响应速度;
  3. 一个网页只能通过别的网页对其引用来增加自身的PR值,且算法的均分策略使得一个网页的引用越多,被引用网页所获得的PR值就越少。 因此,算法可以有效避免那些为了提高网站的搜索排名而故意使用链接的行为。

缺点:

  1. 主题漂移问题

    PageRank 算法仅利用网络的链接结构,无法判断网页内容上的相似性;且算法根据向外链接平均分配权值使得主题不相关的网页获得与主题相关的网页同样的重视度,出现主题漂移。

  2. 偏重旧网页问题

    决定网页 P R 值的主要因素是指向它的链接个数的多少。一个含有重要价值的新网页,可能因为链接数目的限制很难出现在搜索结果的前面,而不能获得与实际价值相符的排名。 算法并不一定能反映网页的重要性,存在偏重旧网页现象。

  3. 忽视用户个性化问题

    PageRank算法在设计之初,没有考虑用户的个性化需要。个性化搜索引擎的兴起,对 PageRank排序算法提出新的挑战。


参考:

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×