精华内容
下载资源
问答
  • 向量的一般表示式
    千次阅读
    2014-11-03 22:07:10

    三角剖分推导中遇到的问题,结论如下

    更多相关内容
  • 向量与行列笔记

    千次阅读 2020-01-12 22:56:26
    python实现 1,向量和行列一,向量1,向量表示2,维度和分量3,零向量和单位向量 向量是指具有大小和方向的量,在物理学中,通常将向量称为矢量 标量是指只有大小的量,在物理学中,也叫做标量 箭头的方向表示...

    在这里插入图片描述

    向量是指具有大小和方向的量,在物理学中,通常将向量称为矢量
    标量是指只有大小的量,在物理学中,也叫做标量
    在这里插入图片描述
    箭头的方向表示向量的方向,线段则表示向量的大小
    向量的众多特性可以是很多概念得到简化

    一,向量

    1,向量的表示

    • 直角坐标系表示:带箭头的线段
    • 印刷体表示:粗体字母 ,如abD
    • 手写体表示:字母上加一个向右的箭头,如 a ⃗ \vec{a} a b ⃗ \vec{b} b D ⃗ \vec{D} D
    • 代数表示: a = < x 1 , x 2 > = ( x 1 , x 2 ) = ( x 1 x 2 ) = [ x 1 x 2 ] a=<x_1,x_2>=(x_1,x_2)=\begin{pmatrix} x_1 \\ x_2 \end{pmatrix}=\begin{bmatrix} x_1 \\ x_2 \end{bmatrix} a=<x1,x2>=(x1,x2)=(x1x2)=[x1x2]
    • 模的表示: ∣ a ∣ = x 1 2 + x 2 2 |a|=\sqrt{x_1^2+x_2^2} a=x12+x22

    2,维度和分量

    首先这里可以打开思路,有人问我,你能想象四维的空间吗?不能想象就别乱说了。我的确想象不出来,的确我也不能再平面上画出一个四维的空间,但是这里的维度是 数 学 层 面 \color{red}{数学层面} 的!
    每一个维度都可以代表任意我们能想象到的事物,这里的维度完全取决与我们对每个维度的定义!

    • 每个维度中的内容:数字、文字或是其他符号都可以
    • 不同维度的表示: n n n维空间用 R n R^n Rn表示,如二维空间 R 2 R^2 R2、三维空间 R 3 R^3 R3
    • 维度的分量:向量在其中一个维度上的值成为该维度的分量,如 R 3 R^3 R3空间的向量 a ⃗ = ( 1 , 2 , 9 ) \vec{a}=(1,2,9) a =(1,2,9),那么 a ⃗ \vec{a} a 再三个维度的分量分别是1,2,9

    3,零向量和单位向量

    • 零向量:长度为零的向量,与任何向量平行,可记作 O O O Z Z Z(zero), O = [ 0 0 0 ] , O ∈ R 3 O=\begin{bmatrix} 0 \\ 0 \\0\end{bmatrix},O\in R^3 O=000,OR3
    • 单位向量:一个非零向量除以它的模,得到单位向量, N = a ∣ a ∣ N= \frac {a} {|a|} N=aa

    二,向量的运算

    1,加减法

    ①加法

    向量的加法很简单,将相同维度的向量依次相加就行了

    简单举个例子:

    a = [ a 1 a 2 a 3 ] , b = [ b 1 b 2 b 3 ] , a + b = [ a 1 + b 1 a 2 + b 2 a 3 + b 3 ] a = \begin{bmatrix} a_1 \\ a_2 \\a_3\end{bmatrix},b=\begin{bmatrix}b_1\\b_2\\b3\end{bmatrix},a+b=\begin{bmatrix}a_1+b_1\\a_2+b_2\\a_3+b_3\end{bmatrix} a=a1a2a3,b=b1b2b3,a+b=a1+b1a2+b2a3+b3

    ②减法

    和加法一样简单,把相同维度的向量依次相减即可

    简单举个例子:

    a = [ a 1 a 2 a 3 ] , b = [ b 1 b 2 b 3 ] , a − b = [ a 1 − b 1 a 2 − b 2 a 3 − b 3 ] a = \begin{bmatrix} a_1 \\ a_2 \\a_3\end{bmatrix},b=\begin{bmatrix}b_1\\b_2\\b3\end{bmatrix},a-b=\begin{bmatrix}a_1-b_1\\a_2-b_2\\a_3-b_3\end{bmatrix} a=a1a2a3,b=b1b2b3,ab=a1b1a2b2a3b3

    2,数乘

    向量乘上一个标量就可以组成数乘的运算

    简单举个例子:
    v = [ 7 9 ] , v × 2 = [ 14 18 ] , v × − 6 = [ − 42 − 54 ] v=\begin{bmatrix}7\\9\end{bmatrix},v\times2=\begin{bmatrix}14\\18\end{bmatrix},v\times-6=\begin{bmatrix}-42\\-54\end{bmatrix} v=[79]v×2=[1418]v×6=[4254]

    3,点积

    从向量角度看, 对应点对应积的和就是点积运算,点积的结果是标量

    简单举个例子:
    a = [ a 1 a 2 a 3 ] , b = [ b 1 b 2 b 3 ] , a ⋅ b = a 1 × b 1 + a 2 × b 2 + a 3 × b 3 = ∑ i = 1 3 a i b i a=\begin{bmatrix}a_1\\a_2\\a_3\end{bmatrix},b=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix},a\cdot b=a_1\times b_1+a_2\times b_2+a_3\times b_3=\sum_{i=1}^3 {a_ib_i} a=a1a2a3,b=b1b2b3,ab=a1×b1+a2×b2+a3×b3=i=13aibi

    从几何角度看,对应的模乘夹角余弦

    a ⋅ b = ∣ a ∣ ∣ b ∣ c o s θ a\cdot b=|a||b|cos\theta ab=abcosθ

    4,叉积

    二维空间中,叉积的定义如下

    a = [ a 1 a 2 ] , b = [ b 1 b 2 ] a=\begin{bmatrix}a_1\\a_2\end{bmatrix},b=\begin{bmatrix}b_1\\b_2\end{bmatrix} a=[a1a2],b=[b1b2]
    a × b = ∣ a 1 a 2 b 1 b 2 ∣ = a 1 b 2 − a 2 b 1 a\times b=\begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix}=a_1b_2-a_2b_1 a×b=a1b1a2b2=a1b2a2b1
    叉积的结果是向量

    从几何角度看,叉积的模等于对应的模乘夹角正弦

    a × b = ∣ a ∣ ∣ b ∣ s i n θ a\times b=|a||b|sin\theta a×b=absinθ

    三,行列式

    1,组成

    行列式是由向量组成的式子,是一种运算,结果为向量

    如上面的叉积就是一个简单的二阶行列式:

    ∣ a 1 a 2 b 1 b 2 ∣ \begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix} a1b1a2b2

    2,性质

    1. 单位矩阵的行列式为1
    2. 如果 D n = d e t ( A ) D_n=det(A) Dn=det(A)中某行的元素全为0,那么 D n = 0 D_n=0 Dn=0
    3. 如果 D n = d e t ( A ) D_n=det(A) Dn=det(A)中某两行元素对应成比例,那么 D n = 0 D_n=0 Dn=0
    4. 如果 D n = d e t ( A ) D_n=det(A) Dn=det(A)中某两行互换,那么互换后的行列式编号,即 d e t ( A ) = − d e t ( A ) det(A)=-det(A) det(A)=det(A)
    5. 倍乘性质: d e t ( k A n × n ) = k n d e t ( A n × n ) det(kA_{n\times n})=k^ndet(A_{n\times n}) det(kAn×n)=kndet(An×n)
    6. 倍加性质: ∣ a 1 a 2 b 1 b 2 ∣ = ∣ a 1 a 2 b 1 + k a 1 b 2 + k a 1 ∣ \begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix}=\begin{vmatrix}a_1&a_2\\b_1+ka_1&b_2+ka_1\end{vmatrix} a1b1a2b2=a1b1+ka1a2b2+ka1
    7. 单行(列)可拆(加)性: ∣ ∗ a 1 a 2 a 3 ∗ ∣ + ∣ ∗ b 1 b 2 b 3 ∗ ∣ = ∣ ∗ a 1 + b 1 a 2 + b 2 a 3 + b 3 ∗ ∣ \begin{vmatrix}*\\a_1&a_2&a_3\\* \end{vmatrix}+\begin{vmatrix}*\\b_1&b_2&b_3\\* \end{vmatrix}=\begin{vmatrix}*\\a_1+b_1&a_2+b_2&a_3+b_3\\* \end{vmatrix} a1a2a3+b1b2b3=a1+b1a2+b2a3+b3
    8. 两个矩阵相乘的行列式,等于这两个矩阵的行列式相乘: d e t ( A 2 ) = ( d e t ( A ) ) 2 det(A^2)=(det(A))^2 det(A2)=(det(A))2

    3,意义

    线性代数研究向量之间的关系,最重要的关系就是独立或不独立,行列式等于0即向量独立,即对应方程组有唯一解

    4,计算

    上(下)三角矩阵的行列式等于主对角元素的乘积

    计算原则:利用行列式的性质化简成上(下)三角矩阵的样子,然后计算乘积

    通过公式:
    d e t ( A ) = ∑ n ! ± a 1 α a 2 β a 3 γ ⋅ ⋅ ⋅ a n ω det(A)=\sum_{n!}\pm a_{1\alpha}a_{2\beta}a_{3\gamma}\cdot \cdot \cdot a_{n\omega} det(A)=n!±a1αa2βa3γanω

    四,代数余子式

    代数余子式优点像俄罗斯套娃,可以把行列式的阶数一直打开到只剩一阶(一个数)
    在这里插入图片描述

    什么是代数余子式,举个例子:
    三阶行列式的计算公式如下
    d e t ( A ) = a 11 ( a 22 a 33 − a 23 a 32 ) − a 12 ( a 21 a 33 − a 23 a 31 ) + a 13 ( a 21 a 32 − a 22 a 31 ) det(A)=a_{11}(a_{22}a_{33}-a_{23}a_{32})-a_{12}(a_{21}a_{33}-a_{23}a_{31})+a_{13}(a_{21}a_{32}-a_{22}a_{31}) det(A)=a11(a22a33a23a32)a12(a21a33a23a31)+a13(a21a32a22a31)

    1,代数余子式公式:

    d e t ( A ) = a 11 C 11 + a 12 C 12 + ⋅ ⋅ ⋅ + a 1 n C 1 n = ∑ i = 1 n a 1 i C 1 i det(A)=a_{11}C_{11}+a_{12}C_{12}+\cdot \cdot \cdot +a_{1n}C_{1n}=\sum_{i=1}^{n}a_{1i}C_{1i} det(A)=a11C11+a12C12++a1nC1n=i=1na1iC1i

    C x y C_{xy} Cxy就是 a x y a_{xy} axy的代数余子式,若 x + y x+y x+y为奇数, a x y a_{xy} axy为负数

    五,结束语:以上内容如有错误或不妥欢迎指出,谢谢!

    小白学识有限,难免无不妥之处,欢迎批评指正!

    展开全文
  • 展开全部表示唯一即需要A中的向量不能相互表示,也就是A中的向量线性无关时,由A中向量表示成b时表示方法唯32313133353236313431303231363533e58685e5aeb931333433643061一。条件:等价于AX=b这个方程有解。要理解一...

    展开全部

    表示唯一即需要A中的向量不能相互表示,也就是A中的向量线性无关时,由A中向量表示成b时表示方法唯32313133353236313431303231363533e58685e5aeb931333433643061一。

    条件:等价于AX=b这个方程有解。要理解一个问题,矩阵A实际上就是列向量组构成的,它与一个X向量相乘,得到的就是另外一个向量。也就说,这个向量可以被向量组A线性表示。

    向量组个该向量组成的矩阵的秩等于或小于向量组中向量的个数,取自定理:若向量组α1,α2...αn线性无关,且α1,α2...αn,β线性相关,则β可由这个向量组α线性表出,且表示法唯一。

    9cf84f606241e108d2b4e5ac347693c5.png

    扩展资料

    注意

    1、对于任一向量组而言,,不是线性无关的就是线性相关的。

    2、向量组只包含一个向量a时,a为0向量,则说A线性相关;若a≠0, 则说A线性无关。

    3、包含零向量的任何向量组是线性相关的。

    4、含有相同向量的向量组必线性相关。

    5、增加向量的个数,不改变向量的相关性。

    6、减少向量的个数,不改变向量的无关性。

    7、一个向量组线性无关,则在相同位置处都增加一个分量后得到的新向量组仍线性无关。

    8、一个向量组线性相关,则在相同位置处都去掉一个分量后得到的新向量组仍线性相关。

    9、若向量组所包含向量个数等于分量个数时,判定向量组是否线性相关即是判定这些向量为列组成的行列式是否为零。若行列式为零,则向量组线性相关;否则是线性无关的。

    展开全文
  • 向量表示

    千次阅读 2020-08-12 23:53:10
    语音中,用音频频谱序列向量所构成的矩阵作为模型的输入;在图像中,用图像的像素构成的矩阵数据作为模型的输入。这些都可以很好表示语音/图像数据。而语言高度抽象,很难刻画词语之间的联系,比如“麦克风”和...

    目录

    1、语言表示

    1.1、分布假说

    1.2、语言模型

    2、词向量表示

    2.1、词向量表示之one-hot

    2.2、词带模型之 (Bag of Words)

    2.3、词的分布式表示

    2.3.1 基于矩阵的分布式表示

    2.3.2 基于聚类的分布式表示

    2.4基于神经网络的分布式表示

    2.4.1、NNLM

    2.4.2、Word2Vec

    2.4.3、fasttext  

    3、静态词向量表示方法优缺点


    1、语言表示

    语音中,用音频频谱序列向量所构成的矩阵作为模型的输入;在图像中,用图像的像素构成的矩阵数据作为模型的输入。这些都可以很好表示语音/图像数据。而语言高度抽象,很难刻画词语之间的联系,比如“麦克风”和“话筒”这样的同义词,从字面上也难以看出这两者意思相同,即“语义鸿沟”现象。

    1.1、分布假说

    上下文相似的词,其语义也相似。

    1.2、语言模型

    文本学习:词频、词的共现、词的搭配。 
    语言模型判定一句话是否为自然语言。机器翻译、拼写纠错、音字转换、问答系统、语音识别等应用在得到若干候选之后,然后利用语言模型挑一个尽量靠谱的结果。 

    n元语言模型:对语料中一段长度为n 的序列wn−i+1,...,wi−1,即长度小于n的上文,n元语言模型需要最大化如下似然:      

                                

    wi为语言模型要预测的目标词,序列wn−i+1,...,wi−1为模型的输入,即上下文,输出则为目标词wi的分布。用频率估计估计n元条件概率: 

                         

    通常,n越大,越能保留词序信息,但是长序列出现的次数会非常少,导致数据稀疏的问题。一般三元模型较为常用。

    2、词向量表示

    2.1、词向量表示之one-hot

         1、 构建语料库

         2、构建id2word的词典

         3、词向量表示

        例如构建的词典为:

         {“John”: 1, “likes”: 2, “to”: 3, “watch”: 4, “movies”: 5, “also”: 6, “football”: 7, “games”: 8, “Mary”: 9, “too”: 10}

         则词向量表示为:

         John: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    • 缺点:维度大;词与词之间是孤立的,无法表示词与词之间的语义信息! 

    2.2、词带模型之 (Bag of Words)

    1)文档的向量表示可以直接将各词的词向量表示加和
    John likes to watch movies. Mary likes too. => [1, 2, 1, 1, 1, 0, 0, 0, 1, 1]

    2)计算词权重 TF-IDF

       IDF计算需要考虑到所有的文档,计算逆词频数

    这种一般也可以统计ngram的tf-idf

    2.3、词的分布式表示

           分布式表示 主要分为三类:基于矩阵的分布式表示、基于聚类的分布式表示、基于神经网络的分布式表示。这三种方法使用了不同的技术手段,但是它们都是基于分布假说,核心思想也都由两部分组成:一是选择一种方式描述上下文二是选择一种模型刻画目标词与上下文之间的关系

    2.3.1 基于矩阵的分布式表示

    基于矩阵的分布表示主要是构建“词-上下文”矩阵,通过某种技术从该矩阵中获取词的分布表示。矩阵的行表示词,列表示上下文,每个元素表示某个词和上下文共现的次数,这样矩阵的一行就描述了改词的上下文分布。

    常见的上下文有:(1)文档,即“词-文档”矩阵;(2)上下文的每个词,即“词-词”矩阵;(3)n-元词组,即“词-n-元组”矩阵。矩阵中的每个元素为词和上下文共现的次数,通常会利用TF-IDF、取对数等技巧进行加权和平滑。另外,矩阵的维度较高并且非常稀疏,可以通过SVD、NMF等手段进行分解降维,变为低维稠密矩阵。 

    eg:

    这是一个矩阵,这里的一行表示一个词在哪些title(文档)中出现了(词向量表示),一列表示一个title中有哪些词。比如说T1这个title中就有guide、investing、market、stock四个词,各出现了一次,我们将这个矩阵进行SVD,得到下面的矩阵: 

    左奇异向量表示词的一些特性,右奇异向量表示文档的一些特性,中间的奇异值矩阵表示左奇异向量的一行与右奇异向量的一列的重要程序,数字越大越重要。 
    将左奇异向量和右奇异向量都取后2维(之前是3维的矩阵),投影到一个平面上,可以得到(如果对左奇异向量和右奇异向量单独投影的话也就代表相似的文档和相似的词): 

    在图上,每一个红色的点,都表示一个词,每一个蓝色的点,都表示一篇文档,这样我们可以对这些词和文档进行聚类,比如说stock 和 market可以放在一类,因为他们老是出现在一起,real和estate可以放在一类,dads,guide这种词就看起来有点孤立了。按这样聚类出现的效果,可以提取文档集合中的近义词,这样当用户检索文档的时候,是用语义级别(近义词集合)去检索了,而不是之前的词的级别。这样一减少我们的检索、存储量,因为这样压缩的文档集合和PCA是异曲同工的,二可以提高我们的用户体验,用户输入一个词,我们可以在这个词的近义词的集合中去找,这是传统的索引无法做到的。

    详细的LSI算法可以参考这篇博客https://blog.csdn.net/qq_16633405/article/details/80577851

    2.3.2 基于聚类的分布式表示

    这类方法通过聚类手段构建词与其上下文之间的关系。布朗聚类(Brown clustering);目前看到的是可以将相似的词聚到一个簇里面,具体的词向量表示,本人还没太理解,有待探讨。

    布朗聚类原理详细解释可参考:https://zhuanlan.zhihu.com/p/158892642

                                                           https://blog.csdn.net/u014516670/article/details/50574147

    2.4基于神经网络的分布式表示

    2.4.1、NNLM

    Bengio 神经网络语言模型(Neural Network Language Model ,NNLM)是对 n 元语言模型进行建模,估算 P(wi|wn−i+1,...,wi−1) 的概率值。与n-gram等模型区别在于:NNLM不用记数的方法来估算 n 元条件概率,而是使用一个三层的神经网络模型(前馈神经网络),根据上下文的表示以及上下文与目标词之间的关系进行建模求解,如下图: 

    wt−1,...,wt−n+1 为 wt 之前的 n−1 个词,NNLM就是要根据这 n−1 个词预测下一个词 wt。C(w) 表示 w对应的词向量,存储在矩阵 C 中,C(w) 为矩阵 C 中的一列,其中,矩阵 C 的大小为 m∗|V|,|V| 为语料库中总词数,m 为词向量的长度。

    输入层 x:将 n−1 个词的对应的词向量 C(wt−n+1),...,C(wt−1) 顺序拼接组成长度为 (n−1)∗m的列向量,用 x 表示,

    隐含层

    h:使用 tanh 作为激励函数,输出

    为输入层到隐藏层的权重矩阵,d 为偏置项(biases);

    输出层

    y:一共有 |V| 个节点,分量 y(wt=i) 为上下文为 wt−n+1,...,wt−1 的条件下,下一个词为 wt 的可能性,即上下文序列和目标词之间的关系,而 yi 或者 y(wt) 是未归一化 log 概率(unnormalized log-probabilities),其中,y 的计算为:

                          

    为隐藏层到输出层的权重矩阵,b为偏置项, 为输入层到输出层直连边的权重矩阵,对输入层到输出层做一线性变换1。由于输出层的各个元素yi之和不等于1,最后使用 softmax 激活函数将输出值 yi 进行归一化,将 y 转化为对应的概率值: 

                         

    训练时使用梯度下降优化上述目标,每次训练从语料库中随机选取一段序列wi−n+1,...,wi−1作为输入,利用如下方式进行迭代: 

                          

    其中,α为学习速率,θ=(b,d,W,U,H,C)。 

    该结构的学习中,各层的规模: 
    输入层:n为上下文词数,一般不超过5,m为词向量维度,10~10^3; 
    隐含层:n_hidden,用户指定,一般为10^2量级; 
    输出层:词表大小V,10^4~10^5量级; 
    同时,也可以发现,该模型的计算主要集中在隐含层到输出层 tanh 的计算以及输出层 softmax 的计算。

    参考博客:https://blog.csdn.net/aspirinvagrant/article/details/52928361

    2.4.2、Word2Vec

    Word2Vec是用来生成词向量的工具,用一个一层的神经网络把one-hot形式的稀疏词向量映射称为一个K维的稠密向量的过程。为了加快模型训练速度,论文中利用了一些技巧,包括Hierarchical softmax,negative sampling, Huffman Tree等。

    Word2Vec里面有两个重要的模型CBOW模型(Continuous Bag-of-Words Model)与Skip-gram模型。

    CBOW就是根据某个词前面的C个词和后面的C个连续的词,来计算某个词出现的概率。Skip-Gram是根据某个词,然后分别计算它前后出现某几个词的各个概率。

    网络结构分为三层:

    word2vec之cbow和skip-gram结构

         

     

    语言模型中目标函数

    哈夫曼中的目标函数及梯度计算

     

    目标函数及梯度求导

    负采样

    word2vec中的负采样

    对于cbow模型,已知上下文Context(w),需预测w;对于给定的Context(w),w就是正样本,其他的为负样本

    负采样算法描述

    word2vec中提供了两种针对大规模多分类问题的优化手段, negative sampling 和 hierarchical softmax。在优化中,negative sampling 只更新少量负面类,从而减轻了计算量。hierarchical softmax 将词库表示成前缀树,从树根到叶子的路径可以表示为一系列二分类器,一次多分类计算的复杂度从|V|降低到了树的高度。

    2.4.3、fasttext  

    fasttext是facebook开源的一个词向量与文本分类工具,在2016年开源,典型应用场景是“带监督的文本分类问题”。

    提供简单而高效的文本分类和表征学习的方法,性能比肩深度学习而且速度更快。

    fastText结合了自然语言处理和机器学习中最成功的理念。这些包括了使用词袋以及n-gram袋表征语句,还有使用子词(subword)信息,并通过隐藏表征在类别间共享信息。我们另外采用了一个softmax层级(利用了类别不均衡分布的优势)来加速运算过程。

     模型架构

    fastText的架构和word2vec中的CBOW的架构类似,因为它们的作者都是Facebook的科学家Tomas Mikolov,而且确实fastText也算是word2vec所衍生出来的。

    • CBOW的架构:输入的是w(t)的上下文2d个词,经过隐藏层后,输出的是w(t)。
    • fastText模型架构:
      其中x1,x2,...,xN−1,xN表示一个文本中的n-gram向量,每个特征是词向量的平均值。这和前文中提到的cbow相似,cbow用上下文去预测中心词,而此处用全部的n-gram去预测指定类别

     

    对于有大量类别的数据集,fastText使用了一个分层分类器(而非扁平式架构)。不同的类别被整合进树形结构中(想象下二叉树而非 list)。在某些文本分类任务中类别很多,计算线性分类器的复杂度高。为了改善运行时间,fastText 模型使用了层次 Softmax 技巧。层次 Softmax 技巧建立在哈弗曼编码的基础上,对标签进行编码,能够极大地缩小模型预测目标的数量。

    fastText 也利用了类别(class)不均衡这个事实(一些类别出现次数比其他的更多),通过使用 Huffman 算法建立用于表征类别的树形结构。因此,频繁出现类别的树形结构的深度要比不频繁出现类别的树形结构的深度要小,这也使得进一步的计算效率更高。

     N-gram子词特征

    fastText 可以用于文本分类和句子分类。不管是文本分类还是句子分类,我们常用的特征是词袋模型。但词袋模型不能考虑词之间的顺序,因此 fastText 还加入了 N-gram 特征。在 fasttext 中,每个词被看做是 n-gram字母串包。为了区分前后缀情况,"<", ">"符号被加到了词的前后端。除了词的子串外,词本身也被包含进了 n-gram字母串包。以 where 为例,n=3 的情况下,其子串分别为<wh, whe, her, ere, re>,以及其本身 

    fastText和word2vec的区别

    • 相似处:
    1. 图模型结构很像,都是采用embedding向量的形式,得到word的隐向量表达。
    2. 都采用很多相似的优化方法,比如使用Hierarchical softmax优化训练和预测中的打分速度。
    • 不同处:
    1. 模型的输出层:word2vec的输出层,对应的是每一个term,计算某term的概率最大;而fasttext的输出层对应的是分类的label。不过不管输出层对应的是什么内容,起对应的vector都不会被保留和使用。
    2. 模型的输入层:word2vec的输出层,是 context window 内的term;而fasttext 对应的整个sentence的内容,包括term,也包括 n-gram的内容
    • 两者本质的不同,体现在 h-softmax的使用:
    1. Word2vec的目的是得到词向量,该词向量 最终是在输入层得到,输出层对应的 h-softmax
      也会生成一系列的向量,但最终都被抛弃,不会使用。
    2. fastText则充分利用了h-softmax的分类功能,遍历分类树的所有叶节点,找到概率最大的label(一个或者N个)

    fastText是一个能用浅层网络取得和深度网络相媲美的精度,并且分类速度极快的算法。按照作者的说法“在标准的多核CPU上,能够训练10亿词级别语料库的词向量在10分钟之内,能够分类有着30万多类别的50多万句子在1分钟之内”。但是它也有自己的使用条件,它适合类别特别多的分类问题,如果类别比较少,容易过拟合。

    3、静态词向量表示方法优缺点

    one-hot;tfidf,bow:

    优点:解释性强

    缺点:维度大;词与词之间是孤立的,无法表示词与词之间的语义信息! 

    word2vec,fasttext, NNLM模型:

    优点:词与词之间存在联系,可表示词与词之间的语义信息

    缺点:同一个词在不同的语境下表示的含义相同 

     

    参考文献

    https://zhuanlan.zhihu.com/p/46026058 (综述)

    https://blog.csdn.net/aspirinvagrant/article/details/52928361 (综述 cbow和skip-gram继续看着篇)

    https://www.jianshu.com/p/2a1af0497bcc  (RNNLM)

    https://blog.csdn.net/u014203254/article/details/104428602 (另一篇词向量综述,word2vec解释比较详细)

    https://blog.csdn.net/sir_TI/article/details/89199084 (博主基于面试写的关于Word2vec的总结)

    https://www.cnblogs.com/huangyc/p/9768872.html  (fasttext原理综述)

    https://www.infoq.cn/article/PFvZxgGDm27453BbS24W (看到词向量介绍较为详细的文章)

     

    展开全文
  • 一、线性代数的入门知识 (一)矩阵 1、矩阵的表示 在中学的时候,我们会经常看到这样子的方程组: ...观察(2)不难发现,复杂的方程组用矩阵表示后,还是很复杂,所以可以把(2)更加简洁...
  • 线性代数之线性相关线性表示的求法 线性相关 向量是n个m维(每个向量分量的个数)的向量,若存在一组不全为0的 使得 则 是线性相关的,反之线性无关。 线性无关即等价于以下命题: 线性不相关 找不到一组不全0...
  • C++ : 直线的向量表示

    千次阅读 2021-02-26 10:22:19
    1、两点坐标表示方向向量 2、向量法计算点到直线的距离 上面2张图来源于 这里 3、C++ norm() 可以返回复数的平方大小 4、向量a与b叉乘,可以得到向量a与b组成的平行四边形的面积,平行四边形的面积又等于...
  • 正弦量的向量表示

    千次阅读 2020-05-24 16:48:28
    正弦量的相量表示 实质:用复数表示正弦量 复数表示形式 设A为复数; 代数 三角 指数 极坐标 复数的模即为正弦量的幅值(或有效值) 复数的辐角即为正弦量的初相角 注意: 相量只是表示正弦量,而不...
  • 在机器学习中的矩阵向量求导(三) 矩阵向量... 本文我们讨论矩阵向量求导链法则,使用该法则很多时候可以帮我们快速求出导数结果。  本文的标量对向量的求导,标量对矩阵的求导使用分母布局, 向量向量的求导...
  • 很多人在大学学习线性代数时,国内教材书上大多一开始就是行列表示、计算、性质等等东西,让人看得云里雾里,一头雾水,然后要花很多时间才大概知道线性代数是个什么东西。本文不提书上晦涩难懂的内容,尽量用...
  • 注:因为原体积是棱边为1的立方体(以各个基向量组成的平面/空间图形,在研究缩放时具有代表性,后续会解释这一点),而立方体体积为1,所以行列的数值也可以看成是变换后得到的平行六面体的体积。 详细剖析...
  • 图的向量表示概述

    千次阅读 2019-01-23 15:23:37
      图的向量表示,意即通过多维向量空间中的一点来表示一个图的特征,方便使用机器学习的方法对其进行分类操作。   首先讨论怎么从一副普通的图像中提取出特征图:   原图是(a),然后对其做碎片化,得到图...
  • FastText词向量表示

    千次阅读 2018-11-07 10:23:43
    目前的词向量模型都是把每一个单词作为单独的向量,并没有考虑词语的内部结构,那么FastText相比于word2vec的创新就是考虑了词语的形态构成,也就是加上了sub-word的信息,这样的好处在于对于词汇量很...
  • 三角函数的向量表示的原理计算

    千次阅读 2020-06-07 16:30:25
    在《电路》中,三相电源经常用复数或者是向量来表示。但是与我们初高中熟知的空间向量不同,这里的三相交流电是一种时间向量,由于...那么如果正弦量可以用向量表示,就是在图2的几何前提下满足下: Asin⁡a+Bsin⁡b
  • 电工技术(7)—正弦量的向量表示

    千次阅读 2021-12-24 00:34:40
    二:正弦量的向量表示法 瞬时值小写 有效值:大写 幅值:大写+m 向量:大写+点 向量的表达方式:U一点=U的有效值,角,初相位 实质是复数表示正弦量 设A为复数,则有: 综:一个复数可以表示成四种形式: 代数,...
  • 六维空间向量表示法公式笔记

    千次阅读 2021-05-26 15:24:26
    六维空间向量表示法目录1、运动和力2、空间速度和空间力3、加法运算和模乘4、点积(内积)5、坐标变换6、叉积(向量积,外积)7、微分8、加速度9、空间动量10、空间惯量11、空间运动方程 目前对机器人动力学还没有一套...
  • 几个等式之间的转换五,向量(本质:特殊的行列矩阵)线性相关无关的几种理解物理层面----向量空间的基底(线性无关的向量数量),它能表示向量(线性相关的向量)行列层面---由向量所组成的矩阵
  • 例2 如图,设O是正六边形的中心,在图中标出 的向量中写出与向量 OA, OB, OC 相等的向量 B A 1.与向量 OA 长度相等的 向量共有多少个? 2.与 OA 共线的向量 有哪些? C o F 3.是否存在与 OA 长度相等, D 方向相反的...
  • 矩阵A的列向量组可以由矩阵B的列向量组线性表示时 一定存在C有A=BC,(你把每个表达式写出来,组合一下就可以得到这个子) R(A)=R(BC) 又因为R(A)=R(BC)<= min{R(C),R(B)}<=R(B) ...
  • 特征值和特征向量的数学表示

    千次阅读 2017-06-23 13:10:16
    特征值与特征向量的数学表达式 本文转载自http://blog.csdn.net/yelbosh/article/details/52079462
  • (1.1 二阶与三阶行列 ~ ) 1.1 二阶与三阶行列 1.1.1 二元线性方程组与二阶行列 1.1.2 三阶行列 1.2 全排列和对换 1.2.1 排列及其逆序数 全排列:把n个不同的元素排成一列 所有排列的种数...
  • 矩阵向量求导链法则

    千次阅读 2020-04-10 10:36:12
    1. 向量向量求导的链式法则 首先我们来看看向量向量求导... 在我们的机器学习算法中,最终要优化的一般是一个标量损失函数,因此最后求导的目标是标量,无法使用上一节的链式求导法则,比如2向量,最后到1标量...
  • word vectors),一般指两个单词向量的组合方式,使得输出的新的向量能够表达组合后的短语的语义。 本文使用符号: u,v:普通的单词向量(u_1,u_2,u_3)和(v_1,v_2,v_3); p:需要求出的目标短语的向量; R:一个表征...
  • 向量内积的坐标表示7.11向量内积的坐标表示 授课人:邱群灯 * 7.11 向量内积的坐标表示 向量的内积 a⊥b a · b=0 (判断两向量垂直的依据) 运算律: 1. 2. 3. 平面向量基本定理: 如果 是同一平面内的两个不共 线...
  • 到了讨论向量叉积时,对右手法则咋用还不清楚,确实有点着急。向量a与b叉积,得到的新向量c=axb,这个c的方向是与a,b同时垂直的。与a,b同时垂直是啥意思?就是c与a,b所在的平面垂直。比如,你在桌上铺一张纸,上面画...
  • 一、词向量表示 1. 独热表示(one-hot) 简单讲,就是使用一个二进制的向量来代表一个词,每个词对应一个位置,该位置为1,其他位置全为0的向量代表了这个词,词表的大小就是串的长度。这种方式简介且易于理解,但...
  • Matlab向量

    千次阅读 2021-08-24 17:10:40
    Matlab向量 MATLAB向量类型有:行向量、列向量 Matlab行向量 创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。 r = [7 8 9 10 11] r = 7 8 9 10 Matlab列向量 创建列向量括在方括号中的元素的...
  • 词的向量表示

    万次阅读 2014-04-30 12:59:13
     Deep Learning 中一般用到的词向量并不是刚才提到的用 One-hot Representation 表示的那种很长很长的词向量,而是用  Distributed Representation (不知道这个应该怎么翻译,因为还存在一种叫“Distributional ...
  • 特征向量

    千次阅读 2018-08-19 13:39:04
    矩阵(这里特指方阵)是什么,从特征向量的角度来讲,矩阵其实是一个函数,一个作用在向量x的函数。...用表达式表示就是。同方向指的的是方向相同或者是方向相反,所以允许取负值或者零。 如果...
  • Matlab:矩阵用方括号[]表示,元素之间用”,” 或者 空格 隔开,行与行之间用分号“;”隔开:mat = [1 2 3 4;4 5 6 7]或者mat = [1,2,3,4;4,5,6,7]行向量:row=[1 2 3 4]列向量(行向量的转置):column=[1 2 3 4]'获得...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,910
精华内容 61,564
关键字:

向量的一般表示式