文本上的算法——深入浅出自然语言处理 - (EPUB全文下载)
文件大小:0.23 mb。
文件格式:epub 格式。
书籍内容:
文本上的算法——深入浅出自然语言处理
第1章 你必须知道的一些基础知识
第2章 我们生活在一个寻求最优解的世界里
第3章 让机器可以像人一样学习
应用篇
第4章 如何计算得更快
第5章 你要知道的一些术语
第6章 搜索引擎是什么玩意儿
第7章 如何让机器猜得更准
第8章 理解语言有多难
结语
参考文献
欢迎来到异步社区!
第1章 你必须知道的一些基础知识
机器学习是解决很多文本任务的基本工具,本书自然会花不少篇幅来介绍机器学习。要想搞明白什么是机器学习,一定要知道一些概率论和信息论的基本知识,本章就简单回顾一下这些知识(如果读者已经掌握了这些基础知识,可以跳过本章,继续阅读)。
1.1 概率论
概率就是描述一个事件发生的可能性。我们生活中绝大多数事件都是不确定的,每一件事情的发生都有一定的概率(确定的事件就是其概率为100%而已)。天气预报说明天有雨,那么它也只是说明天下雨的概率很大。再比如掷骰子,我把一个骰子掷出去,问某一个面朝上的概率是多少?在骰子没有做任何手脚的情况下,直觉告诉你任何一个面朝上的概率都是1/6,如果你只掷几次,是很难得出这个结论的,但是如果你掷上1万次或更多,那么必然可以得出任何一个面朝上的概率都是1/6的结论。这就是大数定理:当试验次数(样本)足够多的时候,事件出现的频率无限接近于该事件真实发生的概率。
假如我们用概率函数来表示随机变量x∈X的概率分布,那么就要满足如下两个特性
联合概率p(x,y)表示两个事件共同发生的概率。假如这两个事件相互独立,那么就有联合概率p(x,y) = p(x)p(y)。
条件概率p(y | x)是指在已知事件x发生的情况下,事件y发生的概率,且有p(y | x) = p(x,y)/p(x)。如果这两个事件相互独立,那么p(y | x)与p(y)相等。
联合概率和条件概率分别对应两个模型:生成模型和判别模型。我们将在下一章中解释这两个模型。
概率分布的均值称为期望,定义如下
期望就是对每个可能的取值x,与其对应的概率值p(x),进行相乘求和。假如一个随机变量的概率分布是均匀分布,那么它的期望就等于一个固定的值,因为它的概率分布p(x)=1/N。
概率分布的方差定义如下
可以看出,方差是表示随机变量偏离期望的大小,所以它是衡量数据的波动性的,方差越小表示数据越稳定,反之,方差越大表示数据的波动性越大。
另外,你还需要知道的几个常用的概率分布:均匀分布、正态分布、二项分布、泊松分布、指数分布,等等。你还可以了解一下矩阵的知识,因为所有公式都可以表示成矩阵形式。
1.2 信息论
假如一个朋友告诉你外面下雨了,你也许觉得不怎么新奇,因为下雨是很平常的一件事情,但是如果他告诉你他见到外星人了,那么你就会觉得很好奇:真的吗?外星人长什么样?同样两条信息,一条信息量很小,一条信息量很大,很有价值,那么怎么量化这个价值呢?这就需要信息熵,一个随机变量X的信息熵定义如下
信息越少,事件(变量)的不确定性越大,它的信息熵也就越大,搞明白该事件所需要的额外信息就越多,也就是说搞清楚小概率事件所需要的额外信息较多,比如说,为什么大多数人愿意相信专家的话,因为专家在他专注的领域了解的知识(信息量)多,所以他对某事件的看法较透彻,不确定性就越小,那么他所传达出来的信息量就很大,听众搞明白该事件所需要的额外信息量就很小。总之,记住一句话:信息熵表示的是不确定性的度量。信息熵越大,不确定性越大。
联合熵的定义为
联合熵描述的是一对随机变量X和Y的不确定性。
条件熵的定义为
条件熵衡量的是:在一个随机变量X已知的情况下,另一个随机变量Y的不确定性。
相对熵(又叫KL距离,信息增益)的定义如下
相对熵是衡量相同事件空间里两个概率分布(函数)的差异程度(而前面的熵衡量的是随机变量的关系)。当两个概率分布完全相同时,它们的相对熵就为0,当它们的差异增加时,相对熵就会增加。相对熵又叫KL距离,但是它不满足距离定义的3个条件中的两个:(1)非负性(满足);(2)对称性(不满足);(3)三角不等式(不满足)。它的物理意义就是如果用q分布来编码p分布(一般就是真实分布)的话,平均每个基本事件编码长度增加了多少比特。
两个随机变量X和Y,它们的互信息定义为
互信息是衡量两个随机变量的相关程度,当X和Y完全相关时,它们的互信息就是1;反之,当X和Y完全无关时,它们的互信息就是0。
对于x和y两个具体的事件来说,可以用点互信息(Pointwise Mutual Information)来表示它们的相关程度。后面的章节就不做具体区分,都叫作互信息。
互信息和熵有如下关系
互信息和KL距离有如下关系
如果X和Y完全不相关,,则,互信息也为0。可以看出互信息是KL距离的期望。
交叉熵的定义如下
它其实就是用分布q来表示X的熵是多少,也就是说用分布q来编码X(其完美分布是p)需要多付出多少比特。
好了,介绍了这么多概念公式,那么我们来个实际的例子,在文本处理中,有个很重要的数据就是词的互信息。前面说了,互信息是衡量两个随机变量(事件)的相关程度,那么词的互信息,就是衡量两个词的相关程度,例如,“计算机”和“硬件”的互信息就比“计算机”和“杯子”的互信息要大,因为它们更相关。那么如何在大量的语料下统计出词与词的互信息呢?公式中可以看到需要计算3个值:p(x)、p(y)和p(x,y)。它们分别表示x独立出现的概率,y独立出现的概率,x和y同时出现的概率。前两个很容易计算,直接统计词频然后除以总词数就知道了,最后一个也很容易,统计一下x和y同时出现(通常会限定一个窗口)的频率,除以所有无序对的个数就可以了。这样,词的互信息就计算出来了,这种统计最适合使用Map-Reduce来计算。
1.3 贝叶斯法则
贝叶斯法则是概率论的一部分,之所以单独拿出来介绍,是因为它真的很重要。它是托马斯•贝叶斯生前在《机遇理论中一个问题的解》(An Essay Towards Solving a Problem in Doctrine of ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 文本上的算法——深入浅出自然语言处理 - (EPUB全文下载)