首页 > Illustrator > 想学ai怎么样入门-我数学不好,不喜欢做练习,如何开始学习机器学习?
2024
08-21

想学ai怎么样入门-我数学不好,不喜欢做练习,如何开始学习机器学习?

AI前线导读:我们知道机器学习的特点是:以计算机为工具和平台,以数据为研究对象,以学习方法为中心;是概率论、线性代数、数值计算、信息论、最优化理论、计算机科学等多个领域的交叉学科。虽然机器学习和深度学习有很大的发展潜力,但要想深刻掌握算法内部运作,获得好的结果,需要透彻理解很多技术的数学原理。然而在我的观察中,有些人缺乏获得有用结果所必需的数学直觉和框架。如果真想成为人工智能人才,必须严格要求自己,投入大量时间学习数学。

更多优质内容请关注微信公众号“AI前线”(ID:ai-front)

目前尚不完全清楚开始机器学习需要什么水平的数学,特别是对于那些在学校没有学习数学或统计学的人来说。

我写了这篇文章,以描述建立机器学习产品或在机器学习中进行学术研究所需的数学背景。

为了建立数学先决条件,我首先提出了不同的思维方式和策略,以帮助您在传统课堂环境之外获得数学教育。然后,我概述了不同类型的机器学习工作所需的数学背景,因为这些科目范围从高中水平的统计学和微积分到概率图模型 (PGM) 的最新进展。我希望在阅读本文后,您将对数学教育有一个大致的了解。

我也知道学习风格、框架和资源对于学习者的个人需求或目标来说都是独一无二的。

Insights on math anxiety

大量的事实表明,很多人都对数学感到恐惧,其中包括工程师。首先,我想谈一谈关于“数学高”的神话。

实际上,擅长数学的人做了很多数学练习,因此在做数学问题而不是天生的人才时,他们的思维方式不太可能被卡住。

您必须了解,达到这个水平需要时间和精力,但这绝对不是您生来的,我将帮助您了解您需要哪种数学基础以及所需的学习策略。

入门

作为软件开发人员吉祥物设计,我们一般都有线性代数基础、矩阵计算(这样就不会被符号搞糊涂了)(见《线性代数复习与参考》),以及概率论基础(见《概率论复习》)。当然,还有基本的编程技能。这些都是我们学习数学背景的工具。然后,你可以根据自己感兴趣的工作来决定自己的学习方向。

如何在学校外学习数学

我个人认为学习数学的最好方式是把它作为一份全职工作来学习(比如做一名学生),因为在学校环境之外,你可能不会有那种结构化的学习、积极的同伴压力和可用的学习资源

要在课外学习数学,我建议利用学习小组或午餐时间讨论和研讨会作为很好的学习资源。在研究实验室中,这些可能采取阅读小组的形式。小组可以讨论教科书章节或定期讨论课程。

学习氛围起着重要作用,管理层应该鼓励和激励这种“额外”研究,这样才不会觉得它侵占了日常工作。事实上,尽管短期内会浪费时间,但拥有一个同伴驱动的学习环境可以让你长期的工作更有效率。

Math and Code

在机器学习工作流程中,数学和代码紧密交织在一起。代码通常基于数学直觉,甚至共享数学符号和语法。事实上,Numpy 等现代数据科学框架可以轻松地将矩阵/向量积等数学运算转换为直观的代码。

我鼓励您使用代码来加强您的学习。

作为通过代码学习数学的一个例子,我们可以考虑一个实际的例子:在神经网络中实现 ReLU 激活函数的反向传播(是的,甚至 TensorFlow/PyTorch 也可以做到这一点 :)!作为入门知识,反向传播是一种使用微积分中的链式法则有效计算梯度的技术。为了利用链式法则,我们将上游导数乘以 ReLU 的梯度。

AI前线笔记:ReLU(Rectified Linear Unit),即线性整流函数,是人工神经网络中常用的激活函数,通常指用斜坡函数的机器变体表示的非线性函数,广泛应用于图像识别等计算机视觉人工智能领域。链式法则是求复合函数导数的法则。

首先,我们将RELU激活函数可视化,定义如下:

为了计算梯度(直观上就是斜率),可以想象一个分割函数,用指示函数表示如下:

Numpy为构建Relu功能提供了有用的直观语法。

接下来是坡度值(红色曲线),其中GRAD描述的是上游坡度,如下图所示:

