0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何搞定做机器学习研究需要的数学?

MqC7_CAAI_1981 来源:未知 作者:胡薇 2018-08-20 14:24 次阅读

机器学习需要多少数学基础?这是很多初学者最关心的问题,答案也众说纷纭。

有人说,概率论线性代数要预先精通;有人说,微积分要懂一点;也有人说,没必要特地去补;甚至有人专门写了绕开数学的深度学习入门教材……

斯坦福大学计算机系学生、斯坦福AI实验室研究助理(RA)Vincent Chen,最近在硅谷最牛孵化器Y Combinator官方博客上发表的一篇文章,就专门深入探讨了里这个问题。

Vincent想要说的是,具体问题具体分析。

他跟领域内的很多工程师、研究人员、教育工作者,讨论了这个问题,再加上自己的经验,得出了这样的结论:解决不同问题,可能需要不同程度的直觉 (Intuition) ,所以首先要知道自己的目标是什么。

构建产品和做研究,需要的数学就不太一样。

不过,还是要先从大家都差不多的入门阶段说起。

入门须知

熟悉线性代数/矩阵运算,是机器学习的软性前提。也就是说,最好懂,不强制。

当然,学习数学最好的环境还是学校。没有了学校里的压力、竞争和交流,就要找其他方式来补充:学习小组、学习型午餐会都是不错的形式。

想要在工作中学数学,编程最好也会一点,它会成为你的学习工具。

要知道,在机器学习任务中,数学和代码是交织在一起的。代码需要数学上的直觉,甚至和数学符号的语法有共通之处。

举个例子:练习手动实现损失函数(loss functions)或者优化算法(optimization algorithm),就是真正理解背后概念的好方法。

再举个比较实际的例子:在神经网络里手动为线性整流函数(ReLU)实现反向传播,就涉及用微积分里的链式法则来有效计算梯度,而运用链式法则,需要用ReLU的梯度乘以一个导数。

最开始,要先将ReLU激活函数可视化:

计算梯度(就是看起来的斜率),要可视化一个阶梯函数,用指示函数表示:

现在的数据科学框架能直观地把数学运算翻译成可读的代码,NumPy就是其中之一。对于上面这个任务,它就可以将激活函数(蓝色曲线)用代码表示出来:

relu = np.maximum(x, 0)

梯度(红色曲线)也可以:

grad[x < 0] = 0

只有亲自求了一遍导数,才能理解这行代码。

掌握基础之后,就可以根据你的实际需求自定义学习方向了。

造机器学习产品需要的数学

作为一名学生,Vincent通过和多名机器学习工程师聊天,了解了他们在debug时最有用的数学知识。

总的来说,统计学和线性代数总是有用的,但面对不同的问题又有不同的需求。

那么,怎么确定该精修哪些数学知识呢?

首先,要定义你的系统。

想写代码为系统建模,可用的资源多得是。在构建系统的过程中,要想着这些问题:

系统的输入/输出是什么?

怎样准备适合系统的数据?

怎样构建特征、处理数据能让模型更好地泛化?

怎样为你的问题定义合理的目标?

然后,在你用到数学的时候,去学习它。

一头扎进机器学习里,你就会发现自己会卡在某些步骤。卡住的时候,该查什么呢?你的权重合理吗?你的模型为什么用这种损失就不收敛?

这时候,就需要对数据做假设,换个方式约束优化,或者换个算法试试。于是在这个建模或者debug过程里,你会发现懂数学对做决定有很大帮助,比如说要选择损失函数和评价指标,数学就是个好工具。

这可以说是一种“按需”学习的方法了。

做机器学习研究需要的数学

如果是做研究的话,就需要广泛的数学基础,来给你铺路。

现在,很多研究都是在现有系统之上进行的,缺少对基础的理解。

这样还不够,研究者应该贡献更基本的模块。比如说,可以像深度学习教父Geoff Hinton提出的胶囊网络(Capsule Networks)一样,重新思考卷积神经网络(CNN)这种基本模块。

要想在机器学习领域做出这样的成就,就需要问一些基础问题,也就需要对数学的深刻理解。《神经网络与深度学习》教材的作者Michael Nielsen称之为“带着玩心的探索”。

这个探索过程中,可能会在一个问题上卡几个小时,可能需要换个角度去看问题。不过,只有这样,科学家才能超越直观想法和架构的组合,提出深刻、有见地的问题。

