机器学习的通常范式

机器学习的通常范式
在这里,我将机器学习的问题简化为两种统计学习。 由于我认为无监督学习没有明确的定义,因此我不使用最多见的有监督/无监督分类。算法

做者:闻数起舞来源:今日头条|2020-06-09 08:09 收藏 分享
在这里,我将机器学习的问题简化为两种统计学习。 由于我认为无监督学习没有明确的定义,因此我不使用最多见的有监督/无监督分类。机器学习

  1. 生成模型

训练集是一些数据{x_1,x_2,…,x_n},目标是表示这些数据的几率分布p(x)。 例如,给定许多猫的照片,咱们的目标是找到这些猫的照片总体的规律,以便得到能够生成看起来像猫的照片的生成功能。 如何画猫。 一样,咱们但愿使用人工制做的示例来教机器如何讲话,如何写做以及如何撰写文章。ide

  1. 判别模型

训练集是一对数据和标签{(x_1,y_1),(x_2,y_2),…,(x_n,y_n)},其中x_i是数据,y_i是标签,而且 目的是在给定数据的状况下表达标签的条件几率,即p(y | x)。 例如,咱们有不少照片x_i,每张照片都有一个标签,告诉咱们该照片是猫仍是狗。 而后,y_i有两个可能的值,y_i = cat或y_i = dog。 咱们但愿机器学习如何区分猫和狗,以便当咱们有了新图片x 时,机器还能够经过计算p(y = cat | x )和p(y = dog | x * )是猫仍是狗。 这些问题也被普遍使用,例如图像识别,语音识别,医学诊断等。函数

尽管在某些状况下没法同时包含这两种模型,但一般能够在进行较小的更改的状况下将它们包括在内。 在这里,咱们将不讨论这些次要问题。性能

一般,咱们的目标是从某个数据集中找到一个好的函数,以表示所需的几率分布p(x)或p(y | x)。 可是,许多问题仍未解决。 有无数种几率分布。 咱们应该选择哪些功能? 函数空间是无限维的,应该以哪一种方式有限地表示这些函数? 对于两个候选人的几率分布,咱们如何判断它们? 如何找到这些功能中最好的。 这些问题将在下面一一回答。 咱们将解决机器学习问题的过程归纳为如下几部分。学习

  1. 数据集

您要学习的对象。为了不过分拟合的现象,对于歧视问题,一般将数据集分为训练集(测试集)和测试集(测试集)。模型仅在训练过程当中接触训练集,而训练后的测试集将用于测试模型的效果。例如,咱们假设高考和模拟考试的问题类似,但并不彻底相同,所以在模拟考试训练以后,高考用于测试最终的学习水平。若是存在遗漏问题的问题,只要在不理解的状况下强行记住高考的真实问题,一我的就能在高考中取得良好的成绩。过分拟合将这种现象描述为"死记硬背,而不是类推"。实际上,训练集也应该分红一个验证集,可是为了简化问题,咱们这里再也不讨论。测试

  1. 模型空间

全部可能的几率分布函数都是一个巨大的集合。在这里找到最佳功能就像在大海捞针。所以,咱们常常选择一些候选函数并在其中搜索。这个选择很是重要,由于若是咱们选择的这些替代功能不合适,那么即便咱们在其中找到了最佳解决方案,也仍然没法很好地解决问题。模型空间的选择几乎决定了机器学习算法的本质。不管是线性回归,各类基于树的方法仍是由隐马尔可夫模型表示的图形模型,最大的区别之一在于模型空间的选择。通常来讲,机器学习算法是指模型空间和如下将要描述的模型表示。 VC维数理论向咱们揭示了每一个问题的最佳模型(空间)能够最好地解决问题。太大的模型空间很容易致使过分拟合,反之亦然。 )。当咱们谈论深度学习时,咱们将回到这个问题。优化

  1. 模型的表示(参数化/体系结构)

