信息论与机器学习中的主题
在自然语言处理的众多领域中,机器学习技术正发挥着至关重要的作用。在实际应用里,我们常常需要判定对象或观测值的类别,比如确定文本的语言种类,或是判断单词的词性。接下来,我们将探讨如何从语料库中构建数学模型,从而实现自动检测段落是法语还是英语,以及辨别单词是名词还是动词。
1. 编码与信息论
信息论是编码设计的基础。Claude Shannon 在 1948 年发表的开创性文章开启了这一领域,他定义了信息的度量方式——熵。下面我们将介绍信息论中的几个重要概念:熵、最优编码、交叉熵和困惑度。熵是衡量符号序列平均信息含量的通用指标,我们会研究它如何助力设计高效编码。
1.1 熵
信息论把文本视为符号序列。假设 $x_1, x_2, \cdots, x_N$ 是代表字符的 $N$ 个离散符号集,单个符号的信息含量定义为:
$I(x_i) = -\log_2 P(x_i) = \log_2 \frac{1}{P(x_i)}$,单位是比特。
当所有符号的概率相等时,即 $P(x_1) = P(x_2) = \cdots = P(x_N) = \frac{1}{N}$,此时这些符号被称为等概率符号。那么 $x_i$ 的信息含量为 $I(x_i) = \log_2 N$。
信息含量对应着对符号集进行编码所需的比特数。例如,假设字母表由 26 个无重音的等概率字符和空格组成,其信息含量为 $\log_2 (26 + 1) = 4.75$,这意味着需要 5 比特来进行编码。若再加入 16 个带重音的字符、大写字母、11 个标点符号以及空格,总共需要 $(26 + 16) \times 2 + 12 =
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



