【李宏毅机器学习】Unsupervised Learning - Word Embedding 无监督学习 - 词嵌入(p22) 学习笔记
文章目录
- Unsupervised Learning Word Embedding
- 用一个vector来表示一个word的几种方法
- 1-of-N Encoding
- Word Class
- Word Embedding
- 如何做Word Embedding
- How to exploit the context? 如何利用文本呢?
- Count based
- Prediction based
- Prediction-based - Sharing Parameters
- Prediction-based - Training
- Prediction-based - Various Architectures
- Word Embedding
- Characteristics
- Solving analogies
- Demo
- Multi-lingual Embedding
- Multi-domain Embedding
- Document Embedding
- Semantic Embedding
Unsupervised Learning Word Embedding
用一个vector来表示一个word的几种方法
1-of-N Encoding
用一个vector来表示一个word,这个vector的维度就是世界上可能有的词的数目,每一个word对应其中一个维度。
用这种方法来描述一个word,得到的vector不够informative信息丰富,每个word的vector都不一样,无法从中得到任何信息,以及词和词之间的联系。
Word Class
如何解决上述问题?
建立word class,把有相同性质的word放在同一个 class内,但是这还是不够的,依然缺少一些信息。
Word Embedding
把每个word都映射到一个高维空间,但是远比1-of-encoding的维度要低,一般都是50-100维。
如何做Word Embedding
Word Embedding是一个无监督学习的方法,只需要让机器阅读大量的文章,就可以知道每个词汇embedding的feature vector是什么样子。
产生词向量是无监督的,我们需要做的就是训练一个神经网络,找到一个function,输入一个词,输出该词对应的word embedding 的 vector。训练数据是一大堆文字,即,只有input,没有output。
不能用auto-encoder来解决
How to exploit the context? 如何利用文本呢?
Count based
如果有两个word常常在同一个文章中出现,则说明他们比较接近。
Prediction based
learn一个神经网络,用来预测,给前一个word wi−1w_{i-1}wi−1,预测出下一个可能出现的word是谁
。
输入:前一个word的1-of-N encoding的feature vector
输出:下一个word,是某个词的概率,vector的维度是世界上word的数目。
Prediction-based - Sharing Parameters
前面仅仅通过前一个词来预测下一个词可能太差了,所以可以引申为通过前几个词来预测下一个词。
每个维度连接到的weight必须是一样的,否则,一个词会对应有两个词向量,且减少参数量(1-of-N encoding的vector的维度是10w维,feature vector是50维。如果我们强迫让所有的1-of-N encoding后面接的weight全部一样,就不会随着context的增长而需要更多的参数)。
公式化表示:
如何让wiw_iwi和wjw_jwj相等呢?
让wiw_iwi和wjw_jwj做相同初始化。
如果像下图一样,则第一次更新则会导致wiw_iwi和wjw_jwj不再相等。
所以需要这样:wiw_iwi和wjw_jwj使得两个weight永远tie在一起。
Prediction-based - Training
Prediction-based - Various Architectures
Word Embedding
同一个动词的三种时态会存在某种关系——三角形
所以,我们可以从word vector中发现词和词之间的关系。
如果把word vector两两相减,把他们映射到一个二维空间中,如果他们落在了同一块区域,说明这两个word之间会存在一个包含另外一个的关系。
Characteristics
Solving analogies
Demo
Multi-lingual Embedding
把不同语言的word vector放在一起。
通过中文和英文的两个corpus单独地去训练一组word vector,可以发现中文和英文的word vector完全没有任何关系,每个维度对应的含义没有任何联系。
因为,训练word vector靠的是上下文之间的关系,所以如果你的corpus里没有中英文混杂的话,那么机器就无法判断中英文词汇之间的关系。
但是如果事先已知一部分中英文的词汇的对应关系,然后再分别得到一组中文vector和英文vector,接下来就可以learn一个模型把事先知道的中英文对应的那些词汇,通过映射到空间中的同一个点(绿色底子汉字或者绿色英文代表已知中英文对应关系的词汇),接下来,如果遇到新的未知的中文或者英文词汇,则可以用同样的映射方法,把他们映射到同一个空间中,可以自动知道这些未知的词会落在同样的位置,达到类似翻译的效果。
Multi-domain Embedding
现已经找到一组vector,知道他们在空间中所映射的位置,在有一个新的image进来的时候,通过把他映射到空间中,可以得到他属于的类别。在做影像分类的时候很难处理新增的类别,一般都只能判断出给定的已知类别,学习出来的模型只能去对那几个类别来分类,如果有一个新的来了,这个模型完全无能为力,无法判断其类别。
但是用这种方法的话,是可以判断未知类别的图像。
机器在阅读大量图片后,机器自动知道了词汇间的关系,然后将新的图片区匹配已知的知识,这样就算遇到没见过的图片,也有可能识别出他的名字。
Document Embedding
把一个document变成一个vector
Semantic Embedding
把一个document变成一个bag of word,用auto-encoder学习出他的semantic embedding。
但是这么做是不够的,用bag of word来描述一个document是不够的,因为词汇的顺序是十分重要的。
下图的两句话的bag of word是完全一样的,但是他们在语义上是完全不一样的,所以用bag of word来描述一个document是非常不够的!
具体方法没有细讲,只给出了一些reference,前三个方法是无监督的,只需要收集一大堆的document,后面的算是有监督的,虽然不需要给出每一个document对应的vector是什么,但是需要对每一个document给出额外label,才可以进行学习。
【李宏毅机器学习】Unsupervised Learning - Word Embedding 无监督学习 - 词嵌入(p22) 学习笔记相关推荐
- 李宏毅老师课程:Unsupervised Learning - Word Embedding
词嵌入:word embedding Introduction Word Embedding Count based Prediction based Sharing Parameters Train ...
- 【李宏毅2020 ML/DL】P22 Unsupervised Learning - Word Embedding
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记
李宏毅机器学习学习笔记汇总 课程链接 文章目录 Why CNN for image? property1:对于整张图来说,一些局部是很小的 property2:相同的部分会出现在不同的图片中 prop ...
- Word Embedding News|词嵌入新鲜事:六月刊:GPT-3来了
这里是 WEN(Word Embedding News)|词嵌入新鲜事. 作为起步,它将基于 Sebastian Ruder NLP News 的每月筛选,聚焦词嵌入领域.对涉及内容在本人阅读后的基础 ...
- 【李宏毅机器学习】TransFormer框架基础储备知识(p51) 学习笔记 | 全程手码,放心食用
全文总结于哔哩大学的视频:李宏毅2020机器学习深度学习(完整版)国语 2020版课后作业范例和作业说明在github上:点击此处 李宏毅上传了2020版本的机器学习视频和吴恩达的CS229机器学习相 ...
- 机器学习-21-Unsupervised Learning-05-Word Embedding(无监督学习之词嵌入)
文章目录 Unsupervised Learning: Word Embedding Introduction 句子的表示 1-of-N Encoding Bag of Words (BOW) Wor ...
- 李宏毅深度学习--《Unsupervised Learning:Neighbor Embedding》
<Unsupervised Learning:Neighbor Embedding> Manifold Learning Locally Linear Embedding (LLE) La ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
- 机器学习(二)之无监督学习:数据变换、聚类分析
文章目录 0 本文简介 1 无监督学习概述 2 数据集变换 2.1 预处理和缩放 2.2 程序实现 2.3 降维.特征提取与流形学习 2.3.1 主成分分析 2.3.2 非负矩阵分解 2.3.3 用t ...
最新文章
- bat maven 一键打包1.0
- 阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能
- C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码
- WebSocket——[Error during WebSocket handshake: Unexpected response code: 403]解决方案
- Undefined exploded archive location Tomcat之项目不能发布
- asp.net mvc项目实例_降龙-第13章:MVC开发准备
- linux应用参数 冒号,Lua-面向对象中函数使用时冒号(:)和点(.)的区别
- php mysql上机题_PHP+mysql真题
- List 中的元素排序
- 冯诺依曼体系结构与计算机基本组成
- java汉字的编码_JAVA汉字编码问题
- SpringBoot的Upd服务端,客户端案列
- 苹果计算机远程桌面连接,远程桌面连接mac,小编教你苹果mac如何远程桌面连接...
- linux mtd0信息,linux mtd
- 网易web安全:课后问题-CSRF
- 工业机器人入门z50的含义_ABB工业机器人期中考试试题(中职)
- AlsaLib基本使用(基于1.2.4版本)
- 字符串 substring()和 substr()之间的区别
- 【论文阅读】多模态模型CoCa
- 使用easypoi 导出模板 图片填充
热门文章
- 浅谈_依赖注入 asp.net core
- Arc076_E Connected?
- 硬件——nrf51822第二篇,如何设置keil用来下载程序
- Java 中 modifer #39;public#39; is reduntant for interface methods
- k-means算法实现python
- java byreference_Java中各种引用(Reference)解析
- CCF202012-2 期末预测之最优阈值
- dev中循环展示图片的样式怎么写_图中的这种样式怎么用HTML写?
- 安川e7变频器接线_台达变频器C2000系列在铝箔纸压花机上的应用
- java代码创建jar_Java 创建ZIP和JAR文件