作者 | SHAROON SAXENA
编译 | CDA数据分析师
Mathematics behind Machine Learning - The Core Concepts you Need to Know
“学习机器学习算法背后的数学有什么用?我们可以轻松地使用Python和R中广泛可用的库来构建模型!”
我已经记不清从数据科学爱好者那里听到这种消息的次数了。这种谬论太普遍了,在有抱负的数据科学专业人员中产生了一种错误的期望。
根据我的经验,主要是有以下两个原因:
现在让我们把这个问题解决掉——你需要理解机器学习算法背后的数学原理,才能成为一名数据科学家。没有别的办法。这是数据科学家角色的一个固有部分,每一位招聘人员和有经验的机器学习专业人士都将证明这一点。
因此,这就引出了一个问题,我们该如何着手学习呢?这就是我们将在本文中学习的内容。我们将讨论成为机器学习大师所需了解的各种数学方面,包括线性代数、概率等。
在本文中,我们将讨论以下主题:
有抱负的数据科学家经常向我提出的最常见问题之一是–数据科学与机器学习之间有什么区别?更重要的是,这两者背后的数学有什么区别?
我经常遇到以下问题:
尽管数据科学和机器学习有很多共同点,但是它们在数学上的关注仍然存在一些细微的差异。下面的雷达图概括了我的观点:
是的,数据科学和机器学习有很多重叠之处,但是它们的主要关注点相差很大。这种微妙的差异通常是我上面提到的问题的根源。
在数据科学中,我们的主要目标是探索和分析数据,生成假设并测试它们
这些步骤通常是为了找出数据中隐藏的推论,而这些推论可能在第一眼看上去并不明显。因此,我们必须严格依赖统计和概率的概念来比较和进行假设检验。
另一方面,机器学习更侧重于线性代数的概念,因为它是所有复杂过程发生的主要阶段(除了效率方面)。另一方面,多元微积分涉及数值优化方面,这是大多数机器学习算法背后的驱动力。
数据科学通常被认为是机器学习的前提。考虑一下–我们希望机器学习算法的输入数据是干净的,并且要根据我们使用的技术进行准备。如果您正在寻求端到端的工作(数据科学+机器学习),最好使自己精通数据科学和机器学习所需的数学结合。
如果你一直重复你过去做过的事情,你会得到你一直得到的结果。我在这里转述爱因斯坦的名言,但我相信你明白我的意思!
许多渴望学习机器学习的人会犯这样的错误,即他们在上学时使用的方法是一样的。这意味着要用笔和纸去钻研定理、推导和问题。
这种传统的方法离我们想要遵循的方向有一些远,除非你想要在17世纪的数学家之争中获胜。那时候他们向对方提出了一系列数学上很有趣的问题,并在第二天解决。但你可以想象到这种情况,听起来很厉害。但这不是在21世纪学习新概念的最佳方式。
那么我们应该如何才能在不陷入理论的情况下学习数学呢?
数据科学和机器学习中的数学不是关于处理数字的,而是关于发生了什么,为什么会发生,以及我们如何处理不同的事情来获得我们想要的结果的数学。
在本质上:
我们应该更关注对任何给定表达式的直觉和几何解释:
这有助于我们理解这些令人难以置信的表情背后的含义。所有手动解决问题的繁重工作都不是必需的,也不需要技能。使用NumPy这样的计算库来完成它们比测试您的耐力更有意义。
现在,让我们转移注意力来理解为什么我们需要学习这些不同的数学分支以及什么是用直观的方式学习数学的好资源。
有些人认为线性代数是21世纪的数学。我们可以看到这其中的意义——线性代数是机器学习和数据科学的支柱,它将在未来几年给其他所有行业带来革命性的变化。
正如之前已经讨论过的,线性代数是所有机器学习算法生成结果的舞台或平台。
但是为什么是线性代数呢?
线性代数是联立线性方程组表示的系统基础。
假设我们有两个线性方程式:
求解出x和y很容易,对吧?
我们可以通过简单地将方程式1与-2相乘,然后将两者相加来实现:
结果,变量x被消除,y获得为9。然后将y=9带入公式,得出x的值为0。
这里的问题是,这个操作需要人类的直觉。我们的机器无法模仿同样的直觉。他们只能理解特定表示形式的数据和集合格式的规则。
现在,为了建立与数据科学或机器学习的类比,每个方程表示来自数据集的单个观察。左边表示独立输入变量,右边表示目标因变量。
数据集通常包含成百上千的观测数据(如果不是上百万体量的数据集的话),更不用说还有很多变量要处理。所以你认为我们可以通过数据集找到x和y的最佳值吗?
绝对不是!我们当然更喜欢自动化来完成这项任务。这就是线性代数的用武之地。从广义上来说:
线性代数是计算机能够理解的知识的系统表示,线性代数中的所有运算都是系统规则。
这是我们上面解决的问题的代数表示。利用矩阵运算(规则集),我们可以在一眨眼的时间内求出x和y的值。这是线性代数在数据科学和机器学习中成为必需的主要原因。
大多数有抱负的数据科学和机器学习专业人士往往无法解释他们在哪里需要使用多元微积分。正如我在文章开头所提到的,不幸的是,这是一种非常常见的体验。
如果你马上说梯度下降,你就对了!但是你可能需要增加你现有的知识。
多元微积分,或者更精确的说是偏微分,被用来对一个给定函数(主要是凸函数)进行数学优化。
但我们为什么要这样做呢?我们知道我们计算了某个函数(成本函数或优化函数)的偏导数。但这有什么用呢?
很多人经常求出偏导数但却不知道为什么这么做!我们需要立即纠正这个错误。
我们考虑一下梯度下降的情况。我们知道梯度下降的代价函数为:
我们计算m(斜率)和c(截距)的导数为:
但为什么只有偏导数呢?我们可以计算积分或者其他的运算。这是因为分化给我们成本函数的变化率对丁成本单独对m和c。
但是你知道我们可以用向量的形式表示这些单独的偏导数吗?
这是偏导数的代数向量表示。
我相信你们大多数人以前一定见过这种表达方式,但没有意识到它的含义。这种表示法叫做雅可比向量。我在高中的时候就遇到过这种情况;是的,它确实让我的生活变得艰难!
下面是一些学习多元微积分的优秀资源。再一次,我将强调更多关于直觉的部分,而不是仅仅死记硬背定理和规则:
机器学习所需的概率概念是基本的(大部分),但它仍然需要直觉。常用的分布形式有伯努利分布、高斯分布、概率密度函数、累积密度函数等。我们用它们来进行假设检验,在这种情况下,对概率的理解是非常必要的。
你会发现许多数据科学家,甚至是经验丰富的老手,都无法解释声名狼藉的alpha值和p值的真正含义。他们经常被当作从冥王星来的陌生人,甚至没有人愿意问。
但概率中最有趣的部分是贝叶斯定理。从高中开始,我们在很多地方都遇到过这个定理。这是公式:
我们通常通过输入数字并计算答案来解决这个问题。但是你有没有想过贝叶斯定理到底告诉了我们什么,后验概率到底是什么意思?为什么我们还要一开始要计算它呢?
让我们考虑一个示例(没有数学理论!):
这是我们的朋友鲍勃(Bob)。作为他的同学,我们认为他是一个内向的人,经常独处。我们相信他不喜欢交朋友。
因此,P(A)被称为先验。在这种情况下,我们称其为鲍勃很少喜欢结交新朋友的假设。
现在,他在大学里遇到了爱德(Ed),与鲍勃不同,埃德是一个悠闲的人,渴望结交新朋友。
P(B)在这种情况下是Ed友好的概率。在一起度过的这一天Bob意识到Ed和他形影不离。结果,他们成了朋友。
P(B|A)就是他们成为朋友的代表:
现在,看一下右边和我们上面建立的例子,分子代表了Bob是友好的P(A)和Ed是朋友的概率P(B|A)所有这些值都朝着左边的结果计算,也就是:
完美!这正是我们在学校里所做的,对吧?我将进一步扩展它,你知道这个新值意味着什么?
大多数声称知道贝叶斯定理的人都会被困在这里。
这个新的价值只是我们对Bob的信念。换句话说,这是我们对Bob的新认识和P(A)的新值。 。
如果我要提取此这个例子,它将是这样的:
我们对鲍勃做了一个假设,我们发现的证据是他实际上交了一个新朋友!
在这种情况下我们该怎么做呢?我们只是改变了对鲍勃的假设,他不是一个很内向的人。如果我们继续观察Bob几次迭代,我们最终会很好地理解Bob的真正本质。
我知道你在想什么——这看起来就像我们在梯度下降和许多其他优化算法中做的事情。我们假设一些随机参数,观察预测值和真值,然后相应地调整参数。
朴素贝叶斯算法的工作原理与此类似,只是简单地假设所有的输入特征都是独立的。为了全面观察这一现象,我们需要深入研究贝叶斯网络或概率图形模型。它们本身可能非常强大,我可能会在以后的文章中探讨它们。
这将是我们在本文中比较熟悉的主题之一。统计构成了机器学习的基础,因此我在这里讨论它。
每当我们谈论统计数字时,我们脑海中总会浮现出一些熟悉的概念:
这些概念中的大多数都是相当初级的。除了最后一个,我看到经验丰富的机器学习专家对p值和alpha值之类的东西有着错误的直觉。其中大多数在我们的机器学习模型(如线性和逻辑回归)的性能中起着重要的作用。
我知道你可能会想知道——现在谁在使用线性模型?
好吧,大多数组织都高度重视模型的可解释性,而不是准确性。集成模型往往缺乏这种可解释性,因为它们更倾向于性能,并且广泛用于数据科学竞赛(而非行业)。
说实话,我是那些被这些花哨的算法吸引的爱好者之一,我更喜欢直接跳到它们。结果,我的预测模型得到了低于标准的结果。
机器学习不仅仅是建立预测模型,而是利用现有的统计工具从给定的数据中提取尽可能多的信息。
机器学习的数学是一个经常被忽视或用错误的视角处理的基本方面。在本文中,我们讨论了数据科学和机器学习所需的数学之间的区别。我们还学习了一些关于为什么以及在什么地方需要数学的指示。
数据分析咨询请扫描二维码
在当今以数据为导向的商业环境中,数据分析师的角色变得越来越重要。无论是揭示消费者行为的趋势,还是优化企业运营的效率,数据 ...
2024-11-17在当今以数据为导向的商业环境中,数据分析师的角色变得越来越重要。无论是揭示消费者行为的趋势,还是优化企业运营的效率,数据 ...
2024-11-17金融数学是一门充满挑战和机遇的专业,它将数学、统计学和金融学的知识有机结合,旨在培养能够运用数学和统计方法解决复杂金融市 ...
2024-11-16在信息时代的浪潮中,大数据已成为推动创新的重要力量。无论是在商业、医疗、金融,还是在日常生活中,大数据扮演的角色都愈发举 ...
2024-11-16随着大数据技术的迅猛发展,数据已经成为现代商业、科技乃至生活各个方面的重要资产。大数据专业的毕业生在这一变革背景下,拥有 ...
2024-11-15随着大数据技术的迅猛发展,数据已经成为现代商业、科技乃至生活各个方面的重要资产。大数据专业的毕业生在这一变革背景下,拥有 ...
2024-11-15在快速演变的数字时代,数据分析已成为多个行业的核心驱动力。无论你是刚刚踏入数据分析领域,还是寻求进一步发展的专业人士,理 ...
2024-11-15Python作为一种通用编程语言,以其简单易学、功能强大等特点,成为众多领域的核心技术驱动者。无论是初学者还是有经验的编程人员 ...
2024-11-15在当今数据驱动的世界中,数据分析已成为许多行业的基础。无论是商业决策,产品开发,还是市场策略优化,数据分析都扮演着至关重 ...
2024-11-15数据分析作为现代商业和研究领域不可或缺的一部分,吸引了越来越多的初学者。然而,自学数据分析的过程中,初学者常常会遇到许多 ...
2024-11-15在当今的数据驱动世界中,机器学习方法在数据挖掘与分析中扮演着核心角色。这些方法通过从数据中学习模式和规律来构建模型,实现 ...
2024-11-15随着数据在各个行业的重要性日益增加,数据分析师在商业和技术领域的角色变得至关重要。其核心职责之一便是通过数据可视化,将复 ...
2024-11-15数据分析师的职责不仅仅局限于解析数据和得出结论,更在于将这些复杂的信息转换为清晰、易懂且具有影响力的沟通。良好的沟通能力 ...
2024-11-15数字化转型是企业提升竞争力和实现可持续发展的关键路径。面对快速变化的市场环境,以及技术的飞速发展,企业在数字化转型过程中 ...
2024-11-15CDA数据分析师认证:CDA认证分为三个等级:Level Ⅰ、Level Ⅱ和Level Ⅲ,每个等级的报考条件如下: Le ...
2024-11-14自学数据分析可能是一条充满挑战却又令人兴奋的道路。随着数据在现代社会中的重要性日益增长,掌握数据分析技能不仅能提升你的就 ...
2024-11-14数据分析相关职业选择 数据分析领域正在蓬勃发展,为各种专业背景的人才提供了丰富的职业机会。从初学者到有经验的专家,每个人 ...
2024-11-14数据挖掘与分析在金融行业的使用 在当今快速发展的金融行业中,数据挖掘与分析的应用愈发重要,成为驱动行业变革和提升竞争力的 ...
2024-11-14学习数据挖掘需要掌握哪些技能 数据挖掘是一个不断发展的领域,它结合了统计学、计算机科学和领域专业知识,旨在从数据中提取有 ...
2024-11-14统计学作为一门基于数据的学科,其广泛的应用领域和多样的职业选择,使得毕业生拥有丰厚的就业前景。无论是在政府还是企业,统计 ...
2024-11-14