数据学习()——专注人工智能算法、学术论文和程序开发
本文来自合肥工业大学电子商务研究院刘业政老师的课堂总结。 谢谢刘老师。 哈哈。 外面有很多参考资料。 今日头条不允许链接。 您可以查看原文:
人类认识世界的过程可以理解为对世界事物进行分类的过程。 如果没有分类能力,人类的认知就不可能实现。 因此,我们从分类的角度来说明这个问题。
1. 线性可分性和线性不可分性
说到分类,就不得不谈线性可分和线性不可分。 这是模式识别中的一个概念。 在欧几里得几何中,线性可分性是一组点的属性。 最容易描述的情况是,在二维平面上,有一些点,即红点和蓝点。 如果我们可以用一条直线将不同颜色的点分开,那么它们就是线性可分的。 判断一组点是否线性可分,就是看能否找到一个超平面将这些点分开。 超平面是n维欧几里得空间中的线性子空间,其余维等于1,即它必须是(n-1)维。 例如,平面中的线、空间中的平面等是二维空间和三维空间的超平面。 如下图所示,是线性可分和线性不可分的二维空间的例子。
图1
借助线性可分性的概念,我们可以构造一个分类器来帮助我们对目标对象进行分类。 例如,如果数据是p维向量,那么我们可以构造一个(p-1)维超平面来分离数据。 如图 1 中的第一个线性可分离情况所示,假设我们要分离二维平面上的点。 然后我们可以构造一个分类器,它是一个线性函数:
y=f(x)=wx+b
我们希望这个方程能够将不同颜色的点分开,这意味着我们需要一组参数w和b来获得一个函数。 使所有红点在线的左侧,所有蓝点在线的右侧。
图2
总结一下,在机器学习的分类任务中。 我们需要构建一个分类模型Y=F(X),以便能够很好地区分数据所属的类别。 假设我们有N个训练数据{xi,yi},那么分类器的目标(函数)是:
这里N是样本量,k是范数阶数,k=0,1,2,... 以上是对机器学习中分类模型的简单总结。 不懂的同学可以自己补课。 这不是本文的重点。 该过程将不再详细解释。 我们只会使用这种形式。
2. 过拟合和欠拟合
然而,在实际情况中,并非所有数据都是线性可分的。 如图2所示,平面上的点的分类不是线性可分的。 这些点是二维空间中的点。 第一张图使用的分类器是线性分类器,就是wx+b,但是此时分类效果不好。 第二张图的分类器是添加一维后的,即w1x2+w2x+b。 这个时候分类就比较好了。 如果是第三张图的分类器(图不是,我们假设是立方的),就变成了w_1x^3+w_2x^2+w_3x+b,那么此时就是过拟合了。 可见,增加空间维度会显着增加参数,增加计算复杂度,还可能导致过拟合问题。
从这个例子中我们可以看出,在线性不可分的情况下,如果我们仍然在当前维度构造分类器,就会出现欠拟合的情况,如图2最左图所示。此时,我们可以将空间映射为一个高维空间,那么数据在高维空间中是线性可分的。 如图3所示,二维平面上线性不可分的点映射到三维空间后,可以利用平面使其线性可分。 但如果我们增加的空间维数太高,就会增加大量参数,导致过拟合,如上图3最右图所示。 欠拟合是指分类器不能很好地对当前数据进行分类,而过拟合是指分类器对训练数据进行过拟合,导致在训练集上有很好的分类效果,但由于噪声等原因,这种很好的分类能力在面对时实际上会下降与新数据。
图3
3、预期风险、经验风险和结构性风险
我们从另一个角度来理解前面提到的欠拟合和过拟合问题。 在机器学习中,我们一般会遇到三类风险,即期望风险、经验风险和结构风险。 这里简单介绍一下,因为过拟合实际上是只考虑经验风险而忽略结构风险的结果。
3.1. 预期风险
首先说一下我们机器学习的目标,就是希望模型的预测结果和数据的实际输出结果一致。 这显然是不可能的。 所以我们定义一个函数来衡量模型的预测值与真实值之间的差异,这就是模型的拟合能力。 模型和数据之间的差距可以通过定义成本函数(或损失函数)来描述:
请注意,成本函数描述了数据总体和模型之间的差异。 成本函数定义了我们常说的预期风险,即模型对整体数据的拟合能力。 我们的目标是期望风险尽可能小。 预期风险越小,模型的拟合能力越强。 显然,预期风险函数在实践中很难获得,因为很难知道数据的总体分布是什么。 因此,我们需要定义其他风险函数而不是预期风险。
3.2. 体验风险
前面我们提到了机器学习分类任务的目标函数。 在训练模型的过程中,分类的目标很简单,就是希望样本的真实值和预测值之间的差异尽可能小。 我们对某个样本的预测值与其真实值之间的差值就是损失,利用上述差值就可以确定损失函数,所以也称为损失函数。 损失函数的值实际上是一个随机变量,因为它取决于随机变量的输出(即取决于输入值)。 因此,我们一般根据损失函数的期望来做出决策。 我们说过,损失函数是指样本的预测值与真实值之间的差异。 这种差异的定义可以是零阶、一阶、二阶等,甚至可以是对数的。
通过损失函数,我们可以知道模型对于单个样本的预测能力。 如果想知道模型对所有样本的预测能力,只需累加所有样本下的损失函数即可。 因此,最好的分类模型应该是损失函数结果全为0,即预测值与真实值完全相同。 这在现实中显然是不可能的,但是我们可以将损失函数视为我们的目标函数。 损失函数的值越小,我们的预测就越准确。 损失函数定义了我们常说的经验风险,即:
这里Xi是输入值,Yi是输入对应的真实值,F(Xi)是我们的预测值。 N 是样本数。
经过上面的讨论,我们知道,这里的损失函数定义了对于样本数据,即训练集的风险函数,称为经验风险。 它针对的是训练数据,也就是我们的模型拟合训练数据的能力。 经验风险越小,模型对训练集的拟合能力就越好。 显然,使用经验风险而不是预期风险也是有问题的,因为这种风险函数无法衡量模型对新数据的预测能力。
3.3. 信心风险和结构性风险
尽管如此,我们还是更喜欢经验风险尽可能小的模型,因为它证明了模型拟合训练数据的能力。 当然,仅使用经验风险作为唯一目标函数来优化模型是不够的。 由于训练数据中可能存在噪声,因此无法代表总体。 因此,能够很好地拟合训练数据并不一定意味着模型能够很好地拟合测试数据。 只考虑经验风险的模型会出现我们前面提到的过拟合现象。 换句话说,我们可以定义一个高维模型,可以很好地对原始数据进行分类和建模。 但高维模型函数过于复杂,参数过多,容易出现过拟合。 因此,我们需要定义一个新的风险函数,使得模型能够在优化经验风险的同时降低自身的复杂度。 这就是结构风险函数。 其定义如下:
换句话说,结构性风险相当于经验风险+信心风险。 上式右边第二项是机器学习中分类函数VC维的置信区间。 VC维度的置信区间描述了模型对未知文本的预测误差。 关于信心风险的详细由来以及VC维度的知识我们稍后会重新介绍,但这里先简单说一下。 VC 维度是描述在样本集上有效的假设数量的数字。 这意味着对于一段数据,我们的假设空间(可以简单理解为模型的数量)非常大,但这不利于我们找到最好的假设空间来逼近理想解(真实模型) ,所以我们需要寻找理论数据,使得假设空间不大于这个值,理论上就能帮助我们找到理想的解。 VC维的概念有助于我们理解假设空间的数量。 这里我们使用VC的最终结论,即VC维度的大小:它与学习算法、输入变量的分布以及我们求解的目标函数无关。 这仅与模型和假设空间有关。 VC维反映了假设空间H()的强度。 VC维度越大,H越强,因为它可以分解()更多的点。 换句话说,VC维越大,模型泛化能力越差(因为假设空间更宽),置信风险也越大。 在模型上,模型变得非常复杂。 因此,结构风险的目标是保证当经验风险较小时,置信风险也较小。
4、规律性的作用
前面说了这么多,我们总结一下,在机器学习中,模型的目标是拟合数据。 但我们也不希望模型过度拟合。 换句话说,我们对模型的要求是经验风险和结构风险同时很小。 也就是说,在模型拟合能力良好的同时,必须降低模型的复杂度才能获得更好的模型泛化能力。 降低模型复杂度有两种方法:一是降维、减少特征,这样可以减少模型参数的数量。 二是约束参数。 减小参数的取值范围。 第二种方法是添加正则项。 添加正则项后,新模型的假设空间将受到限制。 此时模型的VC维会变小,意味着模型的泛化能力更强。 我们的新目标函数是:
这里nn指的是模型中参数的个数,\λ是正则项的系数,mm是正则项的阶数,可以是0,1,2,...
以0阶正则为例,也就是说模型的参数要么是0,要么是1,这显然大大减少了模型参数的数量。 然而0阶范数的解是一个NP难问题,显然不符合我们的要求。 那么一阶范数呢? 一阶范数也可以降低模型的复杂度,但一阶范数的推导比较困难。 所以一般来说,我们可以对正则项取二阶范数。
5、常规术语的其他理解
除了上面对机器学习中正则术语的理解之外,我们还有另外两种方式来理解正则术语的含义。
5.1. 拉格朗日乘子
在数学中的优化问题中,拉格朗日乘子法(以数学家约瑟夫·拉格朗日命名)是一种当多元函数的变量受一个或多个条件影响时求其极值的方法。 方法。 该方法可以将具有n个变量和k个约束的优化问题转化为求解具有n+k个变量的方程组的问题。 该方法引入一个或一组新的未知数,即拉格朗日乘子,也称为拉格朗日乘子,或拉格朗日乘数,它们在变换后的方程,即约束方程中,作为 的线性组合中各个向量的系数坡度()。 微积分中最常见的问题之一是找到函数的最大值和最小值(极值)。 但很多时候很难找到极值函数的显式表达式,特别是当函数有前提条件或约束时。 拉格朗日乘子提供了一种非常方便的方法来解决此类问题,无需显式引入约束和求解外部变量。 在机器学习中,我们的目标函数是:
这种形式只是一个约束极值问题。 这个约束极值问题可以使用拉格朗日乘法转换为新函数的极值问题:
我们看到这两个公式是等价的,这意味着正则化的本质是给未知参数带来一定的约束。
5.2. 贝叶斯先验
对正则项的另一种理解是通过概率矩阵分解中的先验。 参考。 在无先验矩阵分解的推导中,我们得到公式:
当U和V分别有先验参数时:
请注意,这里我们添加了一个对数函数。 可以看出,添加先验后的概率矩阵分解结果具有更多的未知参数的先验。 如果先验是高斯分布,那么变换与之前的二阶范数完全相同。
总结
最后总结一下,正则项通过增加对模型参数的约束来减少模型的过拟合。 其背后的原则是模型应该同时降低经验风险和结构风险,而降低结构风险背后的概念最初来自于VC维度的概念。
参考文献1:《机器学习的数学基础》。 刘业正。 合肥工业大学. 管理学院。 电子商务研究所
参考资料2:
参考资料3:
参考资料4:
参考5:%E7%BB%B4%E7%9A%84%E6%9D%A5%E9%BE%99%E5%8E%BB%E8%84%89/
参考 6:%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E6%95%B0
参考7: