机器学习背后的数学
让我们看一下机器学习中的几种技术以及该过程中使用的数学主题。
在线性回归中,我们尝试为给定的一组数据点找到最佳拟合线或超平面。我们使用一组参数作为权重,通过输入变量的线性组合对线性函数的输出进行建模。
通过最小化残差平方和来找到参数。通过将残差平方和的导数向量设置为零向量,可以找到一个临界点。通过二阶导数检验,如果临界点处的残差平方和的Hessian为正定的,则??残差平方和在此处具有局部最小值。
在上述过程中,我们使用了导数,二阶导数检验和Hessian,它们是来自多变量演算的概念。我们还可以使用线性代数找到最小化问题的解决方案。
令X为矩阵,其中行是我们的数据输入,每行以1开头,而y是我们的数据输出的向量。我们想要一个向量β,使得Xβ接近y。换句话说,我们想要一个向量β,使得Xβ和y之间的距离“Xβ-y”最小。使距离最小的向量β使得Xβ是y在X的列空间上的投影。这是因为y在X的列空间上的投影是X的列空间中最接近X的向量。 y。然后,我们使用以下事实:欧几里得N-空间可以分解为两个子空间,即X的列空间和X的列空间的正交补码,以及这样的事实:欧几里德N-空间中的任何矢量都可以唯一地写为X的列空间和X的列空间的正交补中的向量之和,得出y-Xβ正交于X的列。从这里,我们可以得出矩阵方程X ^ TXβ= X ^ T y。如果X ^ TX是正定的,则??X ^ TX的特征值都为正。因此,0不是X ^ T X的特征值。由此可见,X ^ TX是可逆的。然后,我们可以求解β的矩阵方程,其结果与使用多变量演算得到的结果相同。
在我们刚刚讨论的解决方案中,使用了范数,投影,列空间,子空间,正交补码,正交性,正定性,特征值和可逆性的概念。这些是线性代数的概念。我们还利用了以下事实:欧几里得N-空间可以分为两个子空间,即X的列空间和X的列空间的正交补,并且欧几里得N-空间中的任何向量都可以唯一地写为向量之和分别在X的列空间和X的列空间的正交补中。
让我们转向分类问题。在分类问题中,我们要确定数据点所属的类。用于分类问题的方法之一是线性判别分析。
在线性判别分析中,我们估计Pr?(Y = k | X = x),在输入变量X为x的情况下,Y为类k的概率。这称为后验概率函数。一旦我们拥有了固定x的所有这些概率,就选择概率为Pr?(Y = k | X = x)最大的类k。然后我们将x归类为k。
使用贝叶斯规则,我们可以根据π_k=Pr?(Y = k),Y = k的先验概率和f_k(x)=Pr?(X = x | Y = k)来重写后验概率函数,假设Y = k,则X = x的概率。
我们假设给定Y = k时X的条件分布是多元高斯分布N(μ_k,Σ),其中μ_k是特定于类的均值向量,而Σ是X的协方差。因此f_k(x)可以重写为μ_k和Σ的项。
现在,我们找到π_k,μ_k和Σ的估计值,从而得到p_k(x)的估计值。我们根据估计的p_k(x)最大的类别k对x进行分类。
在线性判别分析中,我们使用后验概率函数,先验概率,贝叶斯规则,多元高斯分布,特定类平均向量和协方差,这是概率论的概念。
解决分类问题的另一种方法是逻辑回归。就像线性判别分析一样,我们要估计Pr?(Y = k | X = x)并选择概率最大的类别k。与其像线性判别分析中那样,不使用贝叶斯定律间接估计该概率,而是直接估计该概率。
假设只有两个类别0和1,令p(x)=Pr?(Y = 1 | X = x)。在逻辑回归中,我们假设对数奇数是x分量的线性函数。假设对数奇数是x的线性函数,具有参数β_0,β_1,…,β_p,我们可以根据参数和x的线性函数求解p(x)。如果我们有参数β_0,β_1,…,β_p的估计,我们可以得到p(x)的估计。
我们观察到的数据的概率是参数β_0,β_1,…,β_p的函数,被称为似然函数。我们通过使似然函数最大化来找到参数的估计。最大化似然函数等效于最大化似然函数的对数。为了最大化对数似然函数,我们使用Newton-Raphson方法。
对数似然函数L(β)是β=(β_0,β_1,…,β_p)的实值函数。因此,L是从R ^(p + 1)到R的函数。此外,L是两次连续可微的。因此,我们可以应用多元Newton-Raphson方法。
在逻辑回归中,我们使用似然函数,概率论的概念以及多元牛顿-拉夫森方法(多元微积分的概念)。
接下来,我们将研究一种可用于解决回归和分类问题的方法。在人工
神经网络中,我们使用线性和非线性函数的组合来建模输出函数。
输出函数可以由神经网络图表示。
输入单元(包括常数1)将形成输入层。我们对输入单元(包括常数1)进行线性组合,然后对其应用激活函数h以获得新的单元。h是一个微分(可能是非线性)函数。例如,我们这样做了M次;现在,我们有M个隐藏单元,它们构成了一个隐藏层。如图所示,线性组合中的权重由连接两个单元的线段表示。我们可以继续这一过程,对上一层中的单元进行线性组合,并对每个线性组合应用激活函数以创建新的隐藏单元,从而创建下一个隐藏层。在某一点上,我们有最后一层,称为输出层,并对每个输出单元Y_k使用激活函数g_k。
通常,将激活函数h选择为逻辑S型函数或tanh函数。输出激活函数g_k会根据问题的类型而有所不同,无论它是回归问题,二进制分类问题还是多类分类问题。
到目前为止,我们已经构造了取决于输入x的输出值Y_k,并且涉及许多未知参数。现在,我们的目标是使用我们的训练数据来查找未知参数的值,以最大程度地减少误差。对于二元分类,我们通过最大化与观测数据的概率相关的似然函数来找到参数的估计值。这对应于最小化所谓的交叉熵误差函数。同样,对于多类分类,我们通过最大化与观测数据的概率相关的似然函数来找到参数的估计值;这对应于最小化所谓的多类交叉熵误差函数。对于回归,我们通过最小化平方和误差函数来找到参数的估计值。
为了最小化误差函数,我们使用梯度下降,这需要找到误差函数的梯度。为了找到误差函数的梯度,我们使用反向传播。
在人工神经网络中,在分类问题中使用了概率论中的似然函数概念。来自多变量演算的梯度下降用于最小化误差函数。在反向传播期间,将使用多变量链规则。
让我们看一下支持向量机用于解决分类问题的方法。这个想法是,我们有很多数据点,比如说两个类,我们想用决策边界将它们分开。例如,数据点可能很容易被这样的一行分隔开:
如果可以使用线或超平面轻松分离数据点,我们发现分离的超平面距离这些点尽可能远,因此存在较大的余量。这需要最大化裕度,并且最终成为凸优化问题。为了解决这个凸优化问题,我们使用拉格朗日乘子,这是多变量演算的一种概念。一旦找到最大余量超平面,就可以根据该点位于超平面的哪一侧来对新点进行分类。这种对点进行分类的方法称为最大余量分类器。
如果数据点无法通过超平面分离,我们仍然可以尝试找到一个将大多数点分隔开的超平面,但是其中某些点可能位于边界内或位于超平面的错误一侧。情况可能看起来像这样:
就像在最大余量分类器中一样,我们希望我们的超平面尽可能远离超平面正确一侧的每个点。因此,边缘上或边缘外的点,但在超平面的正确侧面上的点将尽可能远离超平面。边缘内但在超平面正确侧的点将尽可能远离超平面,并尽可能靠近边缘边界。对于超平面错误一侧上的那些点,我们希望这些点尽可能靠近超平面。
就像在最大余量分类器中一样,我们要最大化余量,以使超平面正确侧上的点尽可能远离超平面。
我们不仅要最大化保证金,而且还希望最小化违反保证金的行为。该问题原来是凸优化问题,可以使用拉格朗日乘数来解决。
找到分离的超平面(称为软边界超平面)后,我们可以根据该点位于超平面的哪一侧来对新点进行分类。这种对点进行分类的方法称为软边距分类器。
如果数据点不是线性可分离的,并且似乎将两个类别分开的决策边界是非线性的,则可以使用所谓的支持向量机或支持向量机分类器。这个想法是考虑一个更大的特征空间,在这个更大的空间中具有与原始数据点相关联的数据点,并将支持向量分类器应用于更大特征空间中的这个新的数据点集。这将在扩大的特征空间中为我们提供线性决策边界,而在原始特征空间中为我们提供非线性决策边界。通过将新点发送到更大的空间并使用线性决策边界对其进行分类。需要支持向量机的情况如下所示:
在解决软边界分类器的凸优化问题的过程中,会出现点积;在支持向量机的方法中,我们用称为内核的东西代替了点积。核本质上是一个函数,可以表示为在某些变换h下输入值的图像的内积。用内核替换点积的过程称为内核技巧。
内核K应该是有效内核;也就是说,应该有一个对应于K的特征空间映射h。根据Mercer定理,将K设为对称正半定数就足够了。
在支持向量机方法中,扩大的特征空间可以是非常高的维度,甚至是无限的维度。通过直接使用内核,我们不必处理特征映射h或扩大的特征空间。
在支持向量机的方法中,我们看到使用了点积和对称正半定性的概念。这些概念来自线性代数。为了解决凸优化问题,使用了拉格朗日乘子。这个概念来自多元演算。
在本文中,我们研究了机器学习技术线性回归,线性判别分析,逻辑回归,人工神经网络和支持向量机背后的数学原理。
1