cwdcwb 2006-5-5 18:19
【关于数学的困惑】
[color=Green][size=3]以前有很多会员提过这样的问题:数学到底是否重要?数学和通信之间的关系?考研究生数学该怎么学好?等等“
其实多年来,在这方面,我也一直感到很困惑,有时觉得自己其实是一个很有创造力的人,可是每到关键时刻总是觉得力不从心,沉下心来,想多学点数学方面的知识又总是感到很难知道,到底啥时才会用的上,诸如此类的疑惑,我想很多人都有过。到现在其实我也没有搞懂到底该怎么回答这些问题。不过有时会看到很多关于这些问题的话题,下面我转载了几个关于这方面的帖子,看后希望大家谈谈自己的看法吧。[/size][/color]
cwdcwb 2006-5-5 18:21
【转载】一个数学博士的数学学习经历谈
[color=Green][size=2]
学习方法 本文来自:博研联盟论坛
你好!和你一样,我也是一年级的博士生,所以谈不上“讨教”。每个人的未来都需要自己去规划。我的一些经验不一定适合你。我认为学习数学必须有一个好的基础,否则就难以进行进一步的学习。我大一时读了王元写的《华罗庚传》,对这位众所周知的传奇人物十分敬仰。对伟大人物的崇拜和数学的抽象性使我觉得数学非常的神秘。我困惑于这种神秘,想要了解它。像每一个学生一样,我按部就班的学习数学。两年的时间过去后,我十分清楚自己什么都没学懂。极限对我来说是一个模模糊糊的概念,我不知道连续是什么,我知道微分积分的法则,但它们究竟是什么呢?我头脑里积存了太多的问题,却无法解答。我甚至不相信自己有能力解答。我觉得数学是神秘的,我只能窥视它而不能了解它。我读数学人物传记,读数学史。我没法完全读懂它们,但我喜欢读它们,因为读它们比读教材容易。我觉得只有读它们才能触及到数学的灵魂,才能了解数学。我似乎对数学兴趣十足,但读教材又真正令我头疼。我读不懂数学证明,我解不出数学题。我没法相信自己能够掌握数学。现在回想起过去的这样一段经历,我能做什么解释呢?它说明我不够聪明,还是太过聪明?前者容易理解,后者呢?在上大学前,我便对自己的抽象思维能力颇为欣赏,我相信我有超越常人的洞察力。也许当时我意识到自己不懂,恰说明我比别人懂。而“别人”是什么人呢?“别人”是一点也不懂数学的人。现在数学系的学生百分之九十以上甚至谈不上了解数学,更何况懂呢?大三以前我不懂数学,但在某种意义上讲我了解了数学。学习数学的层次可以划分为“how”和“why”。工科生学数学是在“how”的层次上;数学系的学生应该到“why”的层次上。先知道“how”然后明白“why”这符合人的认知规律,绝大多数人都是知道了“how”便觉得懂了,我却一直在问“why”。现在学校的数学教育实在不能入目,课堂上的教学顶多到“how”,至于“why”好多讲课的老师都不知道还要问“why”,更不用说“know why”。实际上,即便老师知道“why”,在课堂上讲了“why”,一般学生也不能“understand why”。这是数学学习的一个特点,不经过自己思考的东西是不能够充分理解的。不经过思考型的自学便不能到“know why”的层次。大三以后,我花了很长的时间重读数学分析和高等代数,逐字逐句地读,咬文嚼字地读,在阅读中把头脑中积累下来的那些“why”扫除干净。通读一次之后,对数学的认识大大提高。但是又有新的“why”冒出来,于是返回头再去解决它。就这样我把分析学的主干课程全部重学一遍。我现在的数学基础差不多就是这样奠定下来的。我的学习过程有一个很大的缺陷,就是因为急着要看更多的书而不去做题。好在我头脑中有很多“why”相对弥补了一些不足。现在我想返回头来做题,但是时间不允许这样做。因为博士生“know why”是不够的,要“learn to creation and begin to do mathematics”。上面大致谈了我学习数学的经历,希望能对你有所启发。博士阶段最重要的还是写论文。写论文之前首先要读论文。读论文是博士阶段学习的主要手段。没有好的数学基础很难写出论文或高水平的论文。如果数学基础不够的话,返回头来补是必要的。 本文来自:博研联盟论坛
本文来自:博研联盟论坛
我整个硕士阶段有三分之二的时间在补基础,在重学本科知识,新东西学得很少。当时也想学新东西,只是不把基础补起来新东西根本就看不懂,看多少遍都看不懂。这得感谢导师对我的支持。他认为硕士阶段就是打基础,很难做什么东西。他也不管我具体在做什么,给我很大的自由。现在我学新东西速度还算快。以前对华罗庚说的“熟能生巧、勤能补拙”总有些怀疑,现在才体会到的确如此。现在有人说我很聪明,我相信这份“聪明”来自苦功夫。本文来自:博研联盟论坛
本文来自:博研联盟论坛
我是在工科院校学的数学。这对于一个以数学为事业的人来说是个不幸。我本科的课程有一半是计算机课程。数学考试也很简单,检测不出一个人的真实水平。那样的考试拿一百分和六十分我觉得在实际水平上都没什么差别,反正过一段时间大家都忘了,就好像什么都没学一样。我被这种考试制度害苦了。我是第一名,所有人眼中的好学生。可是我觉得我根本就不懂数学。有许多数学家都谈过数学学习方法,谈过学数学应掌握到什么程度。我读过,我知道,但我没那么做,我没有那么多时间那样学数学。(大家都知道现在本科生课程安排有多满,多得没时间思考。奇怪的是,只靠考前突击过关的人从来不嫌课多。大环境如此,我辈奈何?现在数学系招那么多人,每个班至多只有几个人会走数学的道路。总不能为了几个人,让大部分人考试不过关吧;总不能为了几个人,不考虑其他人的就业问题吧。奇怪啊!数学系的培养目标不是培养数学人才!)现实中的考试曾让我怀疑是否有必要深入的掌握数学,没有人(亲口)告诉我我该怎么学数学,应该学到什么深度。也许,我的幸运在于大三下学期遇到了我的硕士导师,也是我现在的导师。他是我在现实中接触过的第一位真正的数学家。从他身上,我看到了书中描述的数学家的品质。此前,我见过数学教授。见多了所谓的教授、副教授我曾经一度怀疑书中描述的数学家世界只是一个虚幻。直到见到他,我不再怀疑。如果华罗庚是我的第一个,(当然)也是永远的精神导师,那么从那时起我有了一个实实在在的数学家导师。我接触到了数学家世界,我渴望已久的世界,原来它不是一个梦幻。然而,可悲的是,我那考试得来的第一名对我进入这个世界毫无帮助。我意识到我必须重头学起。我感到自己无比的渺小,以至于不敢考研(我错过了一次进入中科院数学与系统科学研究院的机会,错过了跟随一位院士学习的机会)。另一方面,提前决定保研(我的成绩和拿过数学建模全国一等奖,美国二等奖保证了这个选择没有任何风险)为我争取到了重学数学的大量时间,因为大四的课程总是很少的,而我又不必为考研付出时间。现在回想起这段经历,我也不觉得有什么后悔。以我原来的基础,跟随无论多么伟大的数学家都不会有什么作为。思考是一件美妙的事。我重学数学,我选择全套北大的教材,我开始思考(我原来没思考吗?有时间思考吗?)。后来我发现并不是北大的教材就是同类教材中最好的,但是当我没有选择判断教材好坏能力的时候,那真是一个不错的选择。我至少在某种意义上接受了和北大学生同样好的数学训练(北大学生有意见吗?他们真是幸福,有老师。而我是我自己的老师)。只读数学教师的书会让你成为数学家吗?只读数学教材会让你成为数学家吗?波利亚说“应该读数学家的著作”。如果你有心的话,会发现著名数学家写的基础著作和科普著作原来有很多(这辈子你读得完吗?),读吧,看看数学家心中的数学。数学家心中的数学是一致的吗?你会发现数学家对数学的理解都有独到之处,甚至存在截然不同的观点。当有一日,你发现你开始对数学有了自己的理解,(或者说,你不能人云亦云,对伟大的数学家也是如此,你应当有自己的观点),祝贺你!你快成数学家了。你只需做出自己的发现了。[/size][/color]
cwdcwb 2006-5-5 18:25
[img]http://googlechinablog.com/google_bb.gif[/img]
数学之美 系列一 -- 统计语言模型
2006年4月3日 上午 08:15:00
从本周开始,我们将定期刊登 Google 科学家吴军写的《数学之美》系列文章,介绍数学在信息检索和自然语言处理中的主导作用和奇妙应用。
发表者: 吴军, Google 研究员
前言
也许大家不相信,数学是解决信息检索和自然语言处理的最好工具。它能非常清晰地描述这些领域的实际问题并且给出漂亮的解决办法。每当人们应用数学工具解决一个语言问题时,总会感叹数学之美。我们希望利用 Google 中文黑板报这块园地,介绍一些数学工具,以及我们是如何利用这些工具来开发 Google 产品的。
系列一: 统计语言模型 (Statistical Language Models)
Google 的使命是整合全球的信息,所以我们一直致力于研究如何让机器对信息、语言做最好的理解和处理。长期以来,人类一直梦想着能让机器代替人来翻译语言、识别语音、认识文字(不论是印刷体或手写体)和进行海量文献的自动检索,这就需要让机器理解语言。但是人类的语言可以说是信息里最复杂最动态的一部分。为了解决这个问题,人们容易想到的办法就是让机器模拟人类进行学习 - 学习人类的语法、分析语句等等。尤其是在乔姆斯基(Noam Chomsky 有史以来最伟大的语言学家)提出 “形式语言” 以后,人们更坚定了利用语法规则的办法进行文字处理的信念。遗憾的是,几十年过去了,在计算机处理语言领域,基于这个语法规则的方法几乎毫无突破。
其实早在几十年前,数学家兼信息论的祖师爷 香农 (Claude Shannon)就提出了用数学的办法处理自然语言的想法。遗憾的是当时的计算机条件根本无法满足大量信息处理的需要,所以他这个想法当时并没有被人们重视。七十年代初,有了大规模集成电路的快速计算机后,香农的梦想才得以实现。
首先成功利用数学方法解决自然语言处理问题的是语音和语言处理大师贾里尼克 (Fred Jelinek)。当时贾里尼克在 IBM 公司做学术休假 (Sabbatical Leave),领导了一批杰出的科学家利用大型计算机来处理人类语言问题。统计语言模型就是在那个时候提出的。
给大家举个例子:在很多涉及到自然语言处理的领域,如机器翻译、语音识别、印刷体或手写体识别、拼写纠错、汉字输入和文献查询中,我们都需要知道一个文字序列是否能构成一个大家能理解的句子,显示给使用者。对这个问题,我们可以用一个简单的统计模型来解决这个问题。
如果 S 表示一连串特定顺序排列的词 w1, w2,…, wn ,换句话说,S 可以表示某一个由一连串特定顺序排练的词而组成的一个有意义的句子。现在,机器对语言的识别从某种角度来说,就是想知道S在文本中出现的可能性,也就是数学上所说的S 的概率用 P(S) 来表示。利用条件概率的公式,S 这个序列出现的概率等于每一个词出现的概率相乘,于是P(S) 可展开为:
P(S) = P(w1)P(w2|w1)P(w3| w1 w2)…P(wn|w1 w2…wn-1)
其中 P (w1) 表示第一个词w1 出现的概率;P (w2|w1) 是在已知第一个词的前提下,第二个词出现的概率;以次类推。不难看出,到了词wn,它的出现概率取决于它前面所有词。从计算上来看,各种可能性太多,无法实现。因此我们假定任意一个词wi的出现概率只同它前面的词 wi-1 有关(即马尔可夫假设),于是问题就变得很简单了。现在,S 出现的概率就变为:
P(S) = P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1)…
(当然,也可以假设一个词又前面N-1个词决定,模型稍微复杂些。)
接下来的问题就是如何估计 P (wi|wi-1)。现在有了大量机读文本后,这个问题变得很简单,只要数一数这对词(wi-1,wi) 在统计的文本中出现了多少次,以及 wi-1 本身在同样的文本中前后相邻出现了多少次,然后用两个数一除就可以了,(P(wi|wi-1) = P (wi)/[P(wi-1,wi)]。
也许很多人不相信用这么简单的数学模型能解决复杂的语音识别、机器翻译等问题。其实不光是常人,就连很多语言学家都曾质疑过这种方法的有效性,但事实证明,统计语言模型比任何已知的借助某种规则的解决方法都有效。比如在 Google 的中英文自动翻译中,用的最重要的就是这个统计语言模型。去年美国标准局(NIST) 对所有的机器翻译系统进行了评测,Google 的系统是不仅是全世界最好的,而且高出所有基于规则的系统很多。
现在,读者也许已经能感受到数学的美妙之处了,它把一些复杂的问题变得如此的简单。当然,真正实现一个好的统计语言模型还有许多细节问题需要解决。贾里尼克和他的同事的贡献在于提出了统计语言模型,而且很漂亮地解决了所有的细节问题。十几年后,李开复用统计语言模型把 997 词语音识别的问题简化成了一个 20 词的识别问题,实现了有史以来第一次大词汇量非特定人连续语音的识别。
我是一名科学研究人员 ,我在工作中经常惊叹于数学语言应用于解决实际问题上时的神奇。我也希望把这种神奇讲解给大家听。当然,归根结底,不管什莫样的科学方法、无论多莫奇妙的解决手段都是为人服务的。我希望 Google 多努力一分,用户就多一分搜索的喜悦。
[[i] 本帖最后由 cwdcwb 于 2006-5-5 18:27 编辑 [/i]]
cwdcwb 2006-5-5 18:29
下面这个帖子总结了很多关于数学的讨论,希望对大家有帮助
一、数学与计算机的关系
2、胡侃学习(理论)计算机
[url]http://www.kaifulee.com/OtherResources/Sir_CS.htm[/url]
3、开复先生说数学对计算机很重要,我是个程序员但对此感受不深,看不到有什么作用,请举几个例子好吗?
[url]http://bbs.kaifulee.com/dispbbs.asp?boardid=137&replyid=164700&id=23087&page=1&skin=0&Star=1[/url]
4、我是大一的数学系学生想在软件领域有所见树 请高人指点????
[url]http://bbs.kaifulee.com/dispbbs.asp?boardid=20&id=6030[/url]
几个例子:
离散数学 (布尔代数,集合论,数理逻辑) - 许多计算机理论的基础
数论(例:素数理论)和编码理论 - 计算机安全(加密解密)
傅利叶变换 - 信号处理。
概率统计 - 机器学习,数据挖掘,语音识别,...
数理逻辑/证明方法 - 可计算性,计算复杂性 (很难的计算机理论问题)
几何学 - 计算机三维图形
5、有个问题想问一下李老师关于软件与数学之间的问题
[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=52&ID=72047&replyID=373448&skin=1[/url]
cwdcwb 2006-5-5 18:29
1、 问题: 我恨学数学,怎么办?
[url]http://www.kaifulee.com/FAQ/Study/HateMath.htm[/url]
--------------------------------------------------------------------------------
答案:
生活中有一些事情即使不感兴趣也必须做。
不要低估数学的用处。数学是理工科必须的基础。 很多学生看到大学专业对数学要求不多,就松了一口气,因为他们在高中时认为数学是最难的,而且是最看不清应用或就业前景的。但是,许多理工科都是建立在数学的基础上。例如,要想扎实地学好计算机工程,至少要把离散数学 (包括集合论,图论,数理逻辑等)、线性代数,概率统计、数学分析学好。如果想读计算机博士或硕士,那可能还需要更高的数学基础。除了专业的要求之外,数学是人类几千年的智慧结晶,数学学习可以培养和训练思维。经过学习几何,我们学会如何用演绎推理来求证和思考。经过学习概率统计,我们可以学会如何避免思考的死胡同,如何最大化自己的机会。所以一定要用心把数学学好,不能敷衍了事。最重要的不是选修很多门数学课,而是要知道“为什么”学习,要从学习中得到知识和思考的方式。
如果你真的不喜欢数学或其他科目,好在它们不需要做一辈子。比如说数学,如果你实在不喜欢数学,问题不大。将来大学里和社会上很多专业都不需要数学。但是,要能够摆脱数学,你必须冲过数学这道高考关。看在可以在不远的将来和它再见的份上,现在使出全力好好送它一程吧。既然你不想成为数学家,那么目标很明确,努力在数学上提高一分是一分,争取不要让数学拖你高考的后腿。没有必要把数学当作一种包袱。每个人都有长处和短处,只要扬长补短就可,补一寸是一寸,补一尺是一尺。
2、问题: 为什么要学数学?我觉得数学用处不大。
[url]http://www.kaifulee.com/FAQ/Study/WhyLearnMath.htm[/url]
--------------------------------------------------------------------------------
答案:
数学是理工科必须的基础。 很多学生看到大学专业对数学要求不多,就松了一口气,因为他们在高中时认为数学是最难的,而且是最看不清应用或就业前景的。
但是,许多理工科都是建立在数学的基础上。例如,要想扎实地学好计算机工程,至少要把离散数学 (包括集合论,图论,数理逻辑等)、线性代数,概率统计、数学分析学好。如果想读计算机博士或硕士,那可能还需要更高的数学基础。
除了专业的要求之外,数学是人类几千年的智慧结晶,数学学习可以培养和训练思维。经过学习几何,我们学会如何用演绎推理来求证和思考。经过学习概率统计,我们可以学会如何避免思考的死胡同,如何最大化自己的机会。所以一定要用心把数学学好,不能敷衍了事。
最重要的不是选修很多门数学课,而是要知道“为什么”学习,要从学习中得到知识和思考的方式。
--------------------------------------------------------------------------------
回答者: 李开复
日期: 3/5/2005
下面是以前的答复,不过你的例子比较特殊,因为你说要做计算机研究.那就要看做哪些方面的.有些领域需要的数学更多一些.不过大部分领域绝对不需要是"数学天才".
我读研究生院的时候,大概有40%是黑客型的博士生,20%是数学天才性的.
开复
问题:数学对于其它专业来说到底有多重要?如果想学好计算机,经济学等专业,是否有必要本科选择数学系?
回答:
对于计算机专业,一般大学的计算机系的课程中的数学应该足够了。如果你想加强数学,有空可以看看离散数学,排队论和概率论。如果对简单的加密算法有些理解也很好。
---开复
****************
个人感觉是数学确实很重要, 但是更重要的是数学学习给人带来的思维训练.在大学里学习一下高等数学对锻炼思维很有帮助. 但是并不是每个行业都需要数学本科出身. 比如法律, 政治, 历史,文学, 等等, 虽然也需要严谨的思维, 但是并不需要数学本科背景。 商业, 经济学, 管理等等对数学(尤其是统计, 概率)的要求更高一些,但是本科也并不一定要上数学系,因为专业知识技能也很重要。 而且很多理工科在大一大二都会安排数学课程.
---一个微软员工
******************
数学对理工是非常重要的,但是也没有那么神奇,尤其在人文方面。如果你不喜欢数学,千万不要选数学专业。
---开复
想成为一名优秀的软件架构师,数学的理论知识不必掌握得很高深。但是,大学或者硕士阶段的计算机理论必须学好。对于理论性较强的领域,比如图形学,数据库(我指实现而非应用),操作系统,等等,具有理论研究背景(比如有博士阶段研究或当过相关领域教授)会提供一个高瞻远瞩的起点。但是,对于国内的很多应用型软件开发,想成为成功的软件构架师恐怕更重要的是从实践中培养。大学毕业后(甚至研究生毕业后)主要从事的可能是编程的工作。在编程的基础上如果日后能够在项目中发挥越来越宏观的作用,并对业界和顾客需求长期积累经验和了解,会对成为一名软件构架师有很大的帮助。在微软,很多软件构架师来自于程序员。所以,你可以将这个远大的目标化解为近期的更加能够实现的目标,比如先成为一名优秀的软件工程师或程序员。
cwdcwb 2006-5-5 18:30
1、witdoor的数学学习方法:[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=20&ID=6475&replyID=&skin=1[/url]
2、还有论坛朋友们关于“学数学的方法”的讨论:
[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=20&ID=2653&replyID=&skin=1[/url]
3、[讨论]数学学习的核心
[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=20&replyID=124990&id=15587&skin=0[/url]
4、如何学好高等数学[转帖]:
[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=20&ID=6940&replyID=&skin=1[/url]
5、丘成桐教授:数学和中国文学的比较
[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=20&ID=24926&replyID=&skin=1[/url]
6、华罗庚谈“怎样学好数学”
[url]http://bbs.kaifulee.com/dispbbs.asp?BoardID=137&ID=8249&replyID=&skin=1[/url]
shanny197809 2006-5-5 19:53
数学是永远的基础
huhansan 2006-5-5 20:12
如果搞工程,可能数学的作用不是很大
但是如果是搞研究,就是通信方面的对数学的要求也很大
比如仿真,比如公式的推导等等,对数学的要求是很高的(比如矩阵论、高等概率等)
kommy 2006-5-18 11:16
数学是我心中永远的痛哦~不过我的工作还是离不开他~不如与他好好相处为好~