好吧,第一次在简书上写文,这大概是从初中毕业后写的第一篇读后感,支持我来到这里写文的原因有两个:一是自觉大学以来便没有过系统的将想法梳理实现成文章,导致思维的惰性大大增加,没能培养起系统性思考的习惯,非常可惜;二是简书采用了Markdown的书写排版方式,我也是最近才了解到这种书写方式的优点,想借此机会学习。
那么今后,争取在这里,养成记录思维的习惯吧。
言归正传,如果你是一名文科生,建议你有空尝试阅读这本书,它不单属于工程师,这个世界不光有有风花雪月和鸡汤狗血,还有一些值得沉思探索的事物。
大学时期,我对股票投机产生了浓厚的兴趣,天天琢磨着如何在这个近乎零和游戏的市场中一夜暴富,翻查了大量不知名人士的各种锦囊妙计,结果你们也能猜到,毫无卵用。这一切直到我阅读到了几本讲述美国对冲基金如何运作的书籍,才恍然大悟:卧槽!
世界上最牛逼的股票市场参与者早已不再单纯依赖人脑对信息的摄取和判断来做出投资决策,他们依赖的是先进的计算机及交易模型来攫取利润,如果你也对这个领域有所涉猎,应该听闻过“文艺复兴技术公司”的鼎鼎大名,而这种先进交易方式的核心就是:数学。或者更贴近时代一点,叫大数据。
吴军先生结合自身深厚的数学功底以及长期在Google、腾讯等一线互联网公司的项目开发经验,用极其简约的语言讲述了我们日常中使用的搜索、翻译、导航、语音识别、网络爬虫、网页排名与反作弊等互联网功能的数学原理,将那些在平常人眼里只属于工程师和科学家的工作进行了一次平易近人的科普,往往只用一个数学方程便揭示了很多我们日常感觉高大上的名词,比如“人工神经网络”、“信息熵”、“贝叶斯网络"等等。
于我而言,一开始是抱着发掘兴趣的心态来看的,却不想歪打正着读到了一些跟自动化交易相关的内容。
论及投资,人们场所不要把所有的鸡蛋放在一个篮子里,这样可以降低风险。在信息处理中,这个原理同样适用。在数学上,这个原理称为最大熵原理。最大熵原理指出,对一随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何假设。(不做主观假设很重要)在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大。不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素说法,因为当我们遇到不确定性时,就要保留各种可能性。
和最大熵模型同样对如今的自动化交易贡献巨大的还有马尔科夫链、贝叶斯网络和人工神经网络,这些数学模型与思想从上世纪90年代起逐渐进入美国的投资市场,而他们取得的成绩就连伯克希尔哈撒韦这样的公司也望尘莫及。
一个人脑能处理的信息终归太过有限,即使是几名传统基金经理的共同智慧,也难以和整个市场的能量相匹配。但是,借助于数学,以及如今强大的数据获取与计算能力,我们就可能将数之不尽的影响因素进行量化,从而准确判断。
另外一个让我思考的问题,是如何在没有数据或仅有少量数据的情况下,训练数学模型的参数,以及用数据促进功能迭代。因为最近工作中碰到了一个的问题,我们手中的一个产品开发已接近完成,但是这个产品的核心功能需要一批数据,如果我们有足够的用户流量,我们就可以基于用户的数据反馈来不断迭代产品的核心功能,但是,由于我们产品的设计问题,如果完全依赖用户贡献内容(UGC)会严重影响用户体验,这是一个冷启动的问题。我们自己充当第一批用户(或雇人)去在相应场景下做UGC,成本又太大。这就迫使我思考如何在数据较少的情况下,有没有可能利用某些算法去尽快改进产品。《数学之美》也给出了一些“无中生有”的案例,比如帮助Google一战成名的PageRank算法。
对大部分用户的查询,今天的搜索引擎都会返回成千上万的结果,那么应该如何排序,把用户最想看到的结果排在前面呢?Google的做法是"PageRank",其实简单地说就是民主表决。打个比方,加入我们要找李开复博士,有100个人举手说自己是李开复。那么谁是真的呢?也许有好几个都是真的,但即使如此谁有事大家真正想找的呢?如果大家都说在创新工场的那个是真的,那么他就是真的。在互联网上,如果一个网页被很多其它网页所连接,说明它收到普遍的承认和信赖,那么它的排名就高。这就是PageRank的核心思想。现在举一个例子,我们知道一个网页Y的排名应该来自所有只想这个网页的其他网页X1,X2,......Xn的权重之和,接下来的问题是X1,X2,......Xn的权重分别是多少,如何度量。拉里佩奇认为,应该是这些网页本身的网页排名。现在麻烦来了,计算搜索结果的网页排名过程需要用到网页本身的排名,这不成了“先有鸡还是先有蛋”的问题了吗?破解这个怪圈的方法是:先假定所有网页的排名是相同的,并且根据这个初始值,算出各个网页的第一次迭代排名(每个网页的被连接数已知),并根据这个初始值,算出各个网页的第一次迭代排名,然后在根据第一次迭代排名算出第二次迭代排名,并且,无论初始值如何选取,这种算法都能保证网页排名的估计值能收敛到排名的真实值。
最后记述两个简单的概念。什么是编码和解码?在刚参加工作的那段时间里,文科生出身的我对这两个概念及其相关的问题非常头痛,在这本书里我找到了答案。举个通俗的例子,我们将脑海中所想的东西用语言表达出来,这就是编码,一个听我们说话的人将我们说的话吸收并在脑袋中理解,就是解码。可能大家看起来这是一个很平常的过程,这不是很自然的事情吗?仔细想想,大脑中所思考的东西为什么可以通过语言说出来,或者可以通过文字写出来,说出来的话和写在纸上的文字所存信息和脑海中所存信息的存在形式是完全不同的,这一套转化规则其实就是编码和解码,而英语和汉语,就是两套不同的编码解码规则。同样的,我们在打电话时,发出的声学信息需要转化成电信号,通过无线电传输至另一方,然后再转化成人能明白的声信号,这也是一次编码和解码的过程。而对所有形式信息的编码与解码,在本质上也都是数学工作。更直接的表现是,我们通过计算机键入信息时,最常见的方式就是打字,然而这些信息经过编码交给计算机时,都是以二进制来存储和传输的。
总体而言,数学在我们世界中的作用非常非常之大,我们日常的所有工作都离不开数学,这是我近期工作和读书很大的一个体会,慢慢学会培养自己的数学的兴趣,积累数学的理论和知识,大概是这一辈子都要认真做的事情了。