👉Tips💡:文中长公式可滑动查看全部哦!😁😁
数学知识在数据科学和机器学习中重要吗?
这是很多人都会问的问题,特别是那些刚入门的人。
我的回答言简意赅:是的,这很重要,这就是我这样说的原因。
瞧......如今,人们无需了解算法的任何数学细节就可以进行“机器学习”。
例如(顺便感谢 sklearn 的存在):
这其实有好有坏:
事实上,许多数据科学家(主要是应用方面的),他们并不完全了解数学细节,但仍然可以构建和部署模型。
没有什么不对。
然而,如果一个了解数学原理的专家,在与他们交谈的过程中就会发现他们“在使用什么”以及“为什么使用它”之间常常存在一些脱节。
由于缺乏对底层细节的理解:
如果你觉得自己也是其中之一,没关系。本文正好可以帮你回答这些问题。
也就是说,如果你真正渴望在这个领域出类拔萃,那么对底层数学细节的好奇心将带来巨大的回报。
渐渐地,你会从反复尝试的方法转变为“我知道什么应该起作用”。
为了帮助您迈出第一步,我准备了以下图表,其中列出了数据科学和统计学中使用的一些最重要的数学公式(无特定顺序)。
在继续阅读之前,请逐一查看这些概念,看看你知道其中多少个:
接下来,我们将分别对其一一解释。
梯度下降(Gradient Descent)是一种优化算法,用于找到函数的局部最小值。在机器学习和数据科学中,梯度下降常用于优化损失函数,以提高模型的预测性能。
梯度下降的基本思想是:在函数的当前位置计算梯度(即函数在该点的斜率),然后沿着梯度的负方向(即下降最快的方向)移动一小步,重复这个过程,直到找到函数的最小值。
具体来说,梯度下降的步骤如下:
其中 是当前的参数值, 是学习率(决定步长的大小), 是函数在 处的梯度。
需要注意的是,梯度下降只能保证找到局部最小值,而不是全局最小值,除非函数是凸函数。此外,梯度下降的效果受学习率的影响,学习率过大可能会导致算法不收敛,学习率过小则可能需要很多次迭代才能收敛。因此,选择合适的学习率是使用梯度下降的一个重要考虑因素。
正态分布(Normal Distribution),也被称为高斯分布(Gaussian Distribution),是一种在自然和社会科学中常见的连续概率分布。正态分布的形状是对称的,呈现出著名的“钟形曲线”。
正态分布的概率密度函数(PDF)由以下公式给出:
其中, 是分布的均值, 是标准差。
正态分布有以下特性:
正态分布在统计学和机器学习中有广泛的应用,例如在假设检验、置信区间的计算、线性回归等方法中都假设数据服从正态分布。此外,根据中心极限定理,如果我们从任何形状的分布中抽取足够多的样本,那么样本均值的分布将趋近于正态分布,这也是正态分布在实际应用中非常重要的原因。
Z分数(Z-Score)是一种统计测量,它描述了一个值相对于平均值的位置。具体来说,Z分数是通过从原始数据中减去平均值并除以标准差来计算的。
Z分数的计算公式为:
其中, 是我们要计算Z分数的数据点, 是所有数据的平均值, 是所有数据的标准差。
Z 分数有以下特性:
Z 分数在统计学和数据科学中有广泛的应用。例如,我们可以使用 Z 分数来标准化数据,使其具有零均值和单位标准差。这在许多机器学习算法中是非常有用的,因为这些算法通常假设输入数据是标准化的。此外,Z 分数也可以用于识别异常值,因为异常值的 Z 分数通常会非常大或非常小。
Sigmoid函数是一种常用的非线性激活函数,它的输出值在0和1之间。Sigmoid函数常用于二分类问题中,因为它可以将任何实数映射到$0,1)区间,可以看作是概率值。
Sigmoid 函数的公式为:
其中, 是自然对数的底数,约等于 2.71828。
Sigmoid 函数有以下特性:
那么
需要注意的是,虽然 Sigmoid 函数在很多情况下都很有用,但它也有一些缺点。例如,当输入值的绝对值很大时,Sigmoid 函数会出现饱和,导数接近于0,这会导致梯度消失问题。此外,Sigmoid 函数的输出不是以0为中心的,这可能会导致优化过程更加复杂。因此,在实际应用中,我们可能会选择其他的激活函数,如 ReLU 函数、tanh 函数等。
相关性(Correlation)是一种统计量,用于衡量两个或多个变量之间的线性关系的强度和方向。相关性的值范围在 -1 到 1 之间。
相关性常用的计算方法是 皮尔逊相关系数(Pearson Correlation Coefficient),其公式为:
其中, 和 是单个样本点, 和 是各自的平均值。
需要注意的是,相关性只能衡量线性关系,对于非线性关系,相关性可能会低估实际的关系强度。此外,相关性不代表因果关系。即使两个变量高度相关,也不能确定一个变量的变化会导致另一个变量的变化。这就是所谓的“相关不意味着因果”原则。
余弦相似度(Cosine Similarity)是一种在多维空间中计算两个向量相似度的方法。它的计算方式是通过测量两个向量之间的夹角的余弦值来确定它们之间的相似度。余弦相似度的值范围在 -1 到 1 之间。
如果我们有两个向量 和 ,它们的余弦相似度可以通过以下公式计算:
其中, 和 是向量 和 的第 个元素, 和 是向量 和 的二范数(即向量的长度)。
余弦相似度常用于文本挖掘、推荐系统等领域,用于衡量文档、用户等的相似度。需要注意的是,余弦相似度只考虑了向量的方向,而忽略了向量的长度。因此,它更适合于衡量方向性的相似度,而不是数量级的相似度。例如,在文本挖掘中,我们更关心两篇文章的主题是否相似,而不是文章的长度是否相似。这就是为什么余弦相似度在这些领域中被广泛使用的原因。
朴素贝叶斯(Naive Bayes)是一类基于贝叶斯定理(Bayes' Theorem)的简单但非常有效的概率分类器。尽管朴素贝叶斯分类器在现实中未必准确,但在许多实际应用中都表现得非常好,特别是对于大规模数据集。
贝叶斯定理用于计算后验概率,即在给定观测数据的情况下某个事件发生的概率。公式如下:
其中:
朴素贝叶斯的“朴素”假设是各特征之间相互独立。即给定类别,特征之间的联合概率可以表示为各特征条件概率的乘积。这一假设大大简化了计算,使得算法能在高维空间中高效地工作。
在分类任务中,朴素贝叶斯分类器的目标是找到使后验概率最大的类别 。使用贝叶斯定理,我们可以表示为:
由于 对于所有类别 都是相同的,我们可以忽略它,只需比较 的大小即可。
根据朴素假设, 可以分解为各特征条件概率的乘积:
因此,我们可以得到:
朴素贝叶斯分类器常用于文本分类、垃圾邮件过滤、情感分析等任务。常见的朴素贝叶斯模型包括:
朴素贝叶斯模型简单高效,特别适合处理大规模、高维数据,尽管其“朴素”假设在现实中未必成立,但在许多实际应用中仍然表现得很好。
最大似然估计(Maximum Likelihood Estimation,MLE)是一种统计方法,用于估计模型参数。这种方法的基本思想是,给定一组数据和一个统计模型,我们应该选择那些使得观察到的数据出现的可能性(即“似然”)最大的参数。
假设我们有一个概率模型,其概率密度函数为
其中 是观察到的数据, 是模型的参数。在最大似然估计中,我们希望找到参数 的值,使得给定 下观察到数据 的概率最大。也就是说,我们要最大化“似然函数”
对于独立同分布的数据,似然函数是每个数据点的概率密度的乘积,即:
由于连乘操作在计算上可能会有困难(例如,可能会导致下溢),因此我们通常会取对数似然,将连乘转换为连加:
然后,我们找到使 最大的 值,这就是最大似然估计。
需要注意的是,最大似然估计只提供了一种参数估计方法,并不能保证得到的估计量具有良好的统计性质(如无偏性、一致性等)。在实际应用中,可能还需要考虑其他的参数估计方法。
普通最小二乘法(Ordinary Least Squares,OLS)是一种用于估计未知参数的线性回归模型的方法。它通过最小化预测值和实际观察值之间的平方差来工作。
在数学上,假设我们有一个线性模型:
其中:
OLS 的目标是找到参数向量 ,使得残差平方和(RSS)最小:
通过对 求导并令其等于零,我们可以得到 OLS 估计量:
这就是普通最小二乘法的基本原理。它在许多统计和机器学习任务中都有广泛的应用,因为它提供了一种简单而有效的参数估计方法。然而,当设计矩阵 的列不是线性无关的,或者观察值的数量少于特征的数量时, 可能不存在,这时就需要使用其他的参数估计方法,如岭回归或套索回归。
F1 分数(F1 score)是一种用于评估二元分类模型性能的指标,特别是在数据不平衡的情况下。它是精确度(precision)和召回率(recall)的调和平均数。
精确度是指模型预测为正例的样本中实际为正例的比例,而召回率是指实际为正例的样本中被模型预测为正例的比例。F1 分数同时考虑了这两个指标,其计算公式为:
F1 分数的取值范围为 0 到 1,其中 1 表示最好的性能,0 表示最差的性能。如果模型的精确度和召回率都很高,那么 F1 分数也会很高。相反,如果模型的精确度和召回率中任何一个很低,那么 F1 分数也会降低。
因此,F1 分数是一种平衡精确度和召回率的方法,特别适用于正负样本不平衡的情况。在某些情况下,我们可能更关心精确度或召回率,这时可以使用其他指标,如精确度、召回率或 AUC-ROC。但是,如果我们同时关心精确度和召回率,那么 F1 分数是一个很好的选择。
ReLU,全称为线性整流函数(Rectified Linear Unit),是深度学习中常用的一种激活函数。其数学表达式为:
这意味着,如果输入值 大于0,ReLU函数会直接输出该值;如果 小于或等于0,ReLU函数会输出0。ReLU函数的主要优点是能够在不影响正向传播的同时,解决了神经网络训练过程中的梯度消失问题。这使得ReLU函数在处理非线性问题时,尤其是在深度神经网络中,具有很好的表现。
但是,ReLU函数也存在着“死亡ReLU”问题,即某些神经元可能永远不会被激活,导致相应的参数无法更新。针对这个问题,有一些ReLU的变种函数,如Leaky ReLU或Parametric ReLU等。这些函数允许在小于0时有一个非零的输出,从而缓解“死亡ReLU”问题。
Softmax 函数是一种在机器学习和深度学习中常用的激活函数,尤其在处理多分类问题时非常有用。Softmax函数可以将一组输入值转换为一组介于0和1之间的输出值,并且所有输出值的总和为1,因此输出值可以被解释为概率。
假设我们有一个向量
其中 是类别的数量。Softmax函数的数学表达式为:
这意味着,对于向量 中的每个元素 ,我们计算 ,然后除以所有 的总和(其中 从1到 )。这样可以确保所有的输出值都在0和1之间,并且总和为1。
Softmax 函数的一个重要特性是它能够突出向量中最大的元素,并抑制较小的元素,这在多分类问题中非常有用,因为我们通常对最大的预测概率最感兴趣。但是,由于 Softmax 函数的这种特性,它也更容易受到输入值的极端值的影响。因此,在使用 Softmax 函数之前,通常需要对输入值进行归一化或标准化。
R²分数(也称为决定系数)是一种在回归分析中常用的统计指标,用于衡量模型对数据的拟合程度。
R²分数的取值范围通常在0到1之间(但在某些情况下也可能为负)。R²分数为1表示模型完美地拟合了数据,即模型能够解释数据中的所有变异性。R²分数为0表示模型没有比直接使用目标变量的平均值进行预测更好。负的R²分数则表示模型的性能比直接使用目标变量的平均值进行预测还要差。
R²分数的计算公式为:
其中, 是残差平方和,表示模型预测值与实际值之间的差异; 是总平方和,表示目标变量的值与其平均值之间的差异。
需要注意的是,虽然R²分数是评估回归模型性能的一个常用指标,但它并不能完全反映模型的质量。例如,如果模型过度拟合数据,R²分数可能会非常接近1,但该模型在新的、未见过的数据上的表现可能会很差。因此,在评估模型性能时,我们通常会结合使用R²分数和其他指标,如均方误差(MSE)、均方根误差(RMSE)等。
均方误差(Mean Squared Error,MSE)是一种常用的回归模型性能评估指标。它衡量的是模型预测值与实际值之间的平均平方差。
假设我们有一个数据集,其中包含 个数据点。对于每个数据点 ,我们的模型预测的值为 ,实际的值为 。那么,MSE的计算公式为:
这个公式表示,我们首先计算每个数据点的实际值与预测值之间的差,然后将这个差的平方求和,最后除以数据点的总数。
MSE的值越小,表示模型的预测性能越好。当MSE为0时,表示模型的预测值与实际值完全相同,即模型完美地拟合了数据。然而,在实际应用中,我们很少能看到MSE为0的情况,因为模型通常都会有一定的预测误差。
需要注意的是,由于MSE涉及到平方运算,因此它对于预测值与实际值之间的大的偏差(即预测错误)更为敏感。这意味着,如果模型对某些数据点的预测非常不准确,那么这些数据点会对MSE的值产生较大的影响。因此,在使用MSE作为评估指标时,我们需要注意是否存在这种“异常值”或“离群点”的情况。如果存在,我们可能需要对数据进行预处理,或者选择其他不那么敏感的评估指标,如平均绝对误差(MAE)等。
MSE + L2 正则化是一种常用于机器学习和统计学中的优化策略,用于防止模型过拟合并提高模型的泛化能力。
其中 是第 个观察值的真实值, 是模型对第 个观察值的预测值, 是观察值的总数。
其中 是模型的第 个参数, 是参数的总数, 是正则化强度参数,用于控制正则化的程度。
因此,MSE + L2 正则化 的目标函数可以表示为:
在训练模型时,我们的目标是找到一组参数 ,使得目标函数 最小。这样,我们既考虑了模型的拟合程度(通过 MSE),又考虑了模型的复杂度(通过 L2 正则化),从而达到了防止过拟合和提高模型泛化能力的目的。这种方法在许多机器学习算法中都有应用,如线性回归、逻辑回归、神经网络等。
特征向量是线性代数中的一个重要概念,它在数据科学和机器学习中有着广泛的应用。
给定一个方阵A,如果存在一个非零向量v和一个标量(实数或复数)λ,使得以下等式成立:
那么,我们就称v是矩阵A的一个特征向量,对应的λ被称为这个特征向量的特征值。
在这个等式中,矩阵A将向量v变换为一个新的向量,而这个新的向量是原向量v的λ倍。也就是说,特征向量在经过矩阵变换后,其方向不变,只是长度发生了变化。
特征向量和特征值在许多数据科学的应用中都非常重要,例如主成分分析(PCA)就是利用特征向量和特征值来降低数据的维度,同时保留数据的主要特征。
熵(Entropy)是信息论中的一个重要概念,它用于量化数据中的不确定性或随机性。
在信息论中,熵定义为一个随机变量不确定性的度量。如果一个随机变量的可能结果越多,且每个结果的概率大致相等,那么这个随机变量的熵就越大。相反,如果一个随机变量的结果很确定,那么熵就很小。
对于一个离散随机变量 ,其概率分布为 ,熵的定义为:
其中,是X的可能取值,是的概率。
在机器学习和数据科学中,熵经常被用来作为决策树算法的划分标准,用于选择最优的特征进行分割。
KMeans 是一种非常流行的无监督学习算法,主要用于聚类问题。它的目标是将数据点划分为K个集群,使得同一集群内的数据点之间的相似度最大,而不同集群之间的数据点的相似度最小。
当然,我很乐意为你解释KMeans算法的数学原理。
KMeans算法的目标是最小化所有集群中的簇内平方和(Within-Cluster Sum of Squares,WCSS)。WCSS是每个数据点到其所在集群质心的欧氏距离的平方和。数学上,我们可以将其表示为:
其中, 是集群的数量, 是第 个集群中的数据点, 是第 个集群的质心, 是数据点 到其所在集群质心的欧氏距离的平方。
KMeans 算法通过迭代地更新质心和重新分配数据点到最近的质心,来最小化 WCSS。这个过程会一直持续,直到质心不再显著变化,或者达到预设的最大迭代次数。
KMeans算法的基本步骤如下:
KMeans 算法简单、易于实现,但是它有一些局限性。例如,它假设所有的集群都是凸形且对称的,这在实际问题中可能并不总是成立。此外,KMeans 的结果可能会受到初始质心选择的影响,因此通常需要多次运行以获得最佳结果。
KL 散度,全称是 Kullback-Leibler 散度,也被称为相对熵。它是衡量两个概率分布P和Q之间差异的一种方法。具体来说,它衡量的是当我们用概率分布Q来近似真实的概率分布P时,所需要付出的信息损失。
KL散度的定义如下:
这里的对数通常是自然对数。
值得注意的是,KL散度不是对称的,也就是说,
在机器学习和数据科学中,KL散度常常被用来衡量模型的性能,特别是在概率模型和深度学习中。例如,在变分自编码器(VAE)中,KL散度被用来衡量编码的潜在分布和先验分布之间的差异。在这种情况下,KL散度可以帮助我们理解模型的性能,并指导我们如何改进模型。
对数损失(Log Loss)也被称为逻辑损失或交叉熵损失,是一种在机器学习中常用的损失函数,特别是在处理二元或多元分类问题时。
对于二元分类问题,对数损失的定义如下:
其中,是真实标签,是预测为正类的概率。
对于多元分类问题,对数损失的定义如下:
其中,是第个类别的真实标签,是预测为第个类别的概率。
对数损失衡量的是模型预测概率的准确性。如果模型对真实标签的预测概率越高,对数损失就越小。因此,我们的目标是最小化对数损失。
值得注意的是,对数损失对于预测不准确的情况是严厉的。例如,如果模型对一个实际为正的样本预测为负,那么对数损失将会是无穷大。这使得对数损失成为了一种强有力的方式来评估和优化模型的性能。
支持向量机(SVM)是一种监督学习算法,主要用于分类和回归分析。SVM的基本思想是找到一个超平面,使得两个类别之间的间隔最大化。这个超平面被称为最大间隔超平面。
在二维空间中,超平面是一条线,而在更高维度的空间中,超平面可以是一个面或者一个超空间。
SVM的数学原理如下:
假设我们有一些数据点,每个数据点都有一个标签,标签的值为+1或-1,表示两个不同的类别。我们的目标是找到一个超平面,使得所有的+1类别的点都在超平面的一侧,所有的-1类别的点都在超平面的另一侧,并且两个类别之间的间隔最大。
如果我们的数据是线性可分的,那么我们可以找到一个超平面满足上述条件。这个超平面可以表示为:
其中,是超平面的法向量,是任意一点的坐标,是偏置项。
我们希望找到一个超平面,使得到每个类别最近的点的距离最大,这个距离被称为间隔,表示为:
我们的目标是最大化间隔,等价于最小化,这是一个凸优化问题,可以使用拉格朗日乘数法和 KKT 条件求解。
在非线性可分的情况下,我们可以使用核函数将数据映射到高维空间,使得数据在高维空间中线性可分。常用的核函数包括线性核、多项式核、径向基函数(RBF)核等。
线性回归(Linear Regression)是一种预测模型,用于发现自变量(解释变量)和因变量(被解释变量)之间的线性关系。这种关系可以用下面的数学公式表示:
其中:
线性回归的目标是找到一组最优的参数(),使得模型预测的 值与实际的 值之间的差异(通常使用平方误差)最小。这个过程叫做最小二乘法。
线性回归广泛应用于各种领域,包括经济学、生物学、工程学等。它是一种简单但强大的工具,可以用于预测和解释变量之间的关系。但是,它的一个主要限制是假设因变量和自变量之间的关系是线性的,这在实际问题中可能并不总是成立。因此,在应用线性回归时,需要对数据进行仔细的探索和理解。
奇异值分解(Singular Value Decomposition,SVD)是一种在线性代数中常用的矩阵分解方法。对于任意的实数或复数矩阵,都可以进行奇异值分解。
假设我们有一个 的矩阵 ,奇异值分解可以将 分解为三个矩阵的乘积:
其中:
奇异值分解有许多重要的应用,包括在机器学习和数据科学中的主成分分析(PCA)、推荐系统、自然语言处理等领域。它可以用于降维、数据压缩、以及去噪等任务。但是,需要注意的是,奇异值分解并不总是能够很好地保留原始数据的所有信息,特别是当我们使用它进行降维或数据压缩时。因此,在使用奇异值分解时,需要根据具体的应用场景和需求来决定如何选择和使用奇异值。
拉格朗日乘数法(Lagrange Multipliers)是一种在约束优化问题中寻找最优解的方法。它是通过引入拉格朗日乘数来将约束优化问题转化为无约束优化问题,从而更容易地找到解。
假设我们有一个目标函数 ,我们想要找到它的最大值或最小值,但是我们需要满足一个约束条件 。拉格朗日乘数法的思想是构造一个新的函数,称为拉格朗日函数:
其中 是拉格朗日乘数。然后,我们寻找使得拉格朗日函数 达到极值的 。这就转化为了一个无约束优化问题。
拉格朗日乘数法的关键在于理解 的含义: 可以被解释为约束 在解 处对目标函数 的“影响”或“敏感度”。如果 很大,那么约束的影响就很大,反之亦然。
拉格朗日乘数法在许多领域都有应用,包括经济学、物理学、工程学、机器学习等。但是,需要注意的是,拉格朗日乘数法只能找到局部最优解,而不一定能找到全局最优解。此外,它也不能处理不等式约束,对于这种情况,我们通常会使用其他方法,如KKT条件等。在使用拉格朗日乘数法时,需要对问题有深入的理解,并根据具体情况选择合适的方法。
你还知道数据科学中哪些重要的数学概念或定义?由你来扩展,欢迎留言告诉我👏👏👏
推荐阅读👇👇👇
10个Python自动化脚本,简化日常工作任务,看看有没有适合你的!
- END -
🌟 喜欢这篇文章吗?给个赞支持一下吧!🌟
如果你发现今天的内容对你有帮助,不妨点个赞并关注我,第一时间接收更多关于Python、数据分析和机器学习的深入分析和最新趋势。我们一起探索数据的力量,解锁AI的潜能。你的每一次互动都是对我的极大鼓励,也是我们共同成长的动力!

👇👇👇 关注并开启星标提醒,让知识与技能的火花不断在你的职业道路上燃烧吧!
原文作者:数据派探险家;如有侵权,请联系管理员删除。