• ML学习笔记--Word Embedding


    词嵌入

    在这里插入图片描述

    基本思想

    词嵌入是一种无监督学习,机器通过阅读大量的文章来学习单词的意思,通过上下文来理解一个单词,例如,特朗普宣誓就职,拜登宣誓就职这两个句子,后面都是宣誓就职,说明特朗普和拜登这两个词是非常相似的,它们的向量在高维空间也应该是相似的。

    one-hot到word embedding

    词表示最直觉的做法就是1-of-N Encoding,向量维度和词表大小一样,每个词在其中某一维为1,其它维为0,这种表示无法体现出词之间的关系
    word calss 方法是将意思相似或同属性的词归位一类,但是这种划分也没有体现出类与类的关系,划分粗糙,需要很多人工设计
    Word embedding也是一种降维操作,通过无监督的方法从文本中学出来,最终学到的结果,可以在向量空间的距离上体现出词之间的关系。
    在这里插入图片描述

    挖掘上下文信息

    Count-based method和Prediction-based method

    Count-based方法认为如果两个单词一起出现的频率很高,那么这两个词就是很相关,二者的内积就越接近这两个单词在同一篇文章中出现的次数
    在这里插入图片描述

    Prediction-based的任务是,给出一个句子的单词 w i − 2 w_{i-2} wi2, w i − 1 w_{i-1} wi1,预测下一个出现的word w i w_i wi是什么?
    要训练出一个neural network,它的输入是句子中某个单词 w i − 1 w_{i-1} wi1的的one-hot向量,然后输出后一个词在所有词上的概率,网络训练好之后,把第一个隐藏向量取出来就可以作为word embedding
    在这里插入图片描述

    那么这种方法是怎么体现出相似性?
    为了能够让两个不同的词预测出同样的下文,那么这两个词的向量就要相近甚至相同
    但是用一个词去预测下一个词,这种预测能力太弱了,所以会用更多的词,但这会使模型参数的数量急剧上升------->引出共享参数的方法

    共享参数

    为了提高预测准确度,可以多看几个词,怎么让参数一样呢,首先初始值设置一样
    在这里插入图片描述

    其次在参数更新的时候,同时减去双方的偏微分
    在这里插入图片描述

    训练

    假设看两个word之后,就预测下一个word,把每一次的cross entropy都加起来,优化目标是使总共的交叉熵最小
    在这里插入图片描述

    prediction-based不同结构的模型

    一种结构叫做Continuous bag of word(CBOW)model,就是给定前后文单词,预测出中间空缺的词;另一种叫做skip-gram,就是给出一个词,预测该词前后文是什么
    在这里插入图片描述

  • 相关阅读:
    中国电子学会2023年09月份青少年软件编程Python等级考试试卷五级真题(含答案)
    Hyperledger Fabric组织的动态添加和删除
    Vue 3的新特性有哪些?
    DGL安装教程
    OC高仿iOS网易云音乐AFNetworking+SDWebImage+MJRefresh+MVC+MVVM
    HTML5学习系列之响应式图像
    深度学习(PyTorch)——torchvision中的数据集使用方法
    Java时间Api
    ACM练习——第四天
    力扣:343. 整数拆分
  • 原文地址:https://blog.csdn.net/weixin_45768308/article/details/127136577