分类:
支持向量机(SVM)可用于找到尽可能宽的分类的边界。当两个分类不能被清楚地分开时,该算法会找到其所能找到的最佳边界。其真正的亮点在于处理特征密集的数据,比如文本或者基因组(特征数量> 100)。在这些情况下,除了仅需要适量的记忆外,支持向量机(SVM)能够比其它大多数算法更快且更少过拟合地进行分类。
人工神经网络是涵盖二分类、多分类和回归问题的脑启发式学习算法。它们有无限的种类,包括感知器和深度学习。它们需要很长时间来训练,但已知其在多种应用领域都实现了当前最佳的表现。
logistic 回归:即便名字中有着「回归」,但 logistic 回归实际上是一种可用于二分类和多分类问题的强大工具。它快速且简单。事实上,它使用「S」形曲线而非直线,所以它自然适合用于数据分组。logistic 回归可以给出线性分类边界,所以如果你要使用它,你一定要确保你能接受线性的近似。
决策树和随机森林:决策森林(decision forests)(回归、二分类、多分类),决策丛林(decision jungles)(二分类和多分类)和提升决策树(boosted decision trees)(回归和二分类)都基于决策树。这是一个基本的机器学习概念。决策树有许多不同的变体,但它们都在做同样的事情—将特征空间(feature space)细分为具有大致相同标签的区域。这些区域可以是一致的类别或者恒定值,具体取决于你进行的是分类还是回归。
回归:
线性回归是将一条线(或平面、或超平面)拟合到一个数据集上。这是一种主要的工具,简单且快速,但对于一些问题而言,它可能过于简单。
贝叶斯线性回归有着非常理想的特性:它可以避免过拟合。贝叶斯方法通过事先对答案的可能分布做出一些假设来做到这一点。这种方法的另一个副产品是它们具有非常少的参数。
提升决策树回归(Boosted decision tree regression):如上所述,提升决策树(回归和二分类)均基于决策树,并通过将特征空间细分为具有大致相同标签的区域发挥效用。提升决策树通过限制其可以细分的次数以及每个区域中所允许的最少数据点来避免过拟合。该算法会构造一个树的序列,其中每棵树都会学习弥补之前的树留下来的误差。这能得到一个会使用大量的内存的非常精确的学习器。
聚类:
层次聚类(Hierarchical Clustering)的目标是构建聚类的层次结构,它有两种形式。聚集聚类(agglomerative clustering)是一种「自下而上」的方法,其中每个观察(observation)在其自己的聚类中开始,随着其在层次中向上移动,成对的聚类会进行融合。分裂聚类(divisive clustering)则是一种「自上而下」的方法,其中所有的观察都从一个聚类开始,并且会随观察向下的层次移动而递归式地分裂。整体而言,这里的融合和分裂是以一种激进的方式确定的。层次聚类的结果通常表示成树状图(dendrogram)的形式。
k-均值聚类(k-means clustering)的目标是将 n 组观测值分为 k 个聚类,其中每个观测值都属于其接近的那个均值的聚类——这些均值被用作这些聚类的原型。这会将数据空间分割成 Voronoi 单元。
异常检测:
k 最近邻(k-nearest neighbors / k-NN)是用于分类和回归的非参数方法。在这两种情况下,输入都是由特征空间中与 k 最接近的训练样本组成的。在 k-NN 分类中,输出是一个类成员。对象通过其 k 最近邻的多数投票来分类,其中对象被分配给 k 最近邻中最常见的类(k 为一正整数,通常较小)。在 k-NN 回归中,输出为对象的属性值。该值为其 k 最近邻值的平均值。
单类支持向量机(One-class SVM):使用了非线性支持向量机的一个巧妙的扩展,单类支持向量机可以描绘一个严格概述整个数据集的边界。远在边界之外的任何新数据点都是非正常的,值得注意。