和构建产品不一样的是,机器学习研究里的基础思考不是“按需”进行的,想要以高级的数学框架所要求的广度来思考、批判性地解决问题,需要耐心学习。

不要怕

总的来说,数学可能是有点可怕,你会卡在一个又一个地方。但是,这本来就是数学学习很重要的部分。

不要害怕。

实际上,数学好的人都要花好多时间来练习,于是,他们对这种做数学“被卡住”的感觉就习以为常了。想要学好数学,首先需要建立学生的心态。

想要习以为常,当然需要付出时间和努力,加油~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8062

    浏览量

    130442
  • 深度学习
    +关注

    关注

    73

    文章

    5204

    浏览量

    119804

原文标题:怎样搞定机器学习里的数学?斯坦福高手教你具体问题具体分析

文章出处:【微信号:CAAI-1981,微信公众号:中国人工智能学会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    #硬声创作季 #机器学习 机器学习-7.3.1 贝叶斯网络参数学习

    数学机器学习
    水管工
    发布于 :2022年11月04日 11:22:15

    有没有搞机器学习算法研究的啊?

    有没有搞机器学习、人工智能相关的算法研究的啊?自己一个人搞感觉挺难的,希望找到志同道合的朋友,相互探讨。
    发表于 02-26 09:56

    【下载】《机器学习》+《机器学习实战》

    、谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督
    发表于 06-01 15:49

    构建机器学习产品必需的数学背景

    必读我们该如何学习机器学习中的数学
    发表于 08-15 11:44

    如果只是应用机器学习,而不是研究需要哪些知识

    如果只是应用机器学习,而不是研究需要哪些知识?还用深入学习数字么
    发表于 08-30 14:51

    什么是数学?对思想和方法的基本研究有哪些?

    什么是数学数学对思想和方法的基本研究有哪些?
    发表于 06-21 07:56

    什么是机器学习? 机器学习基础入门

    中,我将概述机器学习,它是如何工作的,以及为什么它对嵌入式工程师很重要。什么是机器学习机器学习
    发表于 06-21 11:06

    不同人眼里的机器学习是什么样的?

    当一个人真正想在机器学习中取得一定成就时,他需要深入微积分、线性代数,掌握一定的统计学知识,研究的深度越深,数学基础的重要性就越显而易见。
    的头像 发表于 07-16 08:42 3090次阅读

    机器学习中所需要数学知识介绍

    数学和代码在机器学习研究中通常是高度混合的。大多数情况下,代码都是直接从数学逻辑中形成,并且能用代码语法展示出
    的头像 发表于 08-05 09:00 4055次阅读

    机器学习需要数学,调包就行?

    大部分机器学习从业者不需要过度的把时间精力放在数学上,而该用于熟悉不同算法的应用场景和掌握一些调参技巧。好的数学基础可以使你的模型简洁高效,
    的头像 发表于 09-30 10:38 5096次阅读

    机器学习中应用数学应该要注意的几点注记

    本章讨论的主题是我觉得在应用机器学习(和其他地方)中经常假设的,但是很少详细解释。这项工作是针对学生谁采取了一些线性方法和分析的课程,但谁想看到一些技巧使用的研究人员讨论更详细一些。这里描述的
    发表于 11-16 16:17 3次下载

    如何用TensorFlow进行机器学习研究

    从理论上讲,这几乎是您使用 TensorFlow 进行机器学习研究所需要的全部内容。
    的头像 发表于 02-05 10:06 1773次阅读
    如何用TensorFlow进行<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>研究</b>

    机器学习所需的数学知识你能够有效使用吗

    开始机器学习之旅,需要什么层次的数学功底? 尤其是对于那些没有学过数学和统计学的同学们来说,这个问题当前不甚清楚,在这篇文章中,我将要为那些
    的头像 发表于 02-02 17:10 1740次阅读

    为什么物联网的未来需要依赖机器学习

    人工智能是对感知周围世界、形成计划并为实现目标而做出决策的智能体的研究。它的基础包括数学、逻辑、哲学、概率论、语言学、神经科学和决策理论。许多领域都属于人工智能的范畴,如计算机视觉、机器人学、
    发表于 07-18 15:22 663次阅读

    机器视觉需要哪些基础_机器视觉行业发展前景

    学习机器视觉,需要具备以下知识和技能:   数学基础:机器视觉需要用到很多数学知识,如线
    发表于 03-12 17:06 1523次阅读