分享

UC头条:这就是微积分的强大之处——数据可视化中的运用

 天使之剑 2020-03-28

微积分是一种以纯粹形式发展起来的抽象理论。

微积分,更确切地说是分析学,是研究数量变化率(可以解释为曲线的斜率)和物体的长度、面积和体积的数学分支。微积分分为微分学和积分学。

微分

积分

微积分这个词来自拉丁语,意思是“小石头”,因为这就像通过观察小块来理解一些东西。

微积分是数学的一个固有领域,尤其是在许多机器学习算法中,你不能想要跳过这门课来学习数据科学的本质。

微分学把一个东西切成小块来研究它是如何变化的。

积分学把这些小块连接起来,计算出有多少。

我希望你们已经理解了微分和积分的基础知识。数据科学家几乎对每一个模型都使用微积分,梯度下降是机器学习中微积分的一个基本但很好的例子。

梯度下降法

梯度测量的是如果你稍微改变一下输入,函数的输出会改变多少。

假设你有一个球和一个碗。无论你把球放在碗里的什么地方,它最终都会落在碗的底部。

正如你所看到的,这个球沿着一条直到碗底的路径运动。我们也可以说,球是下降在碗的底部。从图中可以看出,红色的线是球的梯度,蓝色的线是球的路径,随着球的斜率的下降,这被称为梯度下降。

在我们的机器学习模型中,我们的目标是降低输入数据的成本。成本函数用于监视ML模型预测中的错误。所以最小化这个,基本上意味着得到可能的最小误差值或者增加模型的准确性。简而言之,我们在调整模型的参数(权重和偏差)的同时,通过迭代训练数据集来提高准确性。

让我们假设我们有一个用户数据集,其中包含用户在某些主题中的标记和他们的职业。我们的目标是通过考虑一个人的标记来预测他的职业。

在这个数据集中,我们有张三和李四的数据。根据张三和李四的参考数据,我们必须预测王二麻的职业。

现在把学科中的分数看作是一个梯度,把职业看作是底部的目标。你必须优化你的模型,使它在底部预测的结果应该是准确的。使用张三和李四的数据,我们将创建梯度下降,并调整我们的模型,如果我们输入张三的标记,那么它应该在梯度的底部预测医生的结果,对于李四也是如此。这是我们训练过的模型。现在,如果我们给我们的模型打分数,那么我们可以很容易地预测这个职业。

理论上这就是梯度下降法,但是要计算和建模,梯度下降法需要微积分,现在我们可以看到微积分在机器学习中的重要性。

首先让我们从你现在知道的话题开始。线性代数。让我们先用线性代数和它的公式来建立我们的模型。

我们可以在这个模型中使用的基本公式是y = m*x +b,其中y =预测变量,m =斜率,x =输入,b= y截距。

解决这类问题的标准方法是定义一个误差函数(也称为成本函数)来度量给定行的“良好”程度。此函数将成(m,b)对出现,并根据该行与数据的匹配程度返回一个错误值。为了计算给定线的误差,我们将遍历(x,y)数据集中的每个点,并对每个点的y值与候选线的y值之间的平方距离求和(在处计算mx + b)。通常将此距离平方以确保它为正,并使我们的误差函数可微。

更适合我们的数据的行(其中更好是由我们的错误函数定义的)将导致更小的误差。如果我们最小化这个函数,我们将得到数据的最佳行数。由于误差函数包含两个参数(m和b),我们可以把它想象成一个二维曲面。这是我们的数据集的样子:

这个二维空间中的每个点代表一条直线。函数在每个点处的高度是该行的误差。您可以看到,有些行产生的误差比其他行小(例如,以配合我们的数据)。当我们运行梯度下降搜索时,我们将从这个表面的某个位置开始,然后向下移动,找到误差最小的直线。

在微积分的精髓视频中你们已经看到,计算斜率,我们使用微分。

函数z=f(x,y)的图像,z=f(x,y)是一个曲面,固定y=by=b得到一条曲线(绿色表示)。偏导数fx(a,b)fx(a,b)是在x = ax = a处该曲线的切线斜率。要对这个误差函数运行梯度下降,我们首先需要计算它的梯度。梯度就像指南针一样,总是指向下坡。为了计算它,我们需要微分误差函数。因为我们的函数是由两个参数(m和b)定义的,所以我们需要分别计算它们的偏导数。这些导数是:

现在,我们拥有运行梯度下降所需的所有工具。我们可以将搜索初始化为从任意对m和b值(即任意线)开始,然后让梯度下降算法沿误差函数向最佳线行进。每次迭代都会更新,m并b会产生一条比上一次迭代产生的错误略低的错误行。使用上面的两个偏导数来计算每次迭代的进入方向。

学习率变量控制我们在每次迭代中向下走的步的大小。如果我们迈出太大的一步,我们可能会超过最小的一步。然而,如果我们采取小的一步,它将需要许多迭代达到最小。

虽然我们对学习梯度下降法有了初步的了解,但还有一些我们无法讨论的概念值得注意。其中包括:

凸性-在我们的线性回归问题中,只有一个最小值。我们的误差曲面是凸的。不管我们从哪里开始,最终都会得到绝对最小值。一般来说,情况不一定如此。梯度搜索可能会陷入局部极小值的问题。有几种方法可以缓解这种情况(例如,随机梯度搜索)。

收敛-我们没有讨论如何确定何时搜索找到一个解决方案。这通常是通过在错误迭代到迭代中寻找小的变化来完成的(例如,梯度接近于零)。

多元微积分

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多