当前位置: 首页 > news >正文

Unigram中的损失

Unigram 算法在计算损失时,其核心思想是衡量在当前词汇表和概率模型下,对训练语料进行分词的“不确定性”或“不完美程度”。这个“损失”并非传统深度学习中的梯度下降损失,而是一种用于评估和优化分词模型的指标。

具体来说,Unigram 算法通过以下方式计算和利用“损失”:

1. 核心概念:分词的似然 (Likelihood)

Unigram 模型假设一个句子被分词成若干个子词(或词)的概率是这些子词概率的乘积。给定一个句子 S 被分词为 [w1, w2, ..., wn],其似然 (Likelihood) 为:

P(S) = P(w1) * P(w2) * ... * P(wn)

这里的 P(wi) 是子词 wi 在当前词汇表中的出现概率。

2. 损失函数:负对数似然 (Negative Log-Likelihood, NLL)

为了计算方便(避免数值下溢,并将乘法转换为加法),通常使用负对数似然 (NLL) 作为损失函数:

Loss = -log(P(S)) = -log(P(w1)) - log(P(w2)) - ... - log(P(wn))

这个损失值越小,说明当前的分词方案和概率模型对训练语料的拟合程度越高。

3. 损失的计算过程

在 Unigram 算法的迭代优化过程中,损失的计算和使用体现在以下几个步骤:

  1. 初始化词汇表

    • 从字符级别或一个较大的初始词汇表开始。
    • 为每个子词分配一个初始概率(通常基于频率)。
  2. Viterbi 分词 (计算最优路径)

    • 对于训练语料中的每一个句子,使用 Viterbi 算法(一种动态规划算法)来找到概率最高(即损失最小)的分词路径。
    • 这个过程会考虑所有可能的子词组合,并选择使得 P(w1)*P(w2)*...*P(wn) 最大的那一条路径。
    • 这条路径上的每个子词都被视为在当前模型下对该句子的“最优”分词。
  3. 计算总体损失

    • 对训练语料中所有句子,都进行 Viterbi 分词,得到各自的最优分词路径。
    • 将所有句子的负对数似然相加,得到整个训练集的总损失: Total Loss = Σ(-log(P(Sentence_i)))
    • 这个总损失衡量了当前词汇表和概率模型对整个语料库的拟合程度。
  4. 迭代优化 (降低损失)

    • Unigram 算法的核心是迭代地缩减词汇表。它会尝试从当前词汇表中移除一些“不重要”的子词。
    • 如何判断“不重要”?就是看移除某个子词后,对总体损失的影响。
    • 算法会计算移除每个候选子词后,重新进行 Viterbi 分词并计算新的总损失。
    • 选择那个导致总损失增加最少(或者说,对模型性能损害最小)的子词进行移除。
    • 移除后,重新计算剩余子词的概率(通常是基于它们在新分词结果下的频率),然后进入下一轮迭代。

总结

简单来说,Unigram 算法的“损失”就是训练语料在当前分词模型下的负对数似然总和

  • 目标:找到一个大小合适的词汇表,使得这个损失最小。
  • 方法:通过反复的“Viterbi分词 -> 计算损失 -> 移除对损失影响最小的子词 -> 更新概率”这一循环,逐步优化词汇表。
  • 关键点:损失的计算依赖于 Viterbi 算法找到的“最优”分词路径,而这个路径又依赖于当前的子词概率。这是一个相互依赖、迭代优化的过程。

因此,Unigram 算法的损失计算是其能够自动学习并构建高效、紧凑词汇表的关键机制。

http://www.dtcms.com/a/466764.html

相关文章:

  • 网站服务器多少钱一月亿速云
  • MySQL数据库远程无法连接
  • 做网站实训报告电子商务网站建设的四个步骤
  • 外贸门户网站seo系统源码出售
  • 6.java反射
  • 怎么做淘宝客个人网站网站程序模板
  • 即梦图片批量去水印软件运营大管家AI图片去水印工具
  • 做网站怎么套模板网站站建设建技设术技术
  • Vue 程序使用host 0.0.0.0 实现监听本机所有可用的网络接口
  • ts-jest与其他TypeScript测试工具的对比
  • 学习16天:pytest学习
  • 奉贤青岛网站建设广州市制网公司
  • 江西中恒建设集团网站网站字体怎么设置
  • 泰安网站制作哪家好网站建设目的分析
  • 怎么看网站开发者页面渗透wordpress论坛
  • 求个网站好人有好报百度贴吧商城类网站建设方案
  • 使用 python-docx 库操作 word 文档(3):读取word文档的内容
  • 鸿蒙:从相册中选取图片,并转成PixelMap作为UI显示
  • 什么是网站什么是网址东莞网站设计服务商
  • STM32 读取引脚状态 -按键输入
  • 关于网站建设分类名字logo设计在线生成免费
  • 网站的二级网页关键词在线一键生成网页
  • 深圳夫博网站建设有限公司深夜的fm免费看
  • MySQL学习笔记09:MySQL高级特性深度学习(上):count函数、数据类型与分库分表核心原理
  • 失智老年人照护实训室建设指南:从意义到实践的全面解析
  • 10分钟上手OpenAI Agents SDK
  • 中文分析原始
  • JP4-8-MyLesson前台前端(二)
  • 做js题目的网站上海网站建设公司推荐排名
  • 网站建设效益分析代运营合同模板