机器学习——词向量模型(CBOW代码实现-未开始)

本来是不打算做这个CBOW代码案例的,想快马加鞭看看前馈神经网络

毕竟书都买好了

可是...可是...我看书的时候,感觉有点儿困难,哭的很大声...

感觉自己脑细胞可能无法这么快接受

要不,还是退而求个稍微难度没那么大的事,想想自己还有什么是没实现的呢

哦!CBOW的案例还没做呢~

在一个巨人面前,我无耻地选择了暂避其锋芒

就好像,我本应该英勇地迈过刀山火海,可是我却怂了

而且,怂的有理有据:CBOW还没实现呢

只希望,CBOW案例,不要太难,不然我根本寸步难行,只能天天打游戏聊以自慰

首先,我计划做一个客服预料包,然后用CBOW去预测某个中间关键词

目标明确后,问题接踵而至

问题1-能否用中文语料:不行,因为中文分词很麻烦,我懒得去搞分词,重点是CBOW

英文语料很简单,因为英文是一个词跟另一个词,用空格分开,获取十分简单
问题2-头尾单词怎么解决:毕竟CBOW是获取关键词的前c个和后c个单词来训练的,但开头单词没有前c个单词,末尾单词没有后c个单词
解决办法:用额外的单词替代,比如None,应该问题不大的吧
问题3-按句还是按所有句取上下文:如果是按句取上下文,那么一个句子开头和末尾单词的下文就是None,语料文件有很多个句子,就会有很多个None。

如果按所有句取上下文,那整个语料文件就只有开头有None,末尾有None,None数量很少
解决办法:还是按句吧,毕竟两句之间的上下文,是毫无关系的。

按照【基于HierarchicalSoftmax的CBOW】正反向传播流程,来设计程序吧!

【基于HierarchicalSoftmax的CBOW】正向传播过程

  • 输入层:
    • 转换独热编码:将词典D转换为one-hot独热编码,
    • 获取上下文:按规定上下文的长度k,来截取语库C里的上下文单词 x x x和预测单词 y ∗ y* y∗
    • 获取独热编码:获取上下文单词x的独热编码向量 x 1 x1 x1, x 2 x2 x2, x 3 x3 x3, x 4 x4 x4,作为初始输入矩阵X=[ x 1 x1 x1, x 2 x2 x2, x 3 x3 x3, x 4 x4 x4]
  • 投影层:
    • 计算中间向量:
      • 将初始矩阵X乘以一个权重矩阵W,提取出各个初始向量 x 1 x1 x1, x 2 x2 x2, x 3 x3 x3, x 4 x4 x4的权重系数 w 1 w1 w1、 w 2 w2 w2、 w 3 w3 w3、 w 4 w4 w4
      • 将这些权重系数加和,作为中间向量h=[ w 1 w1 w1+ w 2 w2 w2+ w 3 w3 w3+ w 4 w4 w4],注意,这里的加和是按列加和
  • 输出层:
    • 构建huffman树,
    • 计算路径概率
    • 计算预测模型
相关推荐
逄逄不是胖胖几秒前
《动手学深度学习》-69预训练bert数据集实现
人工智能·深度学习·bert
IT_陈寒5 分钟前
Python开发者的效率革命:这5个技巧让你的代码提速50%!
前端·人工智能·后端
用户69371750013847 分钟前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
love530love11 分钟前
不用聊天软件 OpenClaw 手机浏览器远程访问控制:Tailscale 配置、设备配对与常见问题全解
人工智能·windows·python·智能手机·tailscale·openclaw·远程访问控制
lifallen18 分钟前
从零推导多 Agent 协作网络 (Flow Agent)
人工智能·语言模型
guoji778822 分钟前
2026年Gemini 3 Pro vs 豆包2.0深度评测:海外顶流与国产黑马谁更强?
大数据·人工智能·架构
NAGNIP27 分钟前
一文搞懂深度学习中的损失函数设计!
人工智能·算法
千桐科技29 分钟前
大模型幻觉难解?2026深度解析:知识图谱如何成为LLM落地的“刚需”与高薪新赛道
人工智能·大模型·llm·知识图谱·大模型幻觉·qknow·行业深度ai应用
Hello.Reader30 分钟前
词语没有位置感?用“音乐节拍“给 Transformer 装上时钟——Positional Encoding 图解
人工智能·深度学习·transformer
我叫果冻32 分钟前
ai-assist:基于 LangChain4j 的 RAG 智能助手,本地化部署更安全
人工智能·安全