【数据科学】<推荐>10 种机器学习算法的要点



  • 机器学习算法分类

    广义来说,有三种机器学习算法:监督式学习、非监督式学习、强化学习

    1、 监督式学习

    工作机制:这个算法由一个目标变量或结果变量(或因变量)组成。这些变量由已知的一系列预示变量(自变量)预测而来。利用这一系列变量,我们生成一个将输入值映射到期望输出值的函数。这个训练过程会一直持续,直到模型在训练数据上获得期望的精确度。监督式学习的例子有:回归、决策树、随机森林、K – 近邻算法、逻辑回归等。

    2、非监督式学习

    工作机制:在这个算法中,没有任何目标变量或结果变量要预测或估计。这个算法用在不同的组内聚类分析。这种分析方式被广泛地用来细分客户,根据干预的方式分为不同的用户组。非监督式学习的例子有:关联算法和 K – 均值算法。

    3、强化学习

    工作机制:这个算法训练机器进行决策。它是这样工作的:机器被放在一个能让它通过反复试错来训练自己的环境中。机器从过去的经验中进行学习,并且尝试利用了解最透彻的知识作出精确的商业判断。 强化学习的例子有马尔可夫决策过程。

    常见机器学习算法名单

    这里是一个常用的机器学习算法名单。这些算法几乎可以用在所有的数据问题上:

    1. 线性回归
    2. 逻辑回归
    3. 决策树
    4. SVM
    5. 朴素贝叶斯
    6. K最近邻算法
    7. K均值算法
    8. 随机森林算法
    9. 降维算法
    10. Gradient Boost 和 Adaboost 算法

    1、线性回归

    线性回归通常用于根据连续变量估计实际数值(房价、呼叫次数、总销售额等)。我们通过拟合最佳直线来建立自变量和因变量的关系。这条最佳直线叫做回归线,并且用 Y= a *X + b 这条线性等式来表示。
    这个比较简单

    alt text

    2、逻辑回归

    别被它的名字迷惑了!这是一个分类算法而不是一个回归算法。该算法可根据已知的一系列因变量估计离散数值(比方说二进制数值 0 或 1 ,是或否,真或假)。简单来说,它通过将数据拟合进一个逻辑函数来预估一个事件出现的概率。因此,它也被叫做逻辑回归。因为它预估的是概率,所以它的输出值大小在 0 和 1 之间(正如所预计的一样)。

    alt text

    3、决策树

    alt text

    决策树的优点:
    一、 决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。
    二、 对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
    三、 能够同时处理数据型和类别型属性。其他的技术往往要求数据属性的单一。
    四、 决策树是一个白盒模型。如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
    五、 易于通过静态测试来对模型进行评测。表示有可能测量该模型的可信度。
    六、 在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
    七、 可以对有许多属性的数据集构造决策树。
    八、 决策树可很好地扩展到大型数据库中,同时它的大小独立于数据库的大小。
    九、 决策树常用于集成算法,如随机森林,提升树等,效果更佳。

    决策树的缺点:
    一、 对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征。
    二、 决策树处理缺失数据时的困难。
    三、 过度拟合问题的出现。
    四、 忽略数据集中属性之间的相关性。

    4、支持向量机

    alt text

    简而言之就是寻找不同类别中相差最大的作为支持向量来进行分类

    SVM的优点:
    一、 可以解决小样本情况下的机器学习问题。【注: 这个小是有限度的,训练语料必须覆盖支持向量上的点,样本特别小的时候语料分布很难近似于真实数据的分布,可以采用bootstrap选择少量种子来迭代扩大召回的方法。】
    二、 可以提高泛化性能。(根据VC维理论,SVM不容易过拟合)
    三、 可以解决高维问题。
    四、 可以解决非线性问题。
    五、 可以避免神经网络结构选择和局部极小点问题。

    SVM的缺点:
    一、 对缺失数据敏感。
    二、 对非线性问题没有通用解决方案,必须谨慎选择Kernelfunction来处理。

    5、朴素贝叶斯

    alt text

    优点:

    一、 朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。
    二、 模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。

    缺点:
    一、 需要知道先验概率。

    6、KNN(K – 最近邻算法)

    alt text

    K – 最近邻算法是一个简单的算法。它储存所有的案例,通过周围k个案例中的大多数情况划分新的案例。根据一个距离函数,新案例会被分配到它的 K 个近邻中最普遍的类别中去。
    不过使用 KNN 建模时,选择 K 的取值是一个挑战。

    优点:
    简单,有效
    适用于大数据的样本

    缺点:
    KNN算法是懒散学习方法(lazy learning,基本上不学习),一些积极学习的算法要快很多。
    该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个 邻居中大容量类的样本占多数。该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。 无论怎样,数量并不能影响运行结果。可以采用权值的方法(和该样本距离小的邻居权值大)来改进。

    7、K 均值算法

    alt text

    K – 均值算法怎样形成集群:

    K – 均值算法给每个集群选择k个点。这些点称作为质心。
    每一个数据点与距离最近的质心形成一个集群,也就是 k 个集群。
    根据现有的类别成员,找出每个类别的质心。现在我们有了新质心。
    当我们有新质心后,重复步骤 2 和步骤 3。找到距离每个数据点最近的质心,并与新的k集群联系起来。重复这个过程,直到数据都收敛了,也就是当质心不再改变。

    8、随机森林
    随机森林是表示决策树总体的一个专有名词。在随机森林算法中,我们有一系列的决策树(因此又名“森林”)。为了根据一个新对象的属性将其分类,每一个决策树有一个分类,称之为这个决策树“投票”给该分类。这个森林选择获得森林里(在所有树中)获得票数最多的分类。

    9、降维算法
    指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。 常见的有PCA 主成分分析 和LDA

    10、Gradient Boosting 和 AdaBoost 算法
    当我们要处理很多数据来做一个有高预测能力的预测时,我们会用到 GBM 和 AdaBoost 这两种 boosting 算法。boosting 算法是一种集成学习算法。

    优点:
    可以使用各种方法构建子分类器,Adaboost算法提供的是框架。
    简单,不用担心overfitting,不用

    原文来自:Essentials of Machine Learning Algorithms
    http://www.analyticsvidhya.com/blog/2015/08/common-machine-learning-algorithms/
    译文分享来自:10 种机器学习算法的要点
    http://blog.jobbole.com/92021/
    李伯钊 Joshua @Pikachu 整理


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待