Google word2vec算法 数学原理
文档是 word2vec 算法 数学原理详解。word2vec是google的一个开源工具,能够仅仅根据输入的词的集合计算出词与词直接的距离,既然距离知道了自然也就能聚类了,而且这个工具本身就自带了聚类功能,很是强大。32预备知识本节介绍word2v中将用到的一些重要知识点,包括 sigmoid函数、 Bccs公式和Huffman编码等821 sigmoid函数sigmoid函数是神经网络中常用的激活函数之一,其定义为1+e该函数的定义域为(-∞,+∞),值域为(0,1).图1给出了 sigmoid函数的图像0.56图1 sigmoid函数的图像sigmoid函数的导函数具有以下形式(x)=0(x)1-0(x)由此易得,函数loga(x)和log(1-0(x)的导函数分别为log a(a)-1 a(a),log(1 o(a))l-a(a),(2.1)公式(2.1)在后面的推导中将用到32.2逻辑回归生活中经常会碰到二分类问题,例如,某封电子邮件是否为垃圾邮件,某个客户是否为潜在客户,某次在线交易是否存在欺诈行为,等等设{(x;)}温1为一个二分类问题的样本数据,其中x∈Rn,∈{0,1},当v=1时称相应的样本为正例当v=0时称相应的样本为负例利用 sigmoid函数,对于任意样本x=(x1,x2,…,xn),可将二分类问题的 hypothesis函数写成h(x)=o(6o+b1x1+62+…+bnxn)其中θ=(0,61,…,On)为待定参数.为了符号上简化起见,引入x0=1将x扩展为(x0,x1,x2,……,xn),且在不引起混淆的情况下仍将其记为ⅹ.于是,he可简写为取阀值T=0.5,则二分类的判别公式为ho(x)≥0.5:X)=0,ha(x)6),可分别用000001、010、011、100、101对“A,E,R,T,F,D”进行编码发送,当对方接收报文时再按照三位一分进行译码显然编码的长度取决报文中不同字符的个数.若报文中可能出现26个不同字符,则固定编码长度为5(25=32>26).然而,传送报文时总是希望总长度尽可能短.在实际应用中各个字符的出现频度或使用次数是不相同的,如A、B、C的使用颗率远远高于X、Y、Z,自然会想到设计编码时,让使用频率高的用短码,使用频率低的用长码,以优化整个报文编码为使不等长编码为前缀编码(即要求一个字符的编码不能是另一个字符编码的前缀),可用字符集中的每个字符作为叶子结点生成一棵编码二叉树,为了获得传送报文的最短长度,可将每个字符的岀现频率作为字符结点的权值赋于该结点上,显然字使用频率越小权值起小,权值越小叶子就越靠下,于是频率小编码长,频率高编码短,这样就保证了此树的最小带权路径长度,效果上就是传送报文的最短长度.因此,求传送报文的最短长度问题转化为求由字符集中的所有字符作为叶子结点,由字符出现频率作为其权值所产生的 Huffman树的问题.利用 Huffman树设计的二进制前缀编码,称为 Huffman编码,它既能满足前缀编码的条件,又能保证报文编码总长最短本文将介绍的word2ve工具中也将用到 Huffman编码,它把训练语料中的词当成叶子结点,其在语料中岀现的次数当作权值,通过构造相应的 Huffman树来对每一个词进行Huffman编码图3给岀了例2.1中六个词的 Huffman编码,其中约定(词频较大的)左孩子结点编码为1,(词频较小的)右孩子编码为0.这样一来,“我”、“喜欢”、“观看”、“巴西”、“足球”、“世界杯”这六个词的 Huffman编码分别为0,111,110,101,1001和100000欢观有巴西足球图3 Huffman编码示意图注意,到目前为止关于 Huffman树和 Huffman编码,有两个约定:(1)将权值大的结点作为左孩子结点,权值小的作为右孩子结点;(②)左孩子结点编码为1,右孩子结点编码为0.在word2vee源码中将权值较大的孩子结点编码为1,较小的孩子结点编码为θ.为亐上述约定统一起见,下文中提到的“左孩子结点”都是指权值较大的孩子结点3背景知识word2vec是用来生成词向量的工具,而词向量与语言模型有着密切的关系,为此,不妨先来了解一些语言模型方面的知识83.1统计语言模型当今的互联网迅猛发展,每天都在产生大量的文本、图片、语音和视频数据,要对这些数据进行处理并从中挖掘出有价值的信息,离不开自然语言处理( Nature Language processingNIP)技术,其中统计语言模型( Statistical language model)就是很重要的一环,它是所有NLP的基础,被广泛应用于语音识别、机器翻译、分词、词性标注和信息检索等任务例3.1在语音识别亲统中,对于给定的语音段Voie,需要找到一个使概率p(Tcrt| Voice最大的文本段Tert.利用 Bayes公式,有P(Teact Voice)p(VoiceTert)p(Text)P(Veonce其中p( Voice Teat)为声学模型,而p(Tert)为语言模型(l8])简单地说,统计语言模型是用来计算一个句子的概率的概率模型,它通常基于一个语料库来构建那什么叫做一个句子的概率呢?假设W=m1:=(n1,w2,…,tr)表示由T个词1,2,…,ur按顺序构成的一个句子,则n,U2,…,wr的联合概率p(W)=p(u1)=p(u1,u2,…,r)就是这个句子的概率.利用 Baves公式,上式可以被链式地分解为1)=p(u1)·p(u2l1)·p(vai)…p(ur1-)3.1其中的(条件)概率p(1),p(U2mn1),p(u3),…,p(urln1-1)就是语言模型的参数,若这些参数巳经全部算得,那么给定一个句子1,就可以很快地算出相应的p(1)了看起来妤像很简单,是吧?但是,具体实现起来还是有点麻烦.例如,先来看看模型参数的个数.刚才是考虑一个给定的长度为T的句子,就需要计算T个参数.不妨假设语料库对应词典D的大小(即词汇量)为N,那么,如果考虑长度为T的任意句子,理论上就有N种可能,而每种可能都要计算T个参数,总共就需要计算TN个参数.当然,这里只是简单估算,并没有考虑重复参数,但这个量级还是有蛮吓人.此外,这些概率计算好后,还得保存下来,因此,存储这些信息也需要很大的內存开销此外,这些参数如何计算呢?常见的方法有 II-gram模型、决策树、最大熵模型、最大熵马尔科夫模型、条件随杋场、神经网络等方法.本文只讨论n-gram模型和神经网络两种方法.首先来看看n-gram模型32n-gram模型考虑pko4-)(k>1)的近似计算.利用 Baves公式,有p(wr wi)P(uP(w根据大数定理,当语料库足够大时,p(k4-1)可近似地表示为P(wwi)count(wi)(3.2)count(a其中 count(u4)和 count-)分别表示词串t和v-在语料中出现的次数,可想而知,当k很大时, count(o4)和 count(4-1)的统计将会多么耗时从公式(3.1)可以看出:一个词出现的慨率与它前面的所有词都相关.如果假定一个词出现的概率只与它前面固定数目的词相关呢?这就是n-gran模型的基本思想,它作了一个n-1阶的 Markov假设,认为一个词出现的概率就只与它前面的n-1个词相关,即-1)≈p(kk-1+),于是,(3.2)就变成了p(wxJuk-)count(n+1countri(3.3以〃=2为例,就有p(uk4-1)≈count(k-1, Wk)count(Wk-1)这样一简化,不仅使得单个参数的统计变得更容易(统计时需要匹配的词串更短),也使得参数的总数变少了那么, n-gran中的参数n取多大比较合适呢?一般来说,n的选取需要同时考虑计算复杂度和模型效果两个因素表1模型参数数量与n的关系模型参数数量1( ingram)2×1052(bigram)4×10103( trigram)8×10154(4grm)16×10在计算复杂度方面,表1给出了n-gram模型中模型参数数量随着n的逐渐增大而变化的情况,其中假定词典大小N=2000(汉语的词汇量大致是这个量级).事实上,模型参数的量级是N的指数函数(O(N"),显然n不能取得太大,实际应用中最多的是采用n=3的三元模型在模型效果方面,理论上是π越大,效果越奷.现如今,互联网的海量数据以及机器性能的提升使得计算更高阶的语言模型(如n>10)成为可能,但需要注意的是,当n大到一定程度时,模型效果的提升幅度会变小.例如,当n从1到2,再从2到3时,模型的效果上升显著,而从3到4时,效果的提升就不显著了(具体可参考吴军在《数学之美》中的相关章节).事实上,这里还涉及到一个可靠性和可区别性的问题,参数越多,可区别性越好,但同时单个参数的实例变少从而降低了可靠性,因此需要在可靠性和可区别性之间进行折中另外, n-gran模型中还有一个叫做平滑化的重要环节.回到公式(3.3),考虑两个问题:若 count(uk-n+1)=0,能否认为p(kln1-1)就等于0呢?若 count(kn+)= count(uk-+1,能否认为p(uur-)就等于1呢?显然不能!但这是一个无法回避的问题,哪怕你的语料库有多么大.平滑化技术就是用来处理这个问题的,这里不展开讨论,具体可参考[11总结起来,n-gram模型是这样一种模型,其主要工作是在语料中统计各种词串岀现的次数以及平滑化处理.概率值计算好之后就存储起来,下次需要计算一个句子的概率时,只需找到相关的概率参数,将它们连乘起来就好了然而,在机器学习领域有一种通用的招数是这样的:对所考虑的问题建模后先为其构造一个目标函数,然后对这个目标函数进行优化,从而求得一组最优的参数,最后利用这组最优参数对应的模型来进行预測对于统计语言模型而言,利用最大似然,可把目标函数设为plwlConteat(w))∈C其中C表示语料( Corpus), Context(u)表示词U的上下文( Context),即周边的词的集合.当 Context(u)为空时,就取p( Context(w)=p(u).特别地,对于前面介绍的 n-gran模型,就有 Context(mn)=2-n+1注3.1语料¢和词典仍的区别:词典仍是从语料¢中抽取岀来的,不存在重复的词;而语料C是指所有的文本內容,包括重复的词当然,实际应用中常采用最大对数似然,即把目标函数设为∑ logp(u( ontext(o)(3.4)然后对这个函数进行最大化从(3.4)可见,概率p( CONtex()已被视为关于和 Context()的函数,即p(w Context(w))= F(w, Conteact(w), 0)
- 2020-06-14下载
- 积分:1
2012年全国大学生数学建模竞赛A题一等奖论文
2012年全国大学生数学建模竞赛A题一等奖论文。高教社杯全国大学生数学建模竞赛编号专用页赛区评侧编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):全国统编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):基于数理分析的葡萄及葡萄酒评价体系摘要葡萄酒的质量评价是硏究葪萄酒的一个重要领域,目前葡萄酒的质量主要由评酒师感官评定。但感官评定存在人为因素,业界一自在尝试用葡萄的理化指标或者葡萄洏的理化指标定量评价葡萄洒的质量。本题要求我们根据葡萄以及葡萄酒的相关数据建模,并研究基」理化指标的葡萄酒评价体系的建立对于问题一,我们首先用配对样品t检验方法研究两组评酒员评价差异的显著性,将红葡萄酒与白葡萄酒进行分类处理,用SPSS软件对两组ⅳ酒员的评分的各个指标以及总评分进行了配对样本t检验。得到的部分结果显示:红葡萄酒外观色调、香气质量的评价存在显著性差异,其他单指标的评价不存在显著差异白葡萄、红葡萄以及整休的评价存在显著性差异接着我们建立了数掂可信度评价模型比较两组数据的可信性,将数据的可信度评价转化成对两组评酒员评分的稳定性评价。首先我们对单个评酒员评分与该组所有评酒员评分的均值的偏差进行了分析,偏差不稳定的点就成为噪声点,表明此次评分不稳定。然后我们用两组评酒员评分的偏差的方差衡量评酒员的稳定性。得到第2组的方差明显小于第1组的从而得出了第2组评价数据的可信度更高的结论。对于问题二,我们根据酿酒葡萄的理化指标和葡萄酒质量对葡萄进行了分级。方面,我们对酿酒葡萄的级理化指标的数据进行标准化,基于主成分分析法对其进行了因子分析,并且得到了27种葡萄理化指标的综合得分及其排序(见正文表5)。另一方面,我们又对附录给出的各单指标百分制评分的权重进行评价,并用信息熵法重新确定了权重,用新的权重计算出27种葡萄酒质量的综合得分并排序(见正文表6)。最后我们对两个排名次序用基于模糊数学评价方法将葡萄的等级划分为1-5级(见正文表8)。对于问一,首先我们将众多的葡萄理化指标用主成分分析法综合成6个主因子,并将葡萄等级也列为主因子之一。对葡萄的6个主因子,以及葡萄酒的10个指标用SPSS软件进行偏相关分析,得到酒黃酮与葡萄的等级正相关性较强等结论。之后对相关性较强的主因子和指标作多元线性回归。得到了葡萄酒10个单指标与主因了之间的多元回归方程,该回归方程定量表示两者之间的联系对于问题四,我们首先将葡萄酒的理化指标标准化处理,对葡萄酒的质量与荀萄的6个主因子和葡萄酒的10个单指标作偏相关分析,并求出多元线性回归方程。该方程就表示了葡萄和葡萄酒理化指标对葡萄酒质量的影响。之后,我们通过通径分析方法中的逐步回归分析得到葡萄与葡萄酒的理化指标只确定了葡萄酒质量信息的47%。从而得出了不能用葡萄和葡萄酒的理化指标评价葡萄酒的质量的结论。接着我们还采用通径分析屮的间接通径系数分析求出各自变量之间通过传递作用对应变量的影响,得到单宁与总酚传递性影响较强等结论最后,我们对模型的改进方向以及优缺点进行了讨论。关键词:配对样本t检验数据可信度评价主成分分析模糊数学评价综合评分信息熵偏相关分析多元线性回归1问题重述确定葡萄酒质量时一般是通过聘请一批有资质的评酒员进行品评。每个评酒员在对葡萄酒进行品尝后对其分类指标打分,然后求和得到其总分,从而确定葡萄酒的质量。酿酒葡萄的好坏与所酿葡萄酒的质量有直接的关系,葡萄酒和酿酒荀萄检测的理化指标会在一定程度上反映葡萄酒和葡萄的质量。附件中给岀∫某年份一些葡萄酒的评价结果,并分別给出了该年份这些葡萄酒的和酿酒葡萄的成分数据。我们需要建立数学模型并且讨论下列问题:1.分析附件1中两组评洒员的评价结果有无显著性差异,并确定哪一组的评价结果更可信。2.根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒葡萄进行分级。3.分析酿酒葡萄与葡萄酒的理化指标之间的联系。4.分析酿酒葡萄和葡萄酒的理化指标对葡萄酒质量的影响,并论证能否用荀萄和葡萄酒的理化指标来评价葡萄酒的质量2模型的假设与符号的约定2.1模型的假设与说明(1)评酒员的打分是按照加分制(不采用扣分制);(2)假设20名评酒员的评价八度在同一区间(数据合理,不需要标准化)(3)每位评酒员的系统误差较小,在本问题屮可以忽略不计(4)假设附件中给出的葡萄和荀萄酒理化指标都准确可靠。2.2符号的约定与说明符号符号的意义原假设显著性概率第1组评酒员对第号品种葡萄酒评分的平均值,第2组评洒员对第号品种葡萄酒评分的平均值第一组评酒员对指标评分的偏差的方差,第二组评酒员对指标评分的偏差的方差,=…,第1组10位评酒员对号酒样品第项指标评分的平均分第组第号评酒员对号酒样品第项指标评分与平均值的偏第1组第号评酒员对其项指标评分与平均值的偏差的平均第2组第个评酒员的总体指标偏差的方差重新确立的第项指标的权重第2组10个评酒员的总体指标偏差的方差评酒员指标的平均评分,=葡萄的第项指标,葡萄的第项因子,=葡萄酒的第项理化指标3问题一的分析与求解3.1问题一的分析题冂要求我们根据两组评酒员对27种红葡萄洒和28种白葡萄泙的10个指标相应的打分情况进行分析,并确定两组评酒员对葡萄酒的评价结果是否有显著性差异,然后判断哪组评酒员的评价结果更可信初步分析可知:由于评酒员对颜色、气味等感官指标的衡量人度不同,因此两组评酒员评价结果是否具有显著性差异应该与评价指标的类型有关,不同的评价指标的显著性差异可能会不同。同时,由于红葡萄酒和白葡萄酒的外观、口味竽指标羔异性较大,处理时需要将白葡萄酒和红葡萄酒的评价结果的显著性差昦分开讨论。基于以上分析,我们可以分别两组品尝同一种类酒样品的评酒员的评价结果进行两两配对,分析配对的数据是否满烂配对样品t检验的前提条件,而且根据常识可知评酒员对同一种酒的同一指标的评价在实际中是符合t检验的条件的。接着我们就可以对数据进行多组配对样品的t检验,从而对两组评洒员评价结果的显著性差异进行检验。由于对同一酒样品的评价数据只有两组,我们只能通过评价结果的稳定性来判定结果的可靠性。而每组结果的可靠性乂最终决定于每个评酒员的稳定性,因此将问题转化为对评酒员稳定性的评价。3.2配对样品的t检验简介统计知识指出:配对样本是指对冋一样本进行两次测试所获得的两组数据,或对两个完全相同的样本在不同条件下进行测试所得的两组数据。在本问中我们可以把配对样品理解为有27组两个完全相同的酒样品在两组不同评酒员的检测下得到的两组数据,两组屮各个指标的数据为每组评酒员对该指标打分的平均值配对样品的t检验可检测配对双方的结果是否具有显著性差异,因此就可以检验出配对的双方(第一组与第二组)对葡萄酒的评价结果是否冇差异性型对样品t检验具有的前提条件为:(1)两样品必须配对(2)两样品来源的总体应该满足正态性分布。配对样品t检验基本原理是:求出每对的差值如果两种处理实际上没有差异,则差值的总体均数应当为0,从该总体中抽出的样本其均数也应当在0附近波动;反之,如果两种处理有差异,差值的总体均数就应当远离0,其样本均数也应当远离0。这样,通过检验该差值总体均数是否为0,就可以得知两种处理有无差异。该检验相应的假设为:=,两种处理没有差別,4≠两和处理存在差别3.3葡萄酒配对样品的t检验问题一中配对样品为27组两个完全相同的酒样品在两组不同评酒员的检测下得到的两组数据,其中两组中各个指标的数据为各组10个评酒员对该指标打分的平均值。该问题中的10个指标分别为:外观澄清度、外观色调、香气纯正度、香气浓度、香气质量、口感纯正度、口感浓度、口感持久性、口感质量、平衡/总休评价。根据t检验的原理,对荀萄酒配对样品进行t检验之前我们要对样品进行正态性检验。首先我们根据附件一并处理表格中的数据,得到配对样品的两组数据,绘制红葡萄酒配对样品表格部分数据如表1表1红葡萄酒配对样品数据表澄清度澄清度平衡/整平衡/整(1组均值)(2组均值)体评价(1组体评价(2组均值)均值)2.3.18.4红29.6红263.63.78.8红273.73.78.8白葡萄酒配对样品表格部分数据如表2:表2白葡萄酒配对样品数据表澄清度澄清度平衡/整平衡/整(1组均值)(2组均值)体评价(1组体评价(2组均值)均值)白17.78.4白22.93.19.1日26白273.778.8从上表中我们能看出,将白葡萄酒和红葡萄酒中的每个指标分别进行样品的配对后,每一个指标的配对结果有27对,每一对的双方分别是1组和2组的评酒员对该指标的评分的平均值。3.3.1样本总体的K-S正态性检验配对样品的t检验要求两对应样品的总体满足正态分布,则总体中的样品应该满足正态性或者近似正态性,样本的正态性检验如卜以红葡萄酒的澄清度的27组数据为例分析:利用SPSS软作绘制两样品的直方图和趋势图如图1所示:图1红葡萄酒澄清度两组数据自方图我们假设两组总体数据都服从态分布,利用SPSS软件进行KS忙态性检验的具体结果见附录2.3。两组数据的近似相伴概率值P分别为0.239和0.329,大于我们一般的显著水平0.05则接受原来假设,即两组红葡萄酒的澄清度数据符合近似正态分布同理可用SPSS软件对其他指标的正态性进行检验,得到结果符合实际猜想,都服从近似正态分布。3.3.2葡萄酒配对样品t检验步骤两种葡萄酒的处理过程类似,这里我们以对红葡萄酒谜价结果的差异的显著性分析为例。step1:我们以第一组对葡萄酒的评价结果总体服从正态分布〃σ,以第二组对葡萄酒的评价结果总体服从正态分布μσ。我们已分别从两总体中获得了抽样样本和,并分别进行两样品相互配对。(具体数据见附录2.1)Step2:;引进一个新的随机变量,对应的样本为将配对样本的t检验转化为单样本t检验Step3:建立零假设4=,构造t统计量;Step4:利用SPSS进行配对样品t检验分析,并对结果做出推断3.4显著性差异结果分析3.3.1红葡萄酒各指标差异显著性分析由SPSS软件对红葡萄酒各指标的配对样品讠枍验后,得到各指标的显著性概率分布表。(结果如表3所示)表3红葡萄酒酒各指标显著性概率P指标外观澄清度外观色调香气纯正度香气浓度‖香气质量P0.6140.0020.1510.1000.010指标口感纯正度口感浓度口感持久性口感质量平衡/整体P0.4370.1580.2510.0550.674由统计学知识,如果显著性概率P显著水平α,则不能拒绝零假设,即认为两总体样本的均值不存在显著差异。则根据表3可得:两组评酒员对红葡萄酒各项指标的评价中除外观色调、香气质量存在显著性差异以外,其他8项指标都无显著性差异。3.3.2白葡萄酒各指标差异显著性分析代入白葡萄酒的评价数据,重复以上步骤,得到白荀萄酒各指标的显著性概率分布表。(结果如表4所示)表4白葡萄酒各指标显著性概率P分布表指标外观澄清度外观色调香气纯正度香气浓度香气质量P0,2990.0890.930.2380.714指标口感纯正度口感浓度口感持久性口感质量平衡/整体0,0000.0050.8630.0000.00l分析表4可得:两组评酒员对白葡萄酒各项指标的评价中只有凵感纯正度」感浓度、凵感质量、平衡/整体评价存在显著性差异,其他6项指标都无显著性差异3.3.3葡萄酒总体差异显著性分析(1)红葡萄酒总体差异显著性分析该问题的附件中已经给出了10项指标的杈重,因此将10项指标利用加权合并成总体评价。对于红葡萄酒两组评价结果构造两组配对t检验。得到显著性概率P=0.030
- 2020-12-04下载
- 积分:1