V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bsns
V2EX  ›  程序员

学数学学出失落感来了

  •  
  •   bsns · 2017-11-08 15:05:09 +08:00 · 7001 次点击
    这是一个创建于 2577 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前沉迷于数据结构,算法,编译原理啥的,也跟着朋友刷刷 ACM 啥的,觉得计算机还可以,比较有意思。
    现在也算是更深入的研究了,比如机器学习方向,难免要看数学。
    发现不仅是大学的高数概率论都要拾起来,还有一堆不认识的数学,看着看着就跑到什么泛函分析,数论的上面了。
    萌生一种想法:觉得计算机要做的就是把几百 /十年前的数学搬到计算机上来。
    另外那数学专业的转行做计算机是不是非常轻松?
    47 条回复    2017-11-09 14:41:12 +08:00
    lx0319
        1
    lx0319  
       2017-11-08 15:09:45 +08:00
    学数学转计算机的不少吧。
    不少都比较牛的。
    golmic
        2
    golmic  
       2017-11-08 15:11:20 +08:00
    我本科是读数学的,现在在做数据相关的工作。
    anuan
        3
    anuan  
       2017-11-08 15:12:14 +08:00
    有些实在看不懂的 当黑盒用就行了
    开车的 能修就行 不用非得会造车
    p2pCoder
        4
    p2pCoder  
       2017-11-08 15:12:55 +08:00   ❤️ 1
    数学远比代码有意思,可是我能力不行
    深度学习的话,很多还缺少数学支撑
    花书 看了 一部分,里面的舒服 讲的都不怎么 能让人信服
    bsns
        5
    bsns  
    OP
       2017-11-08 15:16:10 +08:00
    @anuan 就是楼上说的感觉,数学很有意思,看着也想想计算机一样都搞懂,可是太困难了,但是全部黑盒又不太好,就是这种学到什么程度不好把握
    yanza
        6
    yanza  
       2017-11-08 15:20:22 +08:00
    老早就想学深度学习了,不过就因为数学,被卡住了
    jtsai
        7
    jtsai  
       2017-11-08 15:39:24 +08:00
    应用数学还好,数学分析就难
    hack
        8
    hack  
       2017-11-08 15:40:22 +08:00
    毕业几年后,自己买了本高数上看……没买高数下,买了今年也看不到
    em84
        9
    em84  
       2017-11-08 15:40:44 +08:00
    @jtsai 数学分析不是应用数学的主课程嘛
    lzhCoooder
        10
    lzhCoooder  
       2017-11-08 15:50:22 +08:00
    楼主是做哪方面的,从来没在 CS 领域碰到过泛函问题。可能是自己接触的东西不够的原因,我以前是做控制理论的,感觉 CS 方面用到的数学比自动化浅多了,或者说整体上比 EE 浅...
    likuku
        11
    likuku  
       2017-11-08 15:51:05 +08:00
    数学似乎一直都是很超前的吧...比如矩阵乘法什么的,发明初根本不知道能干嘛,只能当高级智力游戏,多年后发觉简直就是给量子力学量身定制。
    likuku
        12
    likuku  
       2017-11-08 15:53:10 +08:00
    统计相关的,这几年随人工智能,深度学习,大数据分析,在金融及相关领域实在太热火朝天...工作真是随便选,薪水只有令人嫉妒。
    wuyuchenshishabi
        13
    wuyuchenshishabi  
       2017-11-08 15:55:53 +08:00
    想开个数学辅导班了
    jtsai
        14
    jtsai  
       2017-11-08 16:47:01 +08:00
    @em84 不知道专业课怎么编排,在数学框架里,数学分析是最底层的,应用是上层
    matolv
        15
    matolv  
       2017-11-08 17:13:01 +08:00
    @likuku 数学不是科学,准确说是一门语言,和计算机代码一样。数学理论就是为了解决问题而开发的程序
    比如,牛顿:计算恒定速度位移 v*t 乘法就行了,计算变速度的位移咋办?那就∫vtd(t),遂发明了积分
    比如,抓阄 抛硬币等问题,发明了古典概率。后来心理学家发明了量表,就拿回归分析这个工具来验证量表准确性
    比如,球面上的三角形内角和是多少? 180 度吗?所以发明了非欧几何(球面几何)
    如果需要联系计算机代码和数学和实际应用的例子
    比如,去除录音中噪音问题,录音是一段频率和能量跟随时间而变化的时域数据,擦掉某一部分数据就没法收听到信息了,那就在计算机中通过某些软件,将时域数据再通过傅里叶变换转化为频域数据,可以去除某一固定频率的噪音,再转回来,杂音就消除了。
    所以数学和计算机本质上是为了诠释这个世界所用的语言,未解的东西还很多,比如人工智能等,数学领域也有。但最终是为应用服务的,否则都没有价值,这就是为什么 c 和 c++用了少了,java 用了多。不要说我功利,事实就是如此,有需求供给才有意义,这就是为什么理论数学工资不如应用数学,就业市场也不如应用数学。一句话“你说这个谁懂啊?”
    bsns
        16
    bsns  
    OP
       2017-11-08 17:16:06 +08:00
    @lzhCoooder 想起来以前信号与系统的老师经常嘲讽我们 cs 的水平不如通信的😄
    mathzhaoliang
        17
    mathzhaoliang  
       2017-11-08 17:17:06 +08:00   ❤️ 1
    我的博客 https://neozhaoliang.github.io/ ,侧重于讲述研究生水平的数学 ... 的有趣应用。后面打算写关于数据分析,机器学习的内容。可能你读起来有困难,但是至少可以让你知道这些知识可以干啥用。
    mathzhaoliang
        18
    mathzhaoliang  
       2017-11-08 17:33:01 +08:00
    我是数学专业出身的,转计算机并不轻松。理解那些算法确实没什么障碍,但是编译原理,数字电路,计算机体系结构,网络编程都是要花很多时间才能掌握的,而工作以后最缺的就是个人自修的时间。
    likuku
        19
    likuku  
       2017-11-08 18:36:06 +08:00
    @mathzhaoliang “但是编译原理,数字电路,计算机体系结构,网络编程” 这些优化机器 /底层的脏活还是交给搞计算机的人去干吧。你们数学家,节省脑力,去利用机器的能力去探索解决实际 /理论上的课题就足够了。嗯,我们学计算机的就是给你们搞数学(物理化学生物天文)的铺路打工的。
    anuan
        20
    anuan  
       2017-11-08 19:36:42 +08:00
    @mathzhaoliang 博客里全是反斜杠...
    ynyounuo
        21
    ynyounuo  
       2017-11-08 19:41:09 +08:00
    @anuan MathJax 的问题吧,等一下就好了
    Taojun0714
        22
    Taojun0714  
       2017-11-08 19:43:28 +08:00 via iPhone
    你就看看机器学习哪得用得到看泛函数论。把概率统计线性代数复习好了足矣。cs 和其他工科要求数学方向不太一致,没有太多深度区别。
    Cbdy
        23
    Cbdy  
       2017-11-08 20:05:34 +08:00
    第一台计算计算机的名字还有人记得吗? ENIAC,翻译成中文就是:电子数字积分计算机
    northisland
        24
    northisland  
       2017-11-08 20:08:43 +08:00
    你做出点什么就可以去 google brain 了。做就不同!
    wtdd
        25
    wtdd  
       2017-11-08 20:33:27 +08:00
    lz 你分析一下计算机系的研究生课程不就明白了
    thekll
        26
    thekll  
       2017-11-08 20:57:09 +08:00 via iPhone
    @matolv
    好像有人(费曼?)说过数学不是自然科学,我不确定自然科学的严格定义,但数学本身应该属于科学范畴,而且是最纯粹的科学。这点从数论就能体现,许多数学上重要的理论方法都是在解决数论问题的过程中出现的。
    “数学不是科学”这种观点,大概是因为没看到数学本质的一面,只看到了数学形式的一面。例如数字上的各种进制、几何上的不同公理体系,甚至有些混乱的数学标记、符号。假如从这个意义上说“数学是一门语言”,就有些不够深入。思想、程序、数学都需要某种形式系统作为载体,但这种形式本身并不是数学全部。
    柯朗曾反对数学脱离实际应用,变成一种游戏;同样的,数学又要保持非常高的抽象性,并避免形而上的东西。

    另一种说法“数学是宇宙的语言”,就相对比较能体现数学的本质。从这点上说,数学是研究“空间”的一门科学。这里的空间,就是指爱因斯坦相对论提到的那个空间,万物之源。
    wcsjtu
        27
    wcsjtu  
       2017-11-08 21:00:26 +08:00
    机器学习的话,学好高数、矩阵理论、概率论三门就差不多了
    ryd994
        28
    ryd994  
       2017-11-08 21:04:56 +08:00 via Android
    @thekll 数学不是科学,因为数学是人工定义的理论体系,可以算作是哲学的一个分支。
    科学是自然哲学,是基于事实证据的理论体系,只是使用数学作为工具。
    Biggoldfish
        29
    Biggoldfish  
       2017-11-08 21:18:55 +08:00 via iPad
    @thekll 数学不是科学,是因为在波普尔等人的论述中,可证伪性是科学的必要条件。而数学定理在其定义的公理体系中是无法找到反例的,因此认为数学不是科学。
    顺便,在讨论问题前先明确定义,个人认为是学习数学的良好的习惯。如果连“科学”的定义都不明确,就 argue 数学是不是科学,个人不觉得有什么意义。
    thekll
        30
    thekll  
       2017-11-08 21:56:59 +08:00 via iPhone
    @ryd994
    自然哲学曾一度特指物理,从牛顿的“自然哲学的数学原理”书名就可看出。哲学这个概念太泛,几乎包括所有科学,要不博士学位怎么几乎都称 Ph.D。
    非数学专业把数学作为工具来理解也没什么问题,但数学从数的概念产生,数论、几何系建立,就已脱离具象而向着抽象自我发展,肯定已不仅仅是工具这么简单了。

    任何科学都是人定义的,在这点上可以去看哲学上的唯心说。在某种意义上,我们所看到的、所理解的就是一个虚拟的存在,存在于我们的意识中。真实的存在总有一些人类永远或暂时无法感知的属性。也正因为此,科学才需要不断发展。科学的主观性没发避免,但这并没有想象的那么严重,物理上许多不同定律其实是等价的,只是不同的人从不同的角度去描述。
    即使某一天人类认识了所有的科学理论,还有工程方面的事可以做,在这方面几乎有无限可能。这也是数学的用武之地。比如去实现人工智能,然后人类就可以退出宇宙舞台了:)
    hcnhcn012
        31
    hcnhcn012  
       2017-11-08 22:00:37 +08:00 via iPhone
    机器学习的话基础应该是考研数学 1 吧
    thekll
        32
    thekll  
       2017-11-08 22:10:58 +08:00 via iPhone
    @Biggoldfish
    我不确定“自然科学”的定义。不过在这种场景下,其实也不需要去看严格的定义,即使有这样的定义存在。


    也顺便,我想说在讨论问题前先看清楚别人在说什么可能也很重要。
    Biggoldfish
        33
    Biggoldfish  
       2017-11-08 22:57:35 +08:00
    @thekll 很难想象一个人在讨论数学的时候可以大言不惭 “我不确定 XX 的定义,我也不想看 XX 的定义” 但我就是想说一大堆我认为的东西
    Phariel
        34
    Phariel  
       2017-11-08 23:00:18 +08:00 via Android
    如果觉得难 你就去学会如何使用和调教黑盒 而不用自己去造黑盒
    takato
        35
    takato  
       2017-11-08 23:01:08 +08:00
    @Biggoldfish 很难想象,如果一切都按照定义来走,那么科学和有神论有什么区别,毕竟,宗教里也有他们认为“正确”的“定义”
    ryd994
        36
    ryd994  
       2017-11-08 23:13:24 +08:00 via Android
    @thekll 但是数学是定义公理然后进行严格的推导。用不同的公理,完全可以推出一套不同的理论。1+1=2 这是人为定义的。

    自然科学是是尝试描述现实世界。可以有很多种假说,但是无论哪个假说,唯一的准则是,能否有效解释实际现象。苹果下落这件事,万有引力可以解释,广义相对论也能解释。然而两个都不是这个世界真正的法则。宇宙不管你有什么理论,这个世界就是这样的。广义相对论解释的更准确,万有引力很多时候也够用。但是不可能说他们像 1+1=2 一样,因为如果哪天新的证据出现,我们所有的自然科学可以崩塌。虽然这种事情不太可能发生罢了。
    ryd994
        37
    ryd994  
       2017-11-08 23:15:50 +08:00 via Android   ❤️ 1
    @Biggoldfish 哎呀,我话说了一大堆,想想归纳起来其实就是这个可证伪性。好久不见都忘了
    ryd994
        38
    ryd994  
       2017-11-08 23:17:40 +08:00 via Android
    @takato 他说的是对科学和数学的区别的定义
    科学和数学等区分,当然需要人定义的准则
    不然怎么?还能有形而上的区分么?
    takato
        39
    takato  
       2017-11-08 23:40:00 +08:00
    @ryd994 但是追溯着任何一条定义线追到底,根本无法得到确定的答案。或者说这条确定的定义线目前仅限于人类社会领域。这条线的本源可能来自于你我基因中一些奇奇怪怪的东西。生物的思想也不过是对环境的“拟合”。
    所以不管怎么样,我们只能做到更好地拟合,仅此而已,而拟合是几乎没有尽头的。
    zhangysh1995
        40
    zhangysh1995  
       2017-11-09 10:12:44 +08:00
    我接触了一些软件工程的科研项目,说真的,问题的根本解决方法都是数学上的。不是说计算机科学家做的不好,而是我们的解决方案都是边边绕绕,是为了在现有计算机资源能提供的能力基础上提出的。包括人工智能,很大程度上需要理论上的突破,不只是高深的数学,最简单的搜索算法也需要进行数学验证。不知道楼主的失落感是什么,可能是之前觉得不需要数学?但是远离层面真的躲不开数学。建议把基础的数学捡一捡,概率看下《程序员的数学 2 》基础内容就懂了,没那么可怕,不难。更深的东西,如果有兴趣的话自己多看看教材资料应该也行。

    我对形式化方法(把问题抽象成数学问题)比较感兴趣,看了几本书之后也是感觉非常理论,非常偏理论计算机和纯数学。准备复习一下离散的内容,然后多学一学逻辑。数论或者分析的话应该也绕不过。有兴趣的话可以一起讨论交流,欢迎骚扰。
    ety001
        41
    ety001  
       2017-11-09 10:32:17 +08:00
    偏个题,我觉得这个帖子的氛围才应该是 V2EX 应有的氛围。
    WhoMercy
        42
    WhoMercy  
       2017-11-09 11:07:58 +08:00 via Android
    因为远古计算机科学家们多有数学出身,并且运用了数学的抽象思维把计算机的门槛降低。低到只需要很少甚至几乎没有数学基础(高等)也能够完成工程任务。
    stancaohua
        43
    stancaohua  
       2017-11-09 11:19:39 +08:00
    @mathzhaoliang 配色有点辣眼睛。。。
    mathzhaoliang
        44
    mathzhaoliang  
       2017-11-09 12:04:27 +08:00
    @stancaohua 哪里不好看吗?
    bsns
        45
    bsns  
    OP
       2017-11-09 12:18:55 +08:00
    @zhangysh1995 收获一本书。就是觉得之前的学习,都是在做外围的,现在要做的也只是把数学用在计算机上。而且觉得要学的数学更多了,什么概率,统计,高数,全都要拾起来。看了几本书,不自觉的想搞懂,但是实际上数学太多了,可能以后只会用数学结论。
    jyf
        46
    jyf  
       2017-11-09 13:20:26 +08:00
    编程不算应用数学的分支么?
    stancaohua
        47
    stancaohua  
       2017-11-09 14:41:11 +08:00
    @mathzhaoliang 可能不太符合我的审美。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 21:46 · PVG 05:46 · LAX 13:46 · JFK 16:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.