如果不先自己推导出梯度,这几行代码就可能无法理解。在可能的代码行中,将有梯度(grad)中所有满足条件[x

如上所示,通过对微积分的基本理解,我们就可以清楚地理解这两个行代码的作用。这个神经网络的实现的完整示例如下:

Mathematics in Building Machine Learning Products

为了完成本节,我与机器学习工程师进行了交谈想学ai怎么样入门,以了解数学在调试系统时最有帮助的地方。

一般而言,统计和线性代数都可以以某种方式解决这些问题。

Define your system

现在,不乏资源(例如,用于数据分析的 scikit-learn、用于深度学习的 keras)可以帮助您编写代码来建模您的系统。在此过程中,您可以尝试回答有关您需要构建的机器学习工作流程的以下问题:

What is the input/ output in the machine learning system?

How should suitable data be prepared to fit the system?

如何构建特征或数据来帮助模型泛化?

如何为任务定义一个合理的目标函数?

您可能会惊讶于定义机器学习系统的难度!

资源

Learn math as needed

随着您深入研究机器学习工作流程,您可能会发现有些步骤会让您陷入困境,尤其是在调试时。当您陷入困境时,您知道要寻找什么吗?您的权重合理吗?为什么模型不使用特定的损失函数收敛?衡量成功的正确方法是什么?这时,对您的数据做出假设、以不同方式约束优化或尝试不同的算法可能会有所帮助。

通常,您会发现在建模/调试过程中有数学直觉(例如,选择损失功能或评估指标)可以帮助您做出智能工程决策。

Fast.ai 的 Rachel Thomas 是这种“按需”方法的支持者。在教育学生时,她发现想学ai怎么样入门,对于深度学习学生来说,更重要的是要学得足够深入,对材料产生兴趣。之后,他们的数学教育就是按需填补空白。

资源

Mathematics for Machine Learning Research

现在,我想描述有助于机器学习研究工作的数学思维。对机器学习研究的一种愤世嫉俗的观点是,它只不过是即插即用系统,将大量计算投入模型以获得更好的性能。在某些圈子里,研究人员仍然质疑缺乏数学严谨性的经验方法(例如某些深度学习方法)是否真的能带领我们找到人类智能的圣杯。(见)

值得注意的是,研究界可能正在基于现有的系统和假设进行构建,而这些系统和假设并没有扩展我们对机器学习领域的基本理解。研究人员需要贡献新的、基本的构建模块,这些模块可用于为领域目标获得新的见解和研究方法。例如,像深度学习教父 Geoff Hinton 提出的 Capsule 网络一样,重新考虑常用于图像分类的卷积神经网络的基础。

要实现机器学习的下一个飞跃卡通人物,我们需要提出一些基本问题。这需要掌握数学,《深度学习》一书的作者迈克尔·尼尔森告诉我,这是一种“好玩的探索”。在这个过程中,你会“卡住”,提出问题,并反复翻找以寻找新的视角。“好玩的探索”让科学家能够提出超越简单想法/架构组合的深刻而有见地的问题。

很明显,在机器学习研究中学习所有内容仍然是不可能的!

机器学习研究是一个非常丰富的研究领域,存在许多未解决的问题:公平性,解释性和易用性。

资源

Democratizing machine learning research

我希望我没有把“研究数学”描绘得太深奥,因为使用数学的想法应该以直观的形式呈现!不幸的是,许多机器学习论文仍然充斥着复杂、矛盾的术语,这使得关键的直觉难以理解。作为一名学生,您可以通过博客、推文等将这些密集的论文翻译成可消化的直觉,为自己和该领域提供巨大的帮助。distll.pub 就是这样做的,它专注于提供机器学习研究的清晰解释。换句话说,将技术概念转化为清晰的解释,作为一种“有趣的探索”,你将从中受益,该领域也会感谢你!

尖端

Finally, I hope to provide you with a starting point and think about math education for machine learning.

祝你好运!

原文链接:

Today's Recommended Article

点击下方图片即可阅读

Open source FeatureTools: Machine learning development has been accelerated by 10 times!

推荐产品

人工智能现在正处于白热化阶段,很多程序员纷纷转向人工智能领域,他们的优势在于行业基础。但是现在人工智能公司对人才的综合技术能力要求更高,有哪些高效的学习路径可以帮助我们提升综合技能呢?我们汇集了30多位一线技术大牛,分享开发经验和实例,这是每个技术人员进阶路上必备的技术能力。

If you like this article, or want to see more similar high -quality reports, remember to leave a message and like it!

最后编辑:
作者:nuanquewen
吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计