单字模型何时比双字模型(或更高阶的N字模型)更合适?

我在阅读关于N字模型的内容时,想知道在实践中是否有使用单字模型优于双字模型(或更高阶的N字模型)的情况。据我所知,N值越大,计算概率和建立向量空间的复杂性就越高。但除此之外,是否还有其他原因(例如与数据类型相关)?


回答:

这归结为数据稀疏性:随着你的n字模型长度增加,你会看到任何给定n字模型的次数会减少:在最极端的例子中,如果你的语料库中最大文档长度为n个词元,而你正在寻找一个m字模型,其中m=n+1,你当然不会有任何数据点,因为在你的数据集中根本不可能有这样的序列长度。你的数据集越稀疏,你对它的建模效果就越差。因此,尽管理论上更高阶的n字模型包含了更多关于词语上下文的信息,但它难以泛化到其他数据集(称为过拟合),因为在训练过程中它见过的n字模型事件数量随着n的增加而逐渐减少。另一方面,较低阶的模型缺乏上下文信息,因此可能会欠拟合你的数据。

因此,如果你有相对大量的词元类型(即你的文本词汇非常丰富),但每种类型的频率非常低,你可能会在较低阶的n字模型上获得更好的结果。同样,如果你的训练数据集非常小,你可能在较低阶的n字模型上表现得更好。然而,假设你有足够的数据来避免过拟合,你则可以用更高阶的模型获得更好的数据可分性

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注