这是一个相对模糊的概念,可是我我的认为,它对于解释深度学习与传统机器学习之间的差别具备重要意义。首先,即便咱们将模型空间限制在相对较小的程度,咱们仍然须要找到一种方法来表示空间中的每一个函数,或者须要为该替代函数命名。举个例子,若是咱们选择模型空间做为全部二次函数,即S = {p(x)= a_1 x²+ b_1 x + c_1,对于任何a_1,b_1,c_1},咱们能够指向经过长度为三的向量(a_1,b_1,c_1)在每一个S中使用该函数。可是,S能够写为不一样。例如,对于任何a_2,b_2,c_2,d_2},S也能够表示为S = {p(x)=(a_2 * x + b_2)(c_2 x + d_2),这样,咱们能够也用向量(a_2,b_2,c_2,d_2)表示每一个候选函数。做为一个集合,两个函数空间彻底相同,可是做为帮助咱们找到最佳函数的指南,不一样的表示形式可能会有很大的不一样。还有一类非参数模型(非参数)没法简化为这种状况,例如kNN(k最近邻),但它们不是本文的重点。设计

  1. 目标函数(object / lo function)

为了判断哪一种函数是好的,咱们须要引入一个可量化的标准,一般称为目标函数(object function),也一般称为损失函数(lo function)。 ,所以表示为L。对于每一个候选函数p(x),L将给出评估L(p),L(p)越小意味着p(x)越好。一般,L与训练集有关,由于L应该反映p(x)是否包含训练集中包含的信息。对于判别问题,最简单的选择之一能够是训练集上p(y | x)的准确性。精度越高,训练集中包含的信息p(y | x)就越多。可是这里也存在过分拟合的危险,由于训练集的高精度不必定意味着测试集的高精度,因此p(y | x)可能只是记录了样本中的大多数示例。训练集(记忆),仅此而已。除了限制模型空间外,咱们还能够向目标函数添加正则化以限制这种状况的发生。简单来讲,常规术语表明咱们对不一样模型的偏好。对于具备类似性能的两个不一样模型,咱们将根据正则项的大小进行选择。例如,根据奥卡姆(Occam)的剃刀原则,咱们能够设计一个常规术语,以便在某种意义上能够选择一个尽量简单的模型。最后,除了准确性外,常见的目标函数还包括均方估计(L2),均值绝对估计(L1),铰链损失,负对数似然和交叉熵。其中,交叉熵一般能够从KL散度导出。对象

  1. 优化算法

在准备的前四个步骤以后,咱们能够严格地将机器学习问题定义为优化问题,即找到最大值/最小值的问题。给定数据集,选择与数据集相关的目标函数L,定义模型空间S,并经过一些参数化将其表示为S = {pw:对于T中的任何w},其中T一般是多维欧几里得的子集空间,即w是知足某些条件的向量。那么,咱们须要解决的优化问题是min {w in T} L(p_w),即找到T中的w以使L(p_w)的值最小。

对于不一样的机器学习问题,此优化问题可能具备很是不一样的属性,最合适的优化算法天然也有所不一样。许多机器学习模型都有特定的优化算法,例如支持向量机(support vector machine)SMO算法和混合模型(mixture model)EM算法。另外,影响优化结果的因素是初始化。许多优化算法能够看做是在定义域中沿着特定路径进行的一系列搜索。对于复杂的优化问题,搜索的起点一般很是重要。初始选择方法能够看做是优化算法的一部分。优化算法自己也是一个很好的研究方向。稍后,咱们将继续讨论有关优化算法和深度学习之间的相互做用的主题。

以上五个步骤基本上总结了解决机器学习问题或应用机器学习算法的整个过程。 其中,经过优化算法求解的过程就是所谓的训练过程(training)。 训练的时间取决于数据集和模型的大小。 在笔记本上,此过程可能须要几秒钟,而在计算群集上,则可能须要几天。

相关文章
相关标签/搜索