人生苦短,我用Python!
By 苏剑林 | 2015-12-06 | 56232位读者 | 引用“熵”不起:从熵、最大熵原理到最大熵模型(一)
By 苏剑林 | 2015-12-01 | 81077位读者 | 引用熵的概念
作为一名物理爱好者,我一直对统计力学中“熵”这个概念感到神秘和好奇。因此,当我接触数据科学的时候,我也对最大熵模型产生了浓厚的兴趣。
熵是什么?在通俗的介绍中,熵一般有两种解释:(1)熵是不确定性的度量;(2)熵是信息的度量。看上去说的不是一回事,其实它们说的就是同一个意思。首先,熵是不确定性的度量,它衡量着我们对某个事物的“无知程度”。熵为什么又是信息的度量呢?既然熵代表了我们对事物的无知,那么当我们从“无知”到“完全认识”这个过程中,就会获得一定的信息量,我们开始越无知,那么到达“完全认识”时,获得的信息量就越大,因此,作为不确定性的度量的熵,也可以看作是信息的度量,说准确点,是我们能从中获得的最大的信息量。
《量子力学与路径积分》习题解答V0.3
By 苏剑林 | 2015-11-18 | 18218位读者 | 引用新的《量子力学与路径积分》习题解答又放出来啦。与前两个版本不同的是,前两次更新,每次基本上完成了两章的习题,而这一次,只是增加了第6章的22道习题(第6章共有29道)。原因很多,各种忙就不说啦,主要是第6章开始,各种题目开始复杂起来,计算量也增大,虽然笔者是数学系的,可是还是前进得艰难。还有,第4、5两章加起来也只是25道习题,第6章却有29题,因此,本次更新的工作量,远远大于前两次更新的工作量。
为什么只有22题?当然是没有做完啦。为什么没有做完就更新啦?因为笔者觉得右面的题目,跟第7章的联系更为密切,因此,怕读者等不及,所以剩下的题目,跟第7章一起再发吧。
此外,我是看着中文版来做题的,中文版的翻译质量还不错,但是细微之处却有些不妥当,所以笔者要来回参考中英文版,颇累。读者可以发现,这一版中,“勘误”增加了不少。
ARXIV数学论文分布:偏微分方程最热门!
By 苏剑林 | 2015-11-13 | 31030位读者 | 引用笔者成功地保研到了中山大学的基础数学专业,这个专业自然是比较理论性的,虽然如此,我还会保持着我对数据分析、计算机等方面的兴趣。这几天兴致来了,想做一下结合我的专业跟数据挖掘相结合的研究,所以就爬取了ARXIV上面近五年(2010年到2014年)的数学论文(包含的数据有:标题、分类、年份、月份),想对这几年来数学的“行情”做一下简单的分析。个人认为,ARVIX作为目前全球最大的论文预印本的电子数据库,对它的数据进行分析,所得到的结论是能够具有一定的代表性的。
当然,本文只是用来练手爬虫和基本数据分析的文章,并没有挖掘出特别有价值的信息。文末附录了笔者爬取到的数据,供有兴趣的读者进一步分析研究。
整体情况
这五年来,ARXIV的数学论文总数为135009篇,平均每年27000篇,或者每天74篇。
朋友们,来瓶汽水吧!有趣的换汽水问题
By 苏剑林 | 2015-10-28 | 32814位读者 | 引用————怀念我曾经参加过的小学数学竞赛。
从一道小学竞赛题谈起
笔者小学五年级时参加了第一次数学竞赛,叫“育苗杯”,大多数题目都记不清楚了,唯一记得很清楚的是如下这道题目(不完全相同,意思类似):
假设汽水一块钱一瓶,而且4个空瓶子可以换一瓶汽水喝。如果我有30块钱,我最多可以喝到多少瓶汽水?
当然,这道题并不困难,30块钱能买30瓶汽水,然后留下30个空瓶子,这30个空瓶子可以换来7瓶汽水,剩下2个空瓶子;喝完汽水后,剩下9个空瓶子,可以换来2瓶汽水,剩下1个空瓶子;喝完汽水后,剩下3个空瓶子。算算看,这时候我们已经喝了30+7+2=39瓶汽水了。(不考虑撑着啊,也可以分给别人喝^_^)整个过程如下表:
$$\begin{array}{c|cccc}
\hline
\text{空瓶子数} & 30 & 2+7 & 1+2 & ? \\
\hline
\text{已喝汽水数} & 30 & 7 & 2 & ? \\
\hline \end{array}$$
新词发现的信息熵方法与实现
By 苏剑林 | 2015-10-26 | 107119位读者 | 引用在本博客的前面文章中,已经简单提到过中文文本处理与挖掘的问题了,中文数据挖掘与英语同类问题中最大的差别是,中文没有空格,如果要较好地完成语言任务,首先得分词。目前流行的分词方法都是基于词库的,然而重要的问题就来了:词库哪里来?人工可以把一些常用的词语收集到词库中,然而这却应付不了层出不穷的新词,尤其是网络新词等——而这往往是语言任务的关键地方。因此,中文语言处理很核心的一个任务就是完善新词发现算法。
新词发现说的就是不加入任何先验素材,直接从大规模的语料库中,自动发现可能成词的语言片段。前两天我去小虾的公司膜拜,并且试着加入了他们的一个开发项目中,主要任务就是网络文章处理。因此,补习了一下新词发现的算法知识,参考了Matrix67.com的文章《互联网时代的社会语言学:基于SNS的文本数据挖掘》,尤其是里边的信息熵思想,并且根据他的思路,用Python写了个简单的脚本。
把Python脚本放到手机上定时运行
By 苏剑林 | 2015-10-21 | 41797位读者 | 引用毫无疑问,数据是数据分析的基础,而对于我等平民来说,获取大量数据的方式自然是通过爬虫采集,而对于笔者来说,写爬虫最自然的方式就是用Python写了。短短几行代码,就可以完成一个实用的爬虫,多清爽。(请参考:《记录一次爬取淘宝/天猫评论数据的过程》)
爬虫要住在哪里?
接下来的一个问题是,这个爬虫放到哪里运行?为了爬取每天更新的数据,往往需要每天都要运行一次爬虫,特别地,是在某个点定时运行。这样的话,老挂在自己的电脑运行是不大现实,因为自己的电脑总有关机的时候。也许有读者会想到放在云服务器里边,这是个方法,但是需要额外的成本。受到小虾大神的启发,我开始想把它放到路由器里边运行,某些比较好的路由器是可以外接U盘,且可以刷open-wrt系统的(一个Linux内核的路由器系统,可以像普通Linux那样装Python)。这对我来说是一种很吸引人的做法,但是我对Linux环境下的编译并不熟悉,尤其是路由器环境下的操作;另外路由器配置很低,一般都只是16M闪存、64M内存,如果没有耐心,那么是很难受得了的。
最近评论