机器学习-常见算法特点

一、三个关键术语

1. 任务(Task)

监督学习(supervised learning)

关注对事物未知表现的预测,包括分类问题(classification)和回归问题(regression)。

无监督学习(unsupervised learning)

倾向于对事物本身特性的分析,数据降维(dimensionality reduction)和聚类(clustering)。

2. 经验(Experience)

对于监督学习,我们拥有的经验包括特征和标记/目标两个部分。

无监督学习没有标记/目标,因此也无法从事预测任务,却更加适合对数据结构的分析。

3. 性能(Performance)

所谓性能,便是评价所完成任务质量的指标。

二、线性分类器

是一种假设特征与分类结果存在线性关系的模型。通过累加计算每个维度的特征与各自权重的乘积来帮助类别决策。

特点分析:线性分类器可以说是最基本和常用的机器学习模型。尽管其受限于数据特征和分类目标之间的线性假设,仍可以在科学研究和工程实践中把线性分类器的表现性能作为基准。例如LogisticRegression与SGDClassifier。相比之下,前者对参数的计算采用精确的解析方式,计算时间长但是模型性能高;后者采用随机梯度上升算法估计模型参数,计算时间短但是产出的模型性能略低,对于训练数据规模在10万量级以上的数据,考虑到时间的耗用,推荐使用随机梯度下降法对模型参数进行估计。

三、支持向量机(分类)(support vector classifier)

便是根据样本的分布,搜索所有可能的线性分类器中最佳的那个。真正帮助决策最优线性分类模型的数据点(两个空间间隔最小的两个不同类别的数据点)叫做“支持向量”。

特点分析:可以帮助我们在海量甚至高纬度的数据中,筛选对预测任务最为有效的少数训练样本。节省了模型学习所需要的数据内存,提高了模型的预测性能。然而要付出更多的计算代价(CPU资源和计算时间)。

四、朴素贝叶斯(Naïve Bayes)

朴素贝叶斯分类器会单独考量每一维度特征被分类的条件概率,进而综合这些概率并对其所在的特征向量做出分类预测。因此,这个模型的基本数学假设是:各个维度上的特征被分类的条件概率之间是相互独立的。

特点分析:被广泛用于海量互联网文本分类任务。由于其较强的特征条件独立假设,使得模型预测所需要估计的参数规模从幂指数量级向线性量级减少,极大地节约了内存消耗和计算时间。正是受这种强假设的限制,模型训练时无法将各个特征之间的联系考量在内,使得该模型在其他数据特征关联性较强的分类任务上的性能表现不佳。

五、K近邻(分类)

寻找与这个待分类样本在特征空间中距离最近的K个已标注样本作为参考,做出分类决策。

特点分析:该模型没有参数训练过程。属于无参数模型中非常简单的一种。导致非常高的计算复杂度和内存消耗。该模型每处理一个测试样本,都需要对所有预先加载在内存的训练样本进行遍历、逐一计算相似度、排序并且选取K个最近邻训练样本的标记,进而做出分类决策。这是平方级别的算法复杂度,一旦数据规模稍大,需要衡量计算时间的代价。

来源:博客园 - 臭臭的球球

最新文章