精华内容
下载资源
问答
  • ”,或者“这个人管理能力可能不是很强,要不然怎么一个简单的求职简历都无法做好呢?”。所以,建议大家还是将封面、求职信、个人简历、证书等内容合并成-一个文档,如果不会的,就请教旁边OFFICE较好的同学: 3、...

    近两个月来,由于工作关系,前前后后应该阅读了一千多份(都是通过电子邮箱接收的)求职简历了吧。在这些简历中,有我非常喜欢的,也有我一眼看上就想删除的。下面,我就先总结一下这批简历中存在的一些问题,然后再提出我自己的一些意见。

    存在的问题:

    1、邮箱命名不妥。如:有简历将自己的邮箱名叫做“差不多”“无所谓”等。

    2、邮件标题不当。如:邮件的标题为“求职”“应聘”、“应聘简历”“XX大学XX个人简历”“xx专业XXX"等等。

    3、邮件正文毫无内容。如:邮件正文的位置除了一些广告“雅虎邮箱,终生伙伴!”“网易股吧,每天有500万股民在此讨论”“贺金山上市毒霸历史最低价25元半年”,正文中没有任何一个求职者的语句。.

    4、邮件正文无抬头,或者没有合适的抬头。如:“您好”、“您好:”"尊敬的校领导”“尊敬的领导”。

    5、邮件正文均为应付,属于随意添加。如:“本人简历于附件中,劳烦查收!”“祝老师工作顺利!”“请您查收我的简历,祝工作快乐!”“简历已附上,请查收”等等。

    6、邮件正文未换行。如:一句很长很长的话,要拖动半天,才可以看完,然后再拖回来看下一段的开头。

    7、邮件正文没有落款。如:有许多简历都有学一 些求职信之类的,但往往漏了落款,忘了把自己大名和时间写上。

    8、邮件正文没有新意,只是使用一个统一的模板,通过复制、粘帖的方法,直接copy到邮件正文。甚至连一些词都不改,如本来求职的单位是高校,而写成了“尊敬的公司领导”、“贵公司”等。

    9、附件命名不够好。如:许多简历的命名是“个人简历”“求职简历”“个人简介”“新建Microsoft Word”“简历2008”、“完美版”“最新版”“我的简历”“求职简历_ 88”、 “2007. 11. 15”“正式简历”等等。

    10、将简历封面、简历证书等内容,作为几个附件、或者- -个压缩包发送。

    在前面,我们提到关于网申中存在的10 个问题,也许就有人会问:“你说前面这10个都是存在问题,你的依据是什么呢?又应该如何去避免这些问题呢?”下面,我就自己工作中所得到的一些心得,与大家一起分享一下,希望能够对大家起到参考作用。

    我们来问答几个问题吧:

    一、“当你打开自己邮箱查收信件的时候,你最先关注的问题是什么?”

    是不是最先关注的是,这封邮件是谁发送给你的、它的主题是什么?若是,那么一个陌生人的命名为“差不多”或者“无所谓”你会如何去想呢?当看到标题为“求职”或应聘”你又作何感想呢?试想,几个岗位,收到几百封简历,如果你是考官,你会知道它要投那个岗位,要应聘哪个部门]吗?答案是明确的。

    这时,你如何判断这个邮件呢?对方的邮件在你这里的第一印象是不是就被破坏了呢?在现实生活中,我们会强调人与人交往的第- -印象,每个找工作的人,花大成本购买套装、制作精美的简历,目的也就是为了给考官留下良好的第一印象,因为所有人都有一个公认的道理“第一印象有时会决定一个人对另外一个人的判断”。至此,我想我就不用再强调网投中给人留下第一印象的是什么了。

    建议:

    1、修改邮箱的中文名。尽量避免出现前面类似的词字。当然,最好还是将邮箱命名为“自己的姓名”,如“李世民”“曾国藩”等。

    2、清晰地注明求职岗位,并适当地添加一下重要信息。何为重要信息呢?一般来说,重要的信息,就是符合对方招聘要求的信息,如:对方要求的专业是物流,那“物流”字眼就是重要信息了;如果你所在的学校的专业与它要求的专业对口,而此专业你校的全国排名又比较前,或者在某地区范围内非常出名,那“高校的名字”就是重要信息了;对方要求的是马_上就可以上岗的历届或者应届毕业生,那“可随时到岗”字样就是重要信息了;其他依此类推。故而,一个较好的标题应该是“xx大学Xx专业应聘XX岗位”“应聘XX岗位一一Xx大学X专业”、“随时可到岗的Xx专业XXx--应聘XX岗位”等等。

    二、如果前面的两点,都没有什么问题,而你也打开邮件了。这时,跳入你眼球的是什么呢?是不是邮件的正文部分呢?那么:如果正文是空白的,你会怎样想呢?如果不是空白,而里面只是几个大大的“简历在附件,请查收”,你又作何感想呢?如果正文是有了,而直接就是“您好”、或者有称呼,而将你称为“尊敬的校领导(你是企业界人士)”,你又如何呢?这里面的理由,我就不做阐述了,直接进入建议吧。.

    建议:

    1、抬头写上招聘信息中的人(记住,领导一般是不会直接收简历的!收简历的,往往是工作人员,所以如果按照招聘信息的联系人填写抬头,那是最好不过的方法了)。如果招聘信息中,没有写任何人,那么就可以用“尊敬的女士/先生”这样的词句来代替。

    2、对公司、高校的称呼不要错。如果你觉得“每投一个简历就得改一次称呼,比较麻烦”,或者怕有些时候会忘记修改,那我就建议你不要用“贵公司”“贵校”“贵院”这样的词,可以用一个中性的“贵单位”。

    3、正文内容一定要写,而且要有针对性的写。怎样才叫有针对性呢?那么,我就得问你“对方发布的招聘信息中,他的要求是什么呢?”是不是招聘信息中都会有“XX相关专业的应届毕业生”“学生干部优先”“有较好的团队合作精神”等等呢?那么,这就非常简单了,你的正文就可以把这些应聘要求作为问题,而用1、2、3的方式在邮件正文中进行作答(不做例举,请自行作答)。当然,写这些内容的前面还是有些非常重要的信息的,那些客套话,还是不要少的,比如说“您好!通过XX渠道获得贵校正招聘XX人..特来应聘,主要理由如下:”。

    4、控制正文的字数。-般来说,挑选简历者在邮件正文中停留的时间不会太长,所以邮件正文也不宜过长,也不宜过短,因为看完邮件正文,挑选简历者带着怎样的心情去打开你的简历,这是非常重要的。个人认为,用最简洁的方式把该表达的表达清楚是一个标准。当然,在求职者角度来说,觉得自己所有的东西都是要向考官表达的,所以有很多很多要表达。其实不然。就象第3点所说的那样,有针对的回答-些重点问题,告知一些重要信息,如自己的姓名,高校名称、所学专业、所获得或即将获得的学位学历、毕业时间(毕业时间不要光写年份,最好具体到月,如08年6月)等等。建议正文部分,字数以“在正常邮件界面的阅读情况下,不拖动滚条就可以看完这个正文”为参考。

    5、加上一些祝福的话。一句祝福的话,也许不会影响别人对你的判断。但如果你加上了,那样的正文才叫完美(呵呵,不好意思啊,本人是个完美主义者)。

    6、记得落款。具体理由就不阐述了

    三、看完正文,是不是该到邮件的附件呢?当别人发一个附件给你,你是不是会关注这个附件的名称是什么呢?是不是一样就可以看出它有几个附件呢?如果你要保存这些附件,是一个附件容易还是两个附件容易呢?如果你想直接打开,是压缩包形式容易打开,还是直接附件容易打开呢?这些问题的答案都是非常显然的,我就不做解说了。

    建议:

    1、更好地命名附件。什么样的附件命名,对于不同的人,也许有不同的答案。但本人认为,附件采用一些规范的命名方式,可能会比较恰当,如“xxx”“xx大学--xxx”xx专业一-xxx”、“应聘xxx岗位--xxx”等等。这样是为了更好地方便考官将你的简历存入他们的文件夹,而不需要重新命名。也许有人会说“你自己是挑选简历的人,你当然会这样说啦,因为这样一来,你的工作量不就减轻啦?我才没有那个必要呢!”是的,我是挑选简历的人,我也的确这样想,那么其他挑选简历的人呢?他们会怎样想?正所谓“细节决定成败”,-些细节没有做好,也许别人不会否定你,但你是否知道考官在乎的是那个细节呢?

    2、将所有的材料,形成一个word文档。在阅读简历中,有些求职者分别将封面、求职信、个人简历、证书作为附件发送(在我阅读的简历中,有个别邮件多达十几个附件),当我看到这些的时候,我会想“这个求职者的0FFICE软件是不是很一般呢?要不然,为什么不把这些本应该属于- -个文档的内容,分成几个文档来储存呢?”,或者“这个人管理能力可能不是很强,要不然怎么一个简单的求职简历都无法做好呢?”。所以,建议大家还是将封面、求职信、个人简历、证书等内容合并成-一个文档,如果不会的,就请教旁边OFFICE较好的同学:

    3、尽重不要用压缩包的形式友达间力。找们间早计异一下,附件是压缩包,打开你简历的程序是:将压缩包保存-一最小化窗口到保存文件的文件夹- - -解压缩包将文件另存为一一打开压缩包这个文件夹一-看到你的简历封面、求职信、个人简历、照片、证书等标题一一选择其中一个打开阅读(当然,最快的方式是:直接双击压缩包并选择打开一一弹出一个解压缩包的对话框一- -选择想要阅读的文件双击打开)。而如果简历直接作为附件发送,打开的程序是什么呢?“双击打开”即可。通过这一比较,我想大家就有非常清楚的答案了。

    四、可能有人会问,“我的做法都不是象你上面说的那样,而是将我的个人简历直接粘帖在邮件正文中”是的,在我阅读简历中,的确遇到不少直接将个人简历粘帖在邮件正文的情况,而且这些邮件的附件存在两种情况,即个人简历还是作为附件发送和无任何附件。

    对此,我的态度是:不提倡,也不鼓励采用这种方法,但如果你喜欢采用,那就建议同时将简历作为附件发送。好了,到目前为止,网申中存在的一些问题和一些对应的建议就差不多了。

    可能还有人会说“不对啊,你现在只是说到打开简历,而没有说到打开简历之后要注意什么啊?”。是的,我只说到了打开简历,因为打开建立之后,就不属于网申中应该注意的问题,而是属于“简历制作”的问题了(关于简历的制作,网络上有许多许多的模板,大家可以自行参考,如果觉得有必要,也欢迎与本人交流。在这里,我想提醒的是:建议大家不要直接copy招聘求职类网站上的模板,那样会给考官觉得你是在应付这个岗位)。

    展开全文
  • 通俗理解LDA主题模型

    万次阅读 多人点赞 2014-11-17 16:11:58
    通俗理解LDA主题模型 0 前言 印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的...

          通俗理解LDA主题模

     

    0 前言

        印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的前序铺垫太长(现在才意识到这些“铺垫”都是深刻理解LDA 的基础,但如果没有人帮助初学者提纲挈领、把握主次、理清思路,则很容易陷入LDA的细枝末节之中),还是因为其中的数学推导细节太多,导致一直没有完整看完过。

        2013年12月,在我组织的Machine Learning读书会第8期上,@夏粉_百度 讲机器学习中排序学习的理论和算法研究,@沈醉2011 则讲主题模型的理解。又一次碰到了主题模型,当时貌似只记得沈博讲了一个汪峰写歌词的例子,依然没有理解LDA到底是怎样一个东西(但理解了LDA之后,再看沈博主题模型的PPT会很赞)。

        直到昨日下午,机器学习班 第12次课上,邹讲完LDA之后,才真正明白LDA原来是那么一个东东!上完课后,趁热打铁,再次看LDA数学八卦,发现以前看不下去的文档再看时竟然一路都比较顺畅,一口气看完大部。看完大部后,思路清晰了,知道理解LDA,可以分为下述5个步骤:

    1. 一个函数:gamma函数
    2. 四个分布:二项分布、多项分布、beta分布、Dirichlet分布
    3. 一个概念和一个理念:共轭先验和贝叶斯框架
    4. 两个模型:pLSA、LDA(在本文第4 部分阐述)
    5. 一个采样:Gibbs采样

        本文便按照上述5个步骤来阐述,希望读者看完本文后,能对LDA有个尽量清晰完整的了解。同时,本文基于邹讲LDA的PPT、rickjin的LDA数学八卦及其它参考资料写就,可以定义为一篇学习笔记或课程笔记,当然,后续不断加入了很多自己的理解。若有任何问题,欢迎随时于本文评论下指出,thanks。

     

    1 gamma函数

    1.0 整体把握LDA

        关于LDA有两种含义,一种是线性判别分析(Linear Discriminant Analysis),一种是概率主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),本文讲后者。

        另外,我先简单说下LDA的整体思想,不然我怕你看了半天,铺了太长的前奏,却依然因没见到LDA的影子而显得“心浮气躁”,导致不想再继续看下去。所以,先给你吃一颗定心丸,明白整体框架后,咱们再一步步抽丝剥茧,展开来论述。

        按照wiki上的介绍,LDA由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出,是一种主题模型,它可以将文档集 中每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题(分布)出来后,便可以根据主题(分布)进行主题聚类或文本分类。同时,它是一种典型的词袋模型,即一篇文档是由一组词构成,词与词之间没有先后顺序的关系。

        此外,一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。

        人类是怎么生成文档的呢?LDA的这三位作者在原始论文中给了一个简单的例子。比如假设事先给定了这几个主题:Arts、Budgets、Children、Education,然后通过学习训练,获取每个主题Topic对应的词语。如下图所示:

     

        然后以一定的概率选取上述某个主题,再以一定的概率选取那个主题下的某个单词,不断的重复这两步,最终生成如下图所示的一篇文章(其中不同颜色的词语分别对应上图中不同主题下的词):

      

        而当我们看到一篇文章后,往往喜欢推测这篇文章是如何生成的,我们可能会认为作者先确定这篇文章的几个主题,然后围绕这几个主题遣词造句,表达成文。

        LDA就是要干这事:根据给定的一篇文档,反推其主题分布

        通俗来说,可以假定认为人类是根据上述文档生成过程写成了各种各样的文章,现在某小撮人想让计算机利用LDA干一件事:你计算机给我推测分析网络上各篇文章分别都写了些啥主题,且各篇文章中各个主题出现的概率大小(主题分布)是啥

        然,就是这么一个看似普通的LDA,一度吓退了不少想深入探究其内部原理的初学者。难在哪呢,难就难在LDA内部涉及到的数学知识点太多了。

        在LDA模型中,一篇文档生成的方式如下:

    • 从狄利克雷分布中取样生成文档 i 的主题分布
    • 从主题的多项式分布中取样生成文档i第 j 个词的主题
    • 从狄利克雷分布中取样生成主题对应的词语分布
    • 从词语的多项式分布中采样最终生成词语

        其中,类似Beta分布是二项式分布的共轭先验概率分布,而狄利克雷分布(Dirichlet分布)是多项式分布的共轭先验概率分布。

        此外,LDA的图模型结构如下图所示(类似贝叶斯网络结构):

        恩,不错,短短6句话整体概括了整个LDA的主体思想!但也就是上面短短6句话,却接连不断或重复出现了二项分布、多项式分布、beta分布、狄利克雷分布(Dirichlet分布)、共轭先验概率分布、取样,那么请问,这些都是啥呢?

        这里先简单解释下二项分布、多项分布、beta分布、Dirichlet 分布这4个分布。

    •  二项分布(Binomial distribution)

        二项分布是从伯努利分布推进的。伯努利分布,又称两点分布或0-1分布,是一个离散型的随机分布,其中的随机变量只有两类取值,非正即负{+,-}。而二项分布即重复n次的伯努利试验,记为 。简言之,只做一次实验,是伯努利分布,重复做了n次,是二项分布。二项分布的概率密度函数为:

        对于k = 0, 1, 2, ..., n,其中的是二项式系数(这就是二项分布的名称的由来),又记为。回想起高中所学的那丁点概率知识了么:想必你当年一定死记过这个二项式系数就是

    • 多项分布,是二项分布扩展到多维的情况

        多项分布是指单次试验中的随机变量的取值不再是0-1的,而是有多种离散值可能(1,2,3...,k)。比如投掷6个面的骰子实验,N次实验结果服从K=6的多项分布。其中

     

        多项分布的概率密度函数为:

    • Beta分布,二项分布的共轭先验分布

        给定参数,取值范围为[0,1]的随机变量 x 的概率密度函数:

        其中:

    。 

       注:便是所谓的gamma函数,下文会具体阐述。

    • Dirichlet分布,是beta分布在高维度上的推广

        Dirichlet分布的的密度函数形式跟beta分布的密度函数如出一辙:

        其中

        至此,我们可以看到二项分布和多项分布很相似,Beta分布和Dirichlet 分布很相似,而至于Beta分布是二项式分布的共轭先验概率分布,而狄利克雷分布(Dirichlet分布)是多项式分布的共轭先验概率分布这点在下文中说明。

        OK,接下来,咱们就按照本文开头所说的思路:“一个函数:gamma函数,四个分布:二项分布、多项分布、beta分布、Dirichlet分布,外加一个概念和一个理念:共轭先验和贝叶斯框架,两个模型:pLSA、LDA(文档-主题,主题-词语),一个采样:Gibbs采样”一步步详细阐述,争取给读者一个尽量清晰完整的LDA。

        (当然,如果你不想深究背后的细节原理,只想整体把握LDA的主体思想,可直接跳到本文第4 部分,看完第4部分后,若还是想深究背后的细节原理,可再回到此处开始看)

    1.1 gamma函数

        咱们先来考虑一个问题(此问题1包括下文的问题2-问题4皆取材自LDA数学八卦):

    1. 问题1 随机变量
    2. 把这n 个随机变量排序后得到顺序统计量
    3. 然后请问的分布是什么。

        为解决这个问题,可以尝试计算落在区间[x,x+Δx]的概率。即求下述式子的值:

        首先,把 [0,1] 区间分成三段 [0,x),[x,x+Δx],(x+Δx,1],然后考虑下简单的情形:即假设n 个数中只有1个落在了区间 [x,x+Δx]内,由于这个区间内的数X(k)是第k大的,所以[0,x)中应该有 k−1 个数,(x+Δx,1] 这个区间中应该有n−k 个数。如下图所示:

        从而问题转换为下述事件E:

        对于上述事件E,有:

        其中,o(Δx)表示Δx的高阶无穷小。显然,由于不同的排列组合,即n个数中有一个落在 [x,x+Δx]区间的有n种取法,余下n−1个数中有k−1个落在[0,x)的有种组合,所以和事件E等价的事件一共有个。

        如果有2个数落在区间[x,x+Δx]呢?如下图所示:

        类似于事件E,对于2个数落在区间[x,x+Δx]的事件E’:

        有:

       从上述的事件E、事件E‘中,可以看出,只要落在[x,x+Δx]内的数字超过一个,则对应的事件的概率就是 o(Δx)。于是乎有:

        从而得到的概率密度函数为:

        至此,本节开头提出的问题得到解决。然仔细观察的概率密度函数,发现式子的最终结果有阶乘,联想到阶乘在实数上的推广函数:

        两者结合是否会产生奇妙的效果呢?考虑到具有如下性质:

        故将代入到的概率密度函数中,可得:

        然后取,转换得到:

        如果熟悉beta分布的朋友,可能会惊呼:哇,竟然推出了beta分布!

     

    2 beta分布

    2.1 beta分布

        在概率论中,beta是指一组定义在区间的连续概率分布,有两个参数,且

        beta分布的概率密度函数是:

        其中的便是函数:

        随机变量X服从参数为的beta分布通常写作:

    2.2 Beta-Binomial 共轭

        回顾下1.1节开头所提出的问题:“问题1 随机变量,把这n 个随机变量排序后得到顺序统计量,然后请问的分布是什么。” 如果,咱们要在这个问题的基础上增加一些观测数据,变成问题2

    • ,对应的顺序统计量是,需要猜测
    • , 中有个比p小,个比大;
    • 那么,请问的分布是什么。

        根据“Yi中有个比小,个比大”,换言之,Yi中有个比小,个比大,所以中第大的数。

        根据1.1节最终得到的结论“只要落在[x,x+Δx]内的数字超过一个,则对应的事件的概率就是 o(Δx)”,继而推出事件服从beta分布,从而可知的概率密度函数为:

        熟悉贝叶斯方法(不熟悉的没事,参见此文第一部分)的朋友心里估计又犯“嘀咕”了,这不就是贝叶斯式的思考过程么?

    1. 为了猜测,在获得一定的观测数据前,我们对的认知是:,此称为的先验分布;
    2. 然后为了获得这个结果“ 中有个比p小,个比大”,针对是做了次贝努利实验,所以服从二项分布
    3. 在给定了来自数据提供的的知识后,的后验分布变为

        回顾下贝叶斯派思考问题的固定模式:

    • 先验分布 + 样本信息  后验分布

        上述思考模式意味着,新观察到的样本信息将修正人们以前对事物的认知。换言之,在得到新的样本信息之前,人们对的认知是先验分布,在得到新的样本信息后,人们对的认知为

        类比到现在这个问题上,我们也可以试着写下:

        其中对应的是二项分布的计数。

        更一般的,对于非负实数,我们有如下关系

        针对于这种观测到的数据符合二项分布参数的先验分布和后验分布都是Beta分布的情况,就是Beta-Binomial共轭。换言之,Beta分布是二项式分布的共轭先验概率分布

        二项分布和Beta分布是共轭分布意味着,如果我们为二项分布的参数p选取的先验分布是Beta分布,那么以p为参数的二项分布用贝叶斯估计得到的后验分布仍然服从Beta分布。

        此外,如何理解参数所表达的意义呢?可以认为形状参数,通俗但不严格的理解是,共同控制Beta分布的函数“长的样子”:形状千奇百怪,高低胖瘦,如下图所示:

     

    2.3 共轭先验分布

        什么又是共轭呢?轭的意思是束缚、控制,共轭从字面上理解,则是共同约束,或互相约束。

        在贝叶斯概率理论中,如果后验概率P(θ|x)和先验概率p(θ)满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布

        比如,某观测数据服从概率分布P(θ)时,当观测到新的X数据时,我们一般会遇到如下问题:

    • 可否根据新观测数据X,更新参数θ?
    • 根据新观测数据可以在多大程度上改变参数θ,即

    • 当重新估计θ的时候,给出新参数值θ的新概率分布,即P(θ|x)

        事实上,根据根据贝叶斯公式可知:

        其中,P(x|θ)表示以预估θ为参数的x概率分布,可以直接求得,P(θ)是已有原始的θ概率分布。
        所以,如果我们选取P(x|θ)的共轭先验作为P(θ)的分布,那么P(x|θ)乘以P(θ),然后归一化的结果P(θ|x)跟和P(θ)的形式一样。换句话说,先验分布是P(θ),后验分布是P(θ|x),先验分布跟后验分布同属于一个分布族,故称该分布族是θ的共轭先验分布(族)

        举个例子。投掷一个非均匀硬币,可以使用参数为θ的伯努利模型,θ为硬币为正面的概率,那么结果x的分布形式为:

        其共轭先验为beta分布,具有两个参数,称为超参数(hyperparameters)。且这两个参数决定了θ参数,其Beta分布形式为

        然后计算后验概率

        归一化这个等式后会得到另一个Beta分布,从而证明了Beta分布确实是伯努利分布的共轭先验分布。

    2.4 从beta分布推广到Dirichlet 分布

        接下来,咱们来考察beta分布的一个性质。

        如果,则有:

        注意到上式最后结果的右边积分

        其类似于概率分布,而对于这个分布有

        从而求得

        的结果为

        最后将此结果带入的计算式,得到:

        最后的这个结果意味着对于Beta 分布的随机变量,其均值(期望)可以用来估计。此外,狄利克雷Dirichlet 分布也有类似的结论,即如果,同样可以证明有下述结论成立:

        那什么是Dirichlet 分布呢?简单的理解Dirichlet 分布就是一组连续多变量概率分布,是多变量普遍化的beta分布。为了纪念德国数学家约翰·彼得·古斯塔夫·勒热纳·狄利克雷(Peter Gustav Lejeune Dirichlet)而命名。狄利克雷分布常作为贝叶斯统计的先验概率。

     

    3 Dirichlet 分布

    3.1 Dirichlet 分布

        根据wikipedia上的介绍,维度K ≥ 2(x1,x2…xK-1维,共K个)的狄利克雷分布在参数α1, ..., αK > 0上、基于欧几里得空间RK-1里的勒贝格测度有个概率密度函数,定义为:

     

        其中,相当于是多项beta函数

        且

        此外,x1+x2+…+xK-1+xK=1,x1,x2…xK-1>0,且在(K-1)维的单纯形上,其他区域的概率密度为0。

        当然,也可以如下定义Dirichlet 分布

        其中的称为Dirichlet 分布的归一化系数:

        且根据Dirichlet分布的积分为1(概率的基本性质),可以得到:

    3.2 Dirichlet-Multinomial 共轭

        下面,在2.2节问题2的基础上继续深入,引出问题3

    • 排序后对应的顺序统计量,
    • 的联合分布是什么?

        为了简化计算,取x3满足x1+x2+x3=1,但只有x1,x2是变量,如下图所示:

        从而有:

        继而得到于是我们得到的联合分布为:

        观察上述式子的最终结果,可以看出上面这个分布其实就是3维形式的 Dirichlet 分布

        令,于是分布密度可以写为

        这个就是一般形式的3维 Dirichlet 分布,即便延拓到非负实数集合,以上概率分布也是良定义的。

        将Dirichlet分布的概率密度函数取对数,绘制对称Dirichlet分布的图像如下图所示(截取自wikipedia上):

        上图中,取K=3,也就是有两个独立参数x1,x2,分别对应图中的两个坐标轴,第三个参数始终满足x3=1-x1-x2且α1=α2=α3=α,图中反映的是参数α从α=(0.3, 0.3, 0.3)变化到(2.0, 2.0, 2.0)时的概率对数值的变化情况。

        为了论证Dirichlet分布是多项式分布的共轭先验概率分布,下面咱们继续在上述问题3的基础上再进一步,提出问题4

    1. 问题4  ,排序后对应的顺序统计量
    2. ,,(此处的p3非变量,只是为了表达方便),现在要猜测
    3. ,Yi中落到 三个区间的个数分别为 m1,m2,m3,m=m1+m2+m3;
    4.  问后验分布的分布是什么。

       为了方便讨论,记,及,根据已知条件“,Yi中落到 三个区间的个数分别为 m1,m2”,可得分别是这m+n个数中第大、第大的数。于是,后验分布应该为,即一般化的形式表示为:

        同样的,按照贝叶斯推理的逻辑,可将上述过程整理如下:

    1.  我们要猜测参数,其先验分布为
    2.  数据Yi落到三个区间 的个数分别为,所以服从多项分布
    3.  在给定了来自数据提供的知识后,的后验分布变为

        上述贝叶斯分析过程的直观表述为:

        令,可把从整数集合延拓到实数集合,从而得到更一般的表达式如下:

        针对于这种观测到的数据符合多项分布,参数的先验分布和后验分布都是Dirichlet 分布的情况,就是Dirichlet-Multinomial 共轭。换言之,至此已经证明了Dirichlet分布的确就是多项式分布的共轭先验概率分布。

        意味着,如果我们为多项分布的参数p选取的先验分布是Dirichlet分布,那么以p为参数的多项分布用贝叶斯估计得到的后验分布仍然服从Dirichlet分布。

        进一步,一般形式的Dirichlet 分布定义如下:

        而对于给定的,其多项分布为:

        结论是:Dirichlet分布和多项分布是共轭关系。

     

    4 主题模型LDA

            在开始下面的旅程之前,先来总结下我们目前所得到的最主要的几个收获:

    • 通过上文的第2.2节,我们知道beta分布是二项式分布的共轭先验概率分布:
      •  对于非负实数,我们有如下关系

        其中对应的是二项分布的计数。针对于这种观测到的数据符合二项分布,参数的先验分布和后验分布都是Beta分布的情况,就是Beta-Binomial 共轭。

    • 通过上文的3.2节,我们知道狄利克雷分布(Dirichlet分布)是多项式分布的共轭先验概率分布:
      •  从整数集合延拓到实数集合,从而得到更一般的表达式如下:

        针对于这种观测到的数据符合多项分布,参数的先验分布和后验分布都是Dirichlet 分布的情况,就是 Dirichlet-Multinomial 共轭。 ”

    • 以及贝叶斯派思考问题的固定模式:
      • 先验分布 + 样本信息  后验分布

          上述思考模式意味着,新观察到的样本信息将修正人们以前对事物的认知。换言之,在得到新的样本信息之前,人们对的认知是先验分布,在得到新的样本信息后,人们对的认知为

    • 顺便提下频率派与贝叶斯派各自不同的思考方式:
      • 频率派把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时,样本X 是随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X 的分布;
      • 贝叶斯派的观点则截然相反,他们认为待估计的参数是随机变量,服从一定的分布,而样本X 是固定的,由于样本是固定的,所以他们重点研究的是参数的分布。

        OK,在杀到终极boss——LDA模型之前,再循序渐进理解基础模型:Unigram model、mixture of unigrams model,以及跟LDA最为接近的pLSA模型。

       为了方便描述,首先定义一些变量:

    • 表示词,表示所有单词的个数(固定值)
    • 表示主题,是主题的个数(预先给定,固定值)
    • 表示语料库,其中的是语料库中的文档数(固定值)
    • 表示文档,其中的表示一个文档中的词数(随机变量)

    4.1 各个基础模型

    4.1.1 Unigram model

        对于文档,用表示词的先验概率,生成文档的概率为:

        其图模型为(图中被涂色的w表示可观测变量,N表示一篇文档中总共N个单词,M表示M篇文档):

        或为:

        unigram model假设文本中的词服从Multinomial分布,而我们已经知道Multinomial分布的先验分布为Dirichlet分布。
        上图中的表示在文本中观察到的第n个词,n∈[1,N]表示该文本中一共有N个单词。加上方框表示重复,即一共有N个这样的随机变量。其中,p和α是隐含未知变量:

    • p是词服从的Multinomial分布的参数
    • α是Dirichlet分布(即Multinomial分布的先验分布)的参数。

        一般α由经验事先给定,p由观察到的文本中出现的词学习得到,表示文本中出现每个词的概率。

    4.1.2 Mixture of unigrams model

        该模型的生成过程是:给某个文档先选择一个主题,再根据该主题生成文档,该文档中的所有词都来自一个主题。假设主题有,生成文档的概率为:

        其图模型为(图中被涂色的w表示可观测变量,未被涂色的z表示未知的隐变量,N表示一篇文档中总共N个单词,M表示M篇文档):

    4.2 PLSA模型

        啊哈,长征两万五,经过前面这么长的铺垫,终于快要接近LDA模型了!因为跟LDA模型最为接近的便是下面要阐述的这个pLSA模型,理解了pLSA模型后,到LDA模型也就一步之遥——给pLSA加上贝叶斯框架,便是LDA

    4.2.1 pLSA模型下生成文档

        OK,在上面的Mixture of unigrams model中,我们假定一篇文档只有一个主题生成,可实际中,一篇文章往往有多个主题,只是这多个主题各自在文档中出现的概率大小不一样。比如介绍一个国家的文档中,往往会分别从教育、经济、交通等多个主题进行介绍。那么在pLSA中,文档是怎样被生成的呢

        假设你要写M篇文档,由于一篇文档由各个不同的词组成,所以你需要确定每篇文档里每个位置上的词。

        再假定你一共有K个可选的主题,有V个可选的词,咱们来玩一个扔骰子的游戏。

    • 1. 假设你每写一篇文档会制作一颗K面的“文档-主题”骰子(扔此骰子能得到K个主题中的任意一个),和K个V面的“主题-词项” 骰子(每个骰子对应一个主题,K个骰子对应之前的K个主题,且骰子的每一面对应要选择的词项,V个面对应着V个可选的词)。
      • 比如可令K=3,即制作1个含有3个主题的“文档-主题”骰子,这3个主题可以是:教育、经济、交通。然后令V = 3,制作3个有着3面的“主题-词项”骰子,其中,教育主题骰子的3个面上的词可以是:大学、老师、课程,经济主题骰子的3个面上的词可以是:市场、企业、金融,交通主题骰子的3个面上的词可以是:高铁、汽车、飞机。

    • 2. 每写一个词,先扔该“文档-主题”骰子选择主题,得到主题的结果后,使用和主题结果对应的那颗“主题-词项”骰子,扔该骰子选择要写的词。
      • 先扔“文档-主题”的骰子,假设(以一定的概率)得到的主题是教育,所以下一步便是扔教育主题筛子,(以一定的概率)得到教育主题筛子对应的某个词:大学。
        • 上面这个投骰子产生词的过程简化下便是:“先以一定的概率选取主题,再以一定的概率选取词”。事实上,一开始可供选择的主题有3个:教育、经济、交通,那为何偏偏选取教育这个主题呢?其实是随机选取的,只是这个随机遵循一定的概率分布。比如可能选取教育主题的概率是0.5,选取经济主题的概率是0.3,选取交通主题的概率是0.2,那么这3个主题的概率分布便是{教育:0.5,经济:0.3,交通:0.2},我们把各个主题z在文档d中出现的概率分布称之为主题分布,且是一个多项分布
        • 同样的,从主题分布中随机抽取出教育主题后,依然面对着3个词:大学、老师、课程,这3个词都可能被选中,但它们被选中的概率也是不一样的。比如大学这个词被选中的概率是0.5,老师这个词被选中的概率是0.3,课程被选中的概率是0.2,那么这3个词的概率分布便是{大学:0.5,老师:0.3,课程:0.2},我们把各个词语w在主题z下出现的概率分布称之为词分布,这个词分布也是一个多项分布。
        • 所以,选主题和选词都是两个随机的过程,先从主题分布{教育:0.5,经济:0.3,交通:0.2}中抽取出主题:教育,然后从该教育主题对应的词分布{大学:0.5,老师:0.3,课程:0.2}中抽取出词:大学
    • 3. 最后,你不停的重复扔“文档-主题”骰子和”主题-词项“骰子,重复N次(产生N个词),完成一篇文档,重复这产生一篇文档的方法M次,则完成M篇文档。

        上述过程抽象出来即是PLSA的文档生成模型。在这个过程中,我们并未关注词和词之间的出现顺序,所以pLSA是一种词袋方法。具体说来,该模型假设一组共现(co-occurrence)词项关联着一个隐含的主题类别。同时定义:

    • 表示海量文档中某篇文档被选中的概率。
    • 表示词在给定文档中出现的概率。
      • 怎么计算得到呢?针对海量文档,对所有文档进行分词后,得到一个词汇列表,这样每篇文档就是一个词语的集合。对于每个词语,用它在文档中出现的次数除以文档中词语总的数目便是它在文档中出现的概率
    • 表示具体某个主题在给定文档下出现的概率。
    • 表示具体某个词在给定主题下出现的概率,与主题关系越密切的词,其条件概率越大。

        利用上述的第1、3、4个概率,我们便可以按照如下的步骤得到“文档-词项”的生成模型:

    1. 按照概率选择一篇文档
    2. 选定文档后,从主题分布中按照概率选择一个隐含的主题类别
    3. 选定后,从词分布中按照概率选择一个词

        所以pLSA中生成文档的整个过程便是选定文档生成主题,确定主题生成词。

    4.2.1 根据文档反推其主题分布

        反过来,既然文档已经产生,那么如何根据已经产生好的文档反推其主题呢?这个利用看到的文档推断其隐藏的主题(分布)的过程(其实也就是产生文档的逆过程),便是主题建模的目的:自动地发现文档集中的主题(分布)。

        换言之,人类根据文档生成模型写成了各类文章,然后丢给了计算机,相当于计算机看到的是一篇篇已经写好的文章。现在计算机需要根据一篇篇文章中看到的一系列词归纳出当篇文章的主题,进而得出各个主题各自不同的出现概率:主题分布。即文档d和单词w是可被观察到的,但主题z却是隐藏的。

        如下图所示(图中被涂色的d、w表示可观测变量,未被涂色的z表示未知的隐变量,N表示一篇文档中总共N个单词,M表示M篇文档):

        上图中,文档d和词w是我们得到的样本(样本随机,参数虽未知但固定,所以pLSA属于频率派思想。区别于下文要介绍的LDA中:样本固定,参数未知但不固定,是个随机变量,服从一定的分布,所以LDA属于贝叶斯派思想),可观测得到,所以对于任意一篇文档,其是已知的。

        从而可以根据大量已知的文档-词项信息,训练出文档-主题主题-词项,如下公式所示:

        故得到文档中每个词的生成概率为:

        由于可事先计算求出,未知,所以就是我们要估计的参数(值),通俗点说,就是要最大化这个θ

        用什么方法进行估计呢,常用的参数估计方法有极大似然估计MLE、最大后验证估计MAP、贝叶斯估计等等。因为该待估计的参数中含有隐变量z,所以我们可以考虑EM算法。

    4.2.1.1 EM算法的简单介绍

        EM算法,全称为Expectation-maximization algorithm,为期望最大算法,其基本思想是:首先随机选取一个值去初始化待估计的值,然后不断迭代寻找更优的使得其似然函数likelihood 比原来的要大。换言之,假定现在得到了,想求,使得

        EM的关键便是要找到的一个下界(注:其中,X表示已经观察到的随机变量),然后不断最大化这个下界,通过不断求解下界的极大化,从而逼近要求解的似然函数

        所以EM算法的一般步骤为:

    • 1. 随机选取或者根据先验知识初始化
    • 2. 不断迭代下述两步
      • ①给出当前的参数估计,计算似然函数的下界
      • ②重新估计参数θ,即求,使得
    • 3. 上述第二步后,如果收敛(即收敛)则退出算法,否则继续回到第二步。

        上述过程好比在二维平面上,有两条不相交的曲线,一条曲线在上(简称上曲线),一条曲线在下(简称下曲线),下曲线为上曲线的下界。现在对上曲线未知,只已知下曲线,为了求解上曲线的最高点,我们试着不断增大下曲线,使得下曲线不断逼近上曲线,下曲线在某一个点达到局部最大值并与上曲线在这点的值相等,记录下这个值,然后继续增大下曲线,寻找下曲线上与上曲线上相等的值,迭代到收敛(即收敛)停止,从而利用当前下曲线上的局部最大值当作上曲线的全局最大值(换言之,EM算法不保证一定能找到全局最优值)。如下图所示:

        以下是详细介绍。

        假定有训练集包含m个独立样本,希望从中找到该组数据的模型p(x,z)的参数。   

        然后通过极大似然估计建立目标函数--对数似然函数:

        这里,z是隐随机变量,直接找到参数的估计是很困难的。我们的策略是建立的下界,并且求该下界的最大值;重复这个过程,直到收敛到局部最大值。

        令Qi是z的某一个分布,Qi≥0,且结合Jensen不等式,有:

        为了寻找尽量紧的下界,我们可以让使上述等号成立,而若要让等号成立的条件则是:

        换言之,有以下式子成立:,且由于有:

        所以可得:

        最终得到EM算法的整体框架如下:

        OK,EM算法还会在本博客后面的博文中具体阐述。接下来,回到pLSA参数的估计问题上。

    4.2.1.2 EM算法估计pLSA的两未知参数

        首先尝试从矩阵的角度来描述待估计的两个未知变量

    • 假定用表示词表在主题上的一个多项分布,则可以表示成一个向量,每个元素表示词项出现在主题中的概率,即

    • 表示所有主题在文档上的一个多项分布,则可以表示成一个向量,每个元素表示主题出现在文档中的概率,即

        这样,巧妙的把转换成了两个矩阵。换言之,最终我们要求解的参数是这两个矩阵:

        由于词和词之间是相互独立的,所以整篇文档N个词的分布为:

        再由于文档和文档之间也是相互独立的,所以整个语料库中词的分布为(整个语料库M篇文档,每篇文档N个词):

        其中,表示词项在文档中的词频,表示文档di中词的总数,显然有
        从而得到整个语料库的词分布的对数似然函数(下述公式中有个小错误,正确的应该是:N为M,M为N):

        现在,我们需要最大化上述这个对数似然函数来求解参数。对于这种含有隐变量的最大似然估计,可以使用EM算法。EM算法,分为两个步骤:先E-step,后M-step。

    • E-step:假定参数已知,计算此时隐变量的后验概率。

        利用贝叶斯法则,可以得到:

    • M-step:带入隐变量的后验概率,最大化样本分布的对数似然函数,求解相应的参数。

        观察之前得到的对数似然函数的结果,由于文档长度可以单独计算,所以去掉它不影响最大化似然函数。此外,根据E-step的计算结果,把 代入,于是我们只要最大化下面这个函数  即可(下述公式中有个小错误,正确的应该是:N为M,M为N)

        这是一个多元函数求极值问题,并且已知有如下约束条件(下述公式中有个小错误,正确的应该是:M为N)

        熟悉凸优化的朋友应该知道,一般处理这种带有约束条件的极值问题,常用的方法便是拉格朗日乘数法,即通过引入拉格朗日乘子将约束条件和多元(目标)函数融合到一起,转化为无约束条件的极值问题。

        这里我们引入两个拉格朗日乘子,从而写出拉格朗日函数(下述公式中有个小错误,正确的应该是:N为M,M为N)

        因为我们要求解的参数是,所以分别对求偏导,然后令偏导结果等于0,得到(下述公式中有个小错误,正确的应该是:N为M,M为N)

        消去拉格朗日乘子,最终可估计出参数(下述公式中有个小错误,正确的应该是:N为M,M为N)

        综上,在pLSA中:

    1. 由于未知,所以我们用EM算法去估计这个参数的值。
    2. 而后,用表示词项出现在主题中的概率,即,用表示主题出现在文档中的概率,即,从而把转换成了“主题-词项”矩阵Φ(主题生成词),把转换成了“文档-主题”矩阵Θ(文档生成主题)。
    3. 最终求解出

    4.3 LDA模型

        事实上,理解了pLSA模型,也就差不多快理解了LDA模型,因为LDA就是在pLSA的基础上加层贝叶斯框架,即LDA就是pLSA的贝叶斯版本(正因为LDA被贝叶斯化了,所以才需要考虑历史先验知识,才加的两个先验参数)。

    4.3.1 pLSA跟LDA的对比:生成文档与参数估计

        在pLSA模型中,我们按照如下的步骤得到“文档-词项”的生成模型:

    1. 按照概率选择一篇文档
    2. 选定文档后,确定文章的主题分布
    3. 从主题分布中按照概率选择一个隐含的主题类别
    4. 选定后,确定主题下的词分布
    5. 从词分布中按照概率选择一个词 

        下面,咱们对比下本文开头所述的LDA模型中一篇文档生成的方式是怎样的:

    1. 按照先验概率选择一篇文档
    2. 从狄利克雷分布(即Dirichlet分布)中取样生成文档 的主题分布,换言之,主题分布由超参数为的Dirichlet分布生成
    3. 从主题的多项式分布中取样生成文档第 j 个词的主题
    4. 从狄利克雷分布(即Dirichlet分布)中取样生成主题对应的词语分布,换言之,词语分布由参数为的Dirichlet分布生成
    5. 从词语的多项式分布中采样最终生成词语 

        从上面两个过程可以看出,LDA在PLSA的基础上,为主题分布和词分布分别加了两个Dirichlet先验。

        继续拿之前讲解PLSA的例子进行具体说明。如前所述,在PLSA中,选主题和选词都是两个随机的过程,先从主题分布{教育:0.5,经济:0.3,交通:0.2}中抽取出主题:教育,然后从该主题对应的词分布{大学:0.5,老师:0.3,课程:0.2}中抽取出词:大学。

        而在LDA中,选主题和选词依然都是两个随机的过程,依然可能是先从主题分布{教育:0.5,经济:0.3,交通:0.2}中抽取出主题:教育,然后再从该主题对应的词分布{大学:0.5,老师:0.3,课程:0.2}中抽取出词:大学

        那PLSA跟LDA的区别在于什么地方呢?区别就在于:

    • PLSA中,主题分布和词分布是唯一确定的,能明确的指出主题分布可能就是{教育:0.5,经济:0.3,交通:0.2},词分布可能就是{大学:0.5,老师:0.3,课程:0.2}
    • 但在LDA中,主题分布和词分布不再唯一确定不变,即无法确切给出。例如主题分布可能是{教育:0.5,经济:0.3,交通:0.2},也可能是{教育:0.6,经济:0.2,交通:0.2},到底是哪个我们不再确定(即不知道),因为它是随机的可变化的。但再怎么变化,也依然服从一定的分布,即主题分布跟词分布由Dirichlet先验随机确定

       看到这,你可能凌乱了,你说面对多个主题或词,各个主题或词被抽中的概率不一样,所以抽取主题或词是随机抽取,还好理解。但现在你说主题分布和词分布本身也都是不确定的,这是怎么回事?没办法,谁叫Blei等人“强行”给PLSA安了个贝叶斯框架呢,正因为LDA是PLSA的贝叶斯版本,所以主题分布跟词分布本身由先验知识随机给定。

        进一步,你会发现:

    • pLSA中,主题分布和词分布确定后,以一定的概率()分别选取具体的主题和词项,生成好文档。而后根据生成好的文档反推其主题分布、词分布时,最终用EM算法(极大似然估计思想)求解出了两个未知但固定的参数的值:(由转换而来)和(由转换而来)。
      • 文档d产生主题z的概率,主题z产生单词w的概率都是两个固定的值。
        • 举个文档d产生主题z的例子。给定一篇文档d,主题分布是一定的,比如{ P(zi|d), i = 1,2,3 }可能就是{0.4,0.5,0.1},表示z1、z2、z3,这3个主题被文档d选中的概率都是个固定的值:P(z1|d) = 0.4、P(z2|d) = 0.5、P(z3|d) = 0.1,如下图所示(图截取自沈博PPT上):

    • 但在贝叶斯框架下的LDA中,我们不再认为主题分布(各个主题在文档中出现的概率分布)和词分布(各个词语在某个主题下出现的概率分布)是唯一确定的(而是随机变量,而是有很多种可能。但一篇文档总得对应一个主题分布和一个词分布吧,怎么办呢?LDA为它们弄了两个Dirichlet先验参数,这个Dirichlet先验为某篇文档随机抽取出某个主题分布和词分布。
      • 文档d产生主题z(准确的说,其实是Dirichlet先验为文档d生成主题分布Θ,然后根据主题分布Θ产生主题z)的概率,主题z产生单词w的概率都不再是某两个确定的值,而是随机变量
        • 还是再次举下文档d具体产生主题z的例子。给定一篇文档d,现在有多个主题z1、z2、z3,它们的主题分布{ P(zi|d), i = 1,2,3 }可能是{0.4,0.5,0.1},也可能是{0.2,0.2,0.6},即这些主题被d选中的概率都不再认为是确定的值,可能是P(z1|d) = 0.4、P(z2|d) = 0.5、P(z3|d) = 0.1,也有可能是P(z1|d) = 0.2、P(z2|d) = 0.2、P(z3|d) = 0.6等等,而主题分布到底是哪个取值集合我们不确定(为什么?这就是贝叶斯派的核心思想,把未知参数当作是随机变量,不再认为是某一个确定的值),但其先验分布是dirichlet 分布,所以可以从无穷多个主题分布中按照dirichlet 先验随机抽取出某个主题分布出来。如下图所示(图截取自沈博PPT上):

        换言之,LDA在pLSA的基础上给这两参数加了两个先验分布的参数(贝叶斯化):一个主题分布的先验分布Dirichlet分布,和一个词语分布的先验分布Dirichlet分布

        综上,LDA真的只是pLSA的贝叶斯版本,文档生成后,两者都要根据文档去推断其主题分布和词语分布(即两者本质都是为了估计给定文档生成主题,给定主题生成词语的概率),只是用的参数推断方法不同,在pLSA中用极大似然估计的思想去推断两未知的固定参数,而LDA则把这两参数弄成随机变量,且加入dirichlet先验。

        所以,pLSA跟LDA的本质区别就在于它们去估计未知参数所采用的思想不同,前者用的是频率派思想,后者用的是贝叶斯派思想。
        好比,我去一朋友家:

    • 按照频率派的思想,我估计他在家的概率是1/2,不在家的概率也是1/2,是个定值。
    • 按照贝叶斯派的思想,他在家不在家的概率不再认为是个定值1/2,而是随机变量。比如按照我们的经验(比如当天周末),猜测他在家的概率是0.6,但这个0.6不是说就是完全确定的,也有可能是0.7。如此,贝叶斯派没法确切给出参数的确定值(0.3,0.4,0.6,0.7,0.8,0.9都有可能),但至少明白在哪个范围或哪些取值(0.6,0.7,0.8,0.9)更有可能,哪个范围或哪些取值(0.3,0.4) 不太可能。进一步,贝叶斯估计中,参数的多个估计值服从一定的先验分布,而后根据实践获得的数据(例如周末不断跑他家),不断修正之前的参数估计,从先验分布慢慢过渡到后验分布。

        OK,相信已经解释清楚了。如果是在机器学习班上face-to-face,更好解释和沟通。

    4.3.2 LDA生成文档过程的进一步理解

        上面说,LDA中,主题分布 —— 比如{ P(zi), i =1,2,3 }等于{0.4,0.5,0.1}或{0.2,0.2,0.6} —— 是由dirichlet先验给定的,不是根据文档产生的。所以,LDA生成文档的过程中,先从dirichlet先验中“随机”抽取出主题分布,然后从主题分布中“随机”抽取出主题,最后从确定后的主题对应的词分布中“随机”抽取出词。

        那么,dirichlet先验到底是如何“随机”抽取主题分布的呢?

        事实上,从dirichlet分布中随机抽取主题分布,这个过程不是完全随机的。为了说清楚这个问题,咱们得回顾下dirichlet分布。事实上,如果我们取3个事件的话,可以建立一个三维坐标系,类似xyz三维坐标系,这里,我们把3个坐标轴弄为p1、p2、p3,如下图所示:

        在这个三维坐标轴所划分的空间里,每一个坐标点(p1,p2,p3)就对应着一个主题分布,且某一个点(p1,p2,p3)的大小表示3个主题z1、z2、z3出现的概率大小(因为各个主题出现的概率和为1,所以p1+p2+p3 = 1,且p1、p2、p3这3个点最大取值为1)。比如(p1,p2,p3) = (0.4,0.5,0.1)便对应着主题分布{ P(zi), i =1,2,3 } = {0.4,0.5,0.1}。

        可以想象到,空间里有很多这样的点(p1,p2,p3),意味着有很多的主题分布可供选择,那dirichlet分布如何选择主题分布呢?把上面的斜三角形放倒,映射到底面的平面上,便得到如下所示的一些彩图(3个彩图中,每一个点对应一个主题分布,高度代表某个主题分布被dirichlet分布选中的概率,且选不同的,dirichlet 分布会偏向不同的主题分布):

        我们来看上图中左边这个图,高度就是代表dirichlet分布选取某个坐标点(p1,p2,p3)(这个点就是一个主题分布)的概率大小。如下图所示,平面投影三角形上的三个顶点上的点:A=(0.9,0.05,0.05)、B=(0.05,0.9,0.05)、C=(0.05,0.05,0.9)各自对应的主题分布被dirichlet分布选中的概率值很大,而平面三角形内部的两个点:D、E对应的主题分布被dirichlet分布选中的概率值很小。

        所以虽然说dirichlet分布是随机选取任意一个主题分布的,但依然存在着P(A) = P(B) = P(C) >> P(D) = P(E),即dirichlet分布还是“偏爱”某些主题分布的。至于dirichlet分布的参数是如何决定dirichlet分布的形状的,可以从dirichlet分布的定义和公式思考。

        此外,就算说“随机”选主题也是根据主题分布来“随机”选取,这里的随机不是完全随机的意思,而是根据各个主题出现的概率值大小来抽取。比如当dirichlet先验为文档d生成的主题分布{ P(zi), i =1,2,3 }是{0.4,0.5,0.1}时,那么主题z2在文档d中出现的概率便是0.5。所以,从主题分布中抽取主题,这个过程也不是完全随机的,而是按照各个主题出现的概率值大小进行抽取。

    4.3.3 pLSA跟LDA的概率图对比

        接下来,对比下LDA跟pLSA的概率模型图模型,左图是pLSA,右图是LDA(右图不太规范,z跟w都得是小写, 其中,阴影圆圈表示可观测的变量,非阴影圆圈表示隐变量,箭头表示两变量间的条件依赖性conditional dependency,方框表示重复抽样,方框右下角的数字代表重复抽样的次数):

                

        对应到上面右图的LDA,只有W / w是观察到的变量,其他都是隐变量或者参数,其中,Φ表示词分布,Θ表示主题分布, 是主题分布Θ的先验分布(即Dirichlet 分布)的参数,是词分布Φ的先验分布(即Dirichlet 分布)的参数,N表示文档的单词总数,M表示文档的总数。

        所以,对于一篇文档d中的每一个单词,LDA根据先验知识确定某篇文档的主题分布θ,然后从该文档所对应的多项分布(主题分布)θ中抽取一个主题z,接着根据先验知识确定当前主题的词语分布ϕ,然后从主题z所对应的多项分布(词分布)ϕ中抽取一个单词w。然后将这个过程重复N次,就产生了文档d。

        换言之:

    1. 假定语料库中共有M篇文章,每篇文章下的Topic的主题分布是一个从参数为的Dirichlet先验分布中采样得到的Multinomial分布,每个Topic下的词分布是一个从参数为的Dirichlet先验分布中采样得到的Multinomial分布。
    2. 对于某篇文章中的第n个词,首先从该文章中出现的每个主题的Multinomial分布(主题分布)中选择或采样一个主题,然后再在这个主题对应的词的Multinomial分布(词分布)中选择或采样一个词。不断重复这个随机生成过程,直到M篇文章全部生成完成。

        综上,M 篇文档会对应于 M 个独立的 Dirichlet-Multinomial 共轭结构,K 个 topic 会对应于 K 个独立的 Dirichlet-Multinomial 共轭结构。

    • 其中,→θ→z 表示生成文档中的所有词对应的主题,显然 →θ 对应的是Dirichlet 分布,θ→z 对应的是 Multinomial 分布,所以整体是一个 Dirichlet-Multinomial 共轭结构,如下图所示:
    • 类似的,→φ→w,容易看出, 此时β→φ对应的是 Dirichlet 分布, φ→w 对应的是 Multinomial 分布, 所以整体也是一个Dirichlet-Multinomial 共轭结构,如下图所示:

    4.3.4 pLSA跟LDA参数估计方法的对比

        上面对比了pLSA跟LDA生成文档的不同过程,下面,咱们反过来,假定文档已经产生,反推其主题分布。那么,它们估计未知参数所采用的方法又有什么不同呢?

    • 在pLSA中,我们使用EM算法去估计“主题-词项”矩阵Φ(由转换得到)和“文档-主题”矩阵Θ(由转换得到)这两个参数,而且这两参数都是个固定的值,只是未知,使用的思想其实就是极大似然估计MLE。
    • 而在LDA中,估计Φ、Θ这两未知参数可以用变分(Variational inference)-EM算法,也可以用gibbs采样,前者的思想是最大后验估计MAPMAP与MLE类似,都把未知参数当作固定的值,后者的思想是贝叶斯估计。贝叶斯估计是对MAP的扩展,但它与MAP有着本质的不同,即贝叶斯估计把待估计的参数看作是服从某种先验分布的随机变量。
      • 关于贝叶斯估计再举个例子。假设中国的大学只有两种:理工科和文科,这两种学校数量的比例是1:1,其中,理工科男女比例7:1,文科男女比例1:7。某天你被外星人随机扔到一个校园,问你该学校可能的男女比例是多少?然后,你实际到该校园里逛了一圈,看到的5个人全是男的,这时候再次问你这个校园的男女比例是多少?
    1. 因为刚开始时,有先验知识,所以该学校的男女比例要么是7:1,要么是1:7,即P(比例为7:1) = 1/2,P(比例为1:7) = 1/2。
    2. 然后看到5个男生后重新估计男女比例,其实就是求P(比例7:1|5个男生)= ?,P(比例1:7|5个男生) = ?
    3. 用贝叶斯公式,可得:P(比例7:1|5个男生) = P(比例7:1)*P(5个男生|比例7:1) / P(5个男生),P(5个男生)是5个男生的先验概率,与学校无关,所以是个常数;类似的,P(比例1:7|5个男生) = P((比例1:7)*P(5个男生|比例1:7)/P(5个男生)。
    4. 最后将上述两个等式比一下,可得:P(比例7:1|5个男生)/P(比例1:7|5个男生) = {P((比例7:1)*P(5个男生|比例7:1)} / { P(比例1:7)*P(5个男生|比例1:7)}。

        由于LDA把要估计的主题分布和词分布看作是其先验分布是Dirichlet分布的随机变量,所以,在LDA这个估计主题分布、词分布的过程中,它们的先验分布(即Dirichlet分布)事先由人为给定,那么LDA就是要去求它们的后验分布(LDA中可用gibbs采样去求解它们的后验分布,得到期望)!

       此外,不厌其烦的再插一句,在LDA中,主题分布和词分布本身都是多项分布,而由上文3.2节可知“Dirichlet分布是多项式分布的共轭先验概率分布”,因此选择Dirichlet 分布作为它们的共轭先验分布。意味着为多项分布的参数p选取的先验分布是Dirichlet分布,那么以p为参数的多项分布用贝叶斯估计得到的后验分布仍然是Dirichlet分布。

    4.3.5 LDA参数估计:Gibbs采样

        理清了LDA中的物理过程,下面咱们来看下如何学习估计。

        类似于pLSA,LDA的原始论文中是用的变分-EM算法估计未知参数,后来发现另一种估计LDA未知参数的方法更好,这种方法就是:Gibbs Sampling,有时叫Gibbs采样或Gibbs抽样,都一个意思。Gibbs抽样是马尔可夫链蒙特卡尔理论(MCMC)中用来获取一系列近似等于指定多维概率分布(比如2个或者多个随机变量的联合概率分布)观察样本的算法。

        OK,给定一个文档集合,w是可以观察到的已知变量,是根据经验给定的先验参数,其他的变量z,θ和φ都是未知的隐含变量,需要根据观察到的变量来学习估计的。根据LDA的图模型,可以写出所有变量的联合分布:

        注:上述公式中及下文中,等价上文中定义的等价于上文中定义的等价于上文中定义的,等价于上文中定义的

        因为产生主题分布θ,主题分布θ确定具体主题,且产生词分布φ、词分布φ确定具体词,所以上述式子等价于下述式子所表达的联合概率分布

        其中,第一项因子表示的是根据确定的主题和词分布的先验分布参数采样词的过程,第二项因子是根据主题分布的先验分布参数采样主题的过程,这两项因子是需要计算的两个未知参数

        由于这两个过程是独立的,所以下面可以分别处理,各个击破。

        第一个因子,可以根据确定的主题和从先验分布取样得到的词分布Φ产生:

        由于样本中的词服从参数为主题的独立多项分布,这意味着可以把上面对词的乘积分解成分别对主题和对词的两层乘积:

        其中,是词 t 在主题 k 中出现的次数。

        回到第一个因子上来。目标分布需要对词分布Φ积分,且结合我们之前在3.1节定义的Dirichlet 分布的归一化系数的公式

        可得:

        这个结果可以看作K个Dirichlet-Multinomial模型的乘积。
        现在开始求第二个因子。类似于的步骤,先写出条件分布,然后分解成两部分的乘积:

        其中, 表示的单词 i 所属的文档,是主题 k 在文章 m 中出现的次数。

        对主题分布Θ积分可得:

        综合第一个因子和第二个因子的结果,得到的联合分布结果为

        接下来,有了联合分布,咱们便可以通过联合分布来计算在给定可观测变量 w 下的隐变量 z 的条件分布(后验分布)来进行贝叶斯分析

        换言之,有了这个联合分布后,要求解第m篇文档中的第n个词(下标为的词)的全部条件概率就好求了。

        先定义几个变量。表示除去的词,

        然后,排除当前词的主题分配,即根据其他词的主题分配和观察到的单词来计算当前词主题的概率公式为:

        勘误:考虑到,所以上述公式的第二行的分子,非p(w,z) *p(z),而是p(w|z)*p(z)。

        且有:

        最后一步,便是根据Markov链的状态获取主题分布的参数Θ和词分布的参数Φ。

        换言之根据贝叶斯法则和Dirichlet先验,以及上文中得到的各自被分解成两部分乘积的结果,可以计算得到每个文档上Topic的后验分布和每个Topic下的词的后验分布分别如下(据上文可知:其后验分布跟它们的先验分布一样,也都是Dirichlet 分布

        其中,是构成文档m的主题数向量,是构成主题k的词项数向量。

        此外,别忘了上文中2.4节所述的Dirichlet的一个性质,如下:

         “ 如果,同样可以证明有下述结论成立:

        即:如果,则中的任一元素的期望是:

        可以看出,超参数的直观意义就是事件先验的伪计数(prior pseudo-count)。 
        所以,最终求解的Dirichlet 分布期望为

        然后将的结果代入之前得到的的结果中,可得:

        仔细观察上述结果,可以发现,式子的右半部分便是,这个概率的值对应着的路径概率。如此,K 个topic 对应着K条路径,Gibbs Sampling 便在这K 条路径中进行采样,如下图所示:

        何等奇妙,就这样,Gibbs Sampling通过求解出主题分布和词分布的后验分布,从而成功解决主题分布和词分布这两参数未知的问题。

     

    5 读者微评

        本文发表后,部分热心的读者在微博上分享了他们自己理解LDA的心得,也欢迎更多朋友分享你的理解心得(比如评论在本文下,或评论在微博上),从而在分享、讨论的过程中让更多人可以更好的理解:

    1. @SiNZeRo:lda 如果用em就是 map估计了. lda本意是要去找后验分布 然后拿后验分布做bayesian分析. 比如theta的期望 . 而不是把先验作为正则化引入。最后一点gibbs sampling其实不是求解的过程 是去explore后验分布 去采样 用于求期望.
    2. @研究者July:好问题好建议,这几天我陆续完善下!//@帅广应s:LDA这个东西该怎么用?可以用在哪些地方?还有就是Gibbs抽样的原理是什么?代码怎么实现?如果用EM来做,代码怎么实现? LDA模型的变形和优化有哪些?LDA不适用于解决哪类的问题?总之,不明白怎么用,参数怎么调优? 

    3. @xiangnanhe:写的很好,4.1.3节中的那两个图很赞,非常直观的理解了LDA模型加了先验之后在学参数的时候要比PLSI更灵活;PLSI在学参数的过程中比较容易陷入local minimum然后overfitting。

    4. @asker2:无论是pLSA中,还是LDA中,主题分布和词分布本身是固定的存在,但都未知。pLSA跟LDA的区别在于,去探索这两个未知参数的方法或思想不一样。pLSA是求到一个能拟合文本最好的参数(分布),这个值就认为是真实的参数。但LDA认为,其实我们没法去完全求解出主题分布、词分布到底是什么参数,我们只能把它们当成随机变量,通过缩小其方差(变化度)来尽量让这个随机变量变得更“确切”。换言之,我们不再求主题分布、词分布的具体值,而是通过这些分布生成的观测值(即实际文本)来反推分布的参数的范围,即在什么范围比较可能,在什么范围不太可能。所以,其实这就是一种贝叶斯分析的思想,虽然无法给出真实值具体是多少,但可以按照经验给一个相对合理的真实值服从的先验分布,然后从先验出发求解其后验分布。

    5. ..

     

    6 参考文献与推荐阅读

    1. Blei, David M.; Ng, Andrew Y.; Jordan, Michael I. Latent Dirichlet allocation(LDA原始论文):http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
    2. Blei. Probabilistic Topic Models:http://www.cs.princeton.edu/~blei/papers/Blei2012.pdf,一网友的翻译:http://www.cnblogs.com/siegfang/archive/2013/01/30/2882391.html
    3. 一堆wikipedia,比如隐含狄利克雷分布LDA的wiki:http://zh.wikipedia.org/wiki/%E9%9A%90%E5%90%AB%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%83,狄利克雷分布的wiki:http://zh.wikipedia.org/wiki/%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%83
    4. 从贝叶斯方法谈到贝叶斯网络 ;
    5. rickjin的LDA数学八卦(力荐,本文部分图片和公式来自于此文档)网页版:http://www.flickering.cn/tag/lda/,PDF版:http://emma.memect.com/t/9756da9a47744de993d8df13a26e04e38286c9bc1c5a0d2b259c4564c6613298/LDA
    6. Thomas Hofmann.Probabilistic Latent Semantic Indexing(pLSA原始论文):http://cs.brown.edu/~th/papers/Hofmann-SIGIR99.pdf
    7. Gregor Heinrich.Parameter estimation for text analysis(关于Gibbs 采样最精准细致的论述):http://www.arbylon.net/publications/text-est.pdf
    8. Probabilistic latent semantic analysis (pLSA):http://blog.tomtung.com/2011/10/plsa/http://blog.tomtung.com/2011/10/plsa/
    9. 《概率论与数理统计教程第二版 茆诗松等人著》,如果忘了相关统计分布,建议复习此书或此文第二部分;
    10. 支持向量机通俗导论:理解SVM的三层境界》,第二部分关于拉格朗日函数的讨论;
    11. 机器学习班第11次课上,邹博讲EM & GMM的PPT:http://pan.baidu.com/s/1i3zgmzF
    12. 机器学习班第12次课上,邹博讲主题模型LDA的PPT:http://pan.baidu.com/s/1jGghtQm
    13. 主题模型之pLSA:http://blog.jqian.net/post/plsa.html
    14. 主题模型之LDA:http://blog.jqian.net/post/lda.html
    15. 搜索背后的奥秘——浅谈语义主题计算:http://www.semgle.com/search-engine-algorithms-mystery-behind-search-on-the-calculation-of-semantic-topic
    16. LDA的EM推导:http://www.cnblogs.com/hebin/archive/2013/04/25/3043575.html
    17. Machine Learning读书会第8期上,沈博讲主题模型的PPT:http://vdisk.weibo.com/s/zrFL6OXKgKMAf
    18. Latent Dirichlet Allocation (LDA)- David M.Blei:http://www.xperseverance.net/blogs/2012/03/17/
    19. 用GibbsLDA做Topic Modeling:http://weblab.com.cityu.edu.hk/blog/luheng/2011/06/24/%E7%94%A8gibbslda%E5%81%9Atopic-modeling/#comment-87
    20. 主题模型在文本挖掘中的应用:http://net.pku.edu.cn/~zhaoxin/Topic-model-xin-zhao-wayne.pdf
    21. 二项分布和多项分布,beta分布的对比:http://www.cnblogs.com/wybang/p/3206719.html
    22. LDA简介:http://cos.name/2010/10/lda_topic_model/
    23. LDA的相关论文、工具库:http://site.douban.com/204776/widget/notes/12599608/note/287085506/
    24. 一个网友学习LDA的心得:http://www.xuwenhao.com/2011/03/20/suggestions-for-programmers-to-learn-lda/
    25. http://blog.csdn.net/hxxiaopei/article/details/7617838
    26. 主题模型LDA及其在微博推荐&广告算法中的应用:http://www.wbrecom.com/?p=136
    27. LDA发明人之一Blei 写的毕业论文:http://www.cs.princeton.edu/~blei/papers/Blei2004.pdf
    28. LDA的一个C实现:http://www.cs.princeton.edu/~blei/lda-c/index.html
    29. LDA的一些其它资料:http://www.xperseverance.net/blogs/2012/03/657/

     

    7 后记

        这个LDA的笔记从11月17日下午开始动笔,到21日基本写完,25日基本改完,前前后后,基本写完 + 基本改完,总共花了近10 天的时间,后面还得不断完善。前5天就像在树林里中行走,要走的大方向非常明确,但在选取哪条小道上则颇费了一番周折,但当最后走出了树林,登上山顶,俯瞰整个森林时,奥,原来它就长这样,会有一种彻爽的感觉!而后5 天,则慢慢开始接近LDA的本质:pLSA的贝叶斯版本。

        写作过程艰难但结果透彻,也希望读者能享受到其中。

        最后,再次感谢本文最主要的参考:LDA原始论文、pLSA原始论文、LDA数学八卦、机器学习班第12次课主题模型PPT,和Parameter estimation for text analysis等等的作者们(本文中大部分的图片、公式截取自这些参考资料上),因为有他们的创造或分享,我才有机会理解和再加工LDA,最终让本文得以成文。

        后续几天会不断修改完善本文,若有任何问题,可在本文下评论,thanks。

        July、二零一四年十一月二十一日。

    展开全文
  • 怎样写好技术贴

    千次阅读 热门讨论 2013-10-06 09:25:02
    大学同学问我如何好技术贴? 我感觉这个问题挺有意义的,不过我之前还没有系统地总结过,希望下此文能帮助到他和对技术贴有兴趣的同学,希望该同学能走上技术博客的道路,我也好学习下。 通过此文,我也能...

    写作缘由

    大学同学问我如何写好技术贴?

    我感觉这个问题挺有意义的,不过我之前还没有系统地总结过,希望写下此文能帮助到他和对写技术贴有兴趣的同学,希望该同学能走上写技术博客的道路,我也好学习下。

    通过此文,我也能提高写写技术贴的水平。

    怎么写好技术贴

    定义:我们此处就简单地把“技术贴”理解为“技术文章”。

    贴子的分类

    a.具体技术,如Java/PHP/Hadoop。

    b.抽象理论,如软件工程。

    (举2个分类的例子就可以了,思路其实是类似的)

    如何写好

    1.主题和结构

    a.主题明确,标题清晰,读者一看标题就知道文章的主旨。

    从读者的角度,节省了不少读者的时间,那些没有兴趣的,自然会跳过,以免浪费时间。

    从自身的角度,聚焦于一点,更容易把内容阐述清楚。

    举例:新人毕业,老人跳槽:2位同学简历中的15个问题

          --求职季, 简历中的问题  

          如何在一个月内搭建一个自己的博客网站

          --如何搭建独立博客网站

    b.思路清晰,结构合理。

    明确了主题,然后就是确定文章的结构。

    读者容易把握文章的核心内容,

    自己很容易展开来分别描述。

    类似于写程序时,先确定需求,做好设计,然后才是编码。

    对写作来说,主题就是需求,结构就是做设计,具体详细描述就是编码。

    方法:按照时间、重要程度、解决问题的流程等确定结构。

    c.根据主题和结构细化内容。

    心中有了蓝图,剩下的就是要紧紧围绕核心话题和子话题,详细陈述。

    d.适当地给出文章的引子和总结。

    引子,就是写作背景/文章摘要之类的引导读者阅读文章的开头,好的引子才能吸引读者不断阅读。

    总结,回顾文章,加深印象。

    象CSDN,WordPress等博客系统,都可以填写摘要。值得尝试。

    2.读者和自己

    a.利人利己。

    良好的帖子,是对自己已有经验的总结,对现实的思考,对未来的预测。通过写文章,促进自己思考和进步。

    良好的帖子,同时对读者,尤其是感兴趣的读者,要有帮助。

    这一出发点,是非常关键的,有了好的写作心态,才能坚持写下去。要不然,也容易被拍砖,积极性也容易降低。

    b.解决读者的问题和疑问。

    想明白,别人想从你的文章中获得什么,读者在思考哪些问题。

    比如,读新人毕业,老人跳槽:2位同学简历中的15个问题

    ”这篇文章的人,很多都是即将毕业的大学生和正在找工作的同学,这类读者,可能就是为了知道如何写简历,简历中会存在哪些问题,所以一定要在文章中去解决这些问题。

    c.文章风格。

    趣味幽默等可读性强的文章,读者会比较喜欢,因为容易阅读下去,看起来不会太疲惫。

    有些文章,适合以严谨、层层深度的风格写。

    文章的风格,取决于写作话题和作者自身。

    举例说明

    1.新人毕业,老人跳槽:2位同学简历中的15个问题

    主题:求职季,指出一些同学简历中的问题,帮助职场菜鸟写好简历,进而找到合适的工作

    读者:即将毕业的大学生,要跳槽的同学

    文章中解决问题的思路

    a.文章背景。

    求职季,有同学要跳槽,我主动或被动地 帮助其看简历。

    b.简历问题列表。

    看完简历,发现一系列问题并指出来。(这符合这个事件的流程)

    c.简历内容建议。

    既然指出了问题,自然会有解决问题的方法,给出了自己的一些建议。

    d.题外话。

    由帮别人看简历这件事,想到了自己前段时间发生的一段“职场趣事”,有人想让我跳槽。

    e.一个建议。

    看简历的过程中,了解到的一个方法,Word/PDF等文档有审阅模式,可以在简历上加批注。

    2.如何在一个月内搭建一个自己的博客网站

    主题:搭建博客网站的方法

    读者:想自己搭建博客网站

    文章中解决问题的思路

    a."目的和定位"

      确定博客的目的和定位,这是搭建博客的内在动力和长远发展基础。

    b.“开发-部署-测试-上线”

      从读者关注的几个子话题加以陈述,提供一些可选的方案,让读者自己选择实践。

    c.“运营、优化、推广

      博客上线后的后期规划。

    d.“时间问题

       提醒读者,需要考虑的一些特殊问题,从而更恰当地做出选择,如何选择搭建博客的解决方案。


    互动交流

    有问题,欢迎“指正”。

    有疑问,欢迎“留言”。

    若喜欢,欢迎“顶”。

    原文参见:http://FansUnion.cn/articles/2670

    展开全文
  • 应该怎么写论文

    2018-11-15 09:16:26
    你的论文怎么样了?想一篇好论文,却不知道怎么开始?轻松点,给你一个超级完整的论文写作介绍!从选题方法、论文结构到文献综述、文本内容等。你需要所有的技能!首先,论文必须确定一个主题,可以参考更多的文献...

    要写一篇论文,首先要想到毕业论文,事实上,除了毕业论文,期中、期末和其他时间也需要写论文,现在学习生涯中论文出现得非常频繁。你的论文怎么样了?想写一篇好论文,却不知道怎么开始?轻松点,给你一个超级完整的论文写作介绍!从选题方法、论文结构到文献综述、文本内容等。你需要所有的技能!首先,论文必须确定一个主题,可以参考更多的文献,选择一个较好的写作方向,论文的主题一般在20个字左右。主题大小应与内容相一致,尽量不要设置子问题,不设第一、第二等。论文的标题是直白的,没有感叹号或问号,科学论文的标题不能写成广告语言或新闻报道语言。
    其次是论文的介绍,这是论文的精彩演讲。它必须用思想来写。在绪论中,通常介绍论文的目的、背景、基础和基础。我们应该回顾必要的文献,写关于这个问题的发展。案文应简明扼要。
    然后介绍本文的材料和方法。根据有关规定,填写真实的实验对象、设备、动物和试剂及其规格,写出实验方法、指标、标准等,并写出实验设计、分组、统计方法等。论文的实验结果,包括正文和结论。这一部分是论文中最重要的部分,通常是最多的部分。整个研究过程应该是一个整体,高度概括,仔细分析和逻辑描述。我们应该粗犷精炼,虚伪守信,但不应该做出主观的选择,因为它不符合我们自己的意图,更不要说造假。
    论文完成后,建议大家要检查重,看到自己的复读率有关,如果清关不需要修改,不过关的话一定要改哦,否则家教肯定不能先通过考试来确定他们的学校要求和什么系统考试,然后选择相应的检测系统来检查重,一般很多学校现在都要求知道网上查重,复读率通常要求在30左右,有的还用微调。

    展开全文
  • 怎样写好git comment

    千次阅读 2019-03-22 10:45:57
    实践中总结的好git comment的方式
  • hexo怎样写博客

    千次阅读 2017-07-24 02:11:52
    之前在博客园、简书、CSDN等地儿都开过博,一篇文章好了,我希望能在几个平台可以同步发布,可是操作起来成本不低。几个平台下的富文本编辑器比较起来还是博客园更顺手,看着更舒服,尤其是代码块的操作灵活、准确...
  • 缩小主题的范围   本章之前介绍过需要避免主题过于宽泛,如“美国革命”。当你的导师给出一个比较大的课题,或者是...植物是怎样生长的? 植物需要什么? 在沙漠中植物是如何生存的? 有哪些很少见的植物? 这...
  • 有独特意义的产品、信息或者给人印象深刻的品牌要出现在邮件主题中,尽可能将重要的营销信息展示出来,即使用户不阅读邮件内容也会留下一定印象,这是可以监测到的Email效果之外获得的意外效果。...先写主题行 对
  • 怎样写好一篇高质量的技术文章?

    千次阅读 2020-05-03 02:57:50
    怎样写好一篇高质量的技术文章? 培根说“读史使人明智,读诗使人聪慧,学习数学使人精密,物理学使人深刻,伦理学使人高尚,逻辑修辞使人善辩。” 核心心法 就是起心动念利他,一切方法自来。 先来问自己几个问题 ...
  • 小伙伴们如果觉得文章不错,点赞、收藏、评论,分享走一起呀,记得给冰河来个一键三连~~ 进入主题 好了,进入今天的主题吧,今天下班回到家想登录下MySQL数据库,不巧的是,忘记了MySQL数据库的用户和密码了,...
  • 在讲怎样写简历之前,我先讲讲简历的四点忌讳: 1.切忌把小成绩当大成就夸 2.切忌把别人的功劳当自己的夸 3.切忌平均用力,没有亮点 4、切忌用PPT简历 那么简历应该怎么写呢? 搞清楚简历的目的 分清楚资历...
  • 在开始制作WordPress主题之前,首先得了解WordPress主题到底由哪些文件构成,你得清楚WordPress程序是怎样主题文件连接的。 以下是WordPress默认主题default文件夹下的所有模板文件。看了下图,可能你还...
  • 应届毕业生应该怎样写简历?

    千次阅读 2018-03-30 10:42:45
    应届毕业生应该怎样写简历? 非常惭愧的是,被标榜为“个性”、“张扬”、“有活力”的许多 90 后末班青年们似乎并没有在求职大道上将这些闪光点亮出来,反倒是奉行了“我低调我自豪,我有人品我骄傲”的一套原则,...
  • 怎样写一封专业美观的电子邮件

    千次阅读 热门讨论 2018-03-18 21:38:38
    一文让你看懂如何一封专业美观的电子邮件,10 分钟上手,内附导图,方便整理,欢迎点赞收藏。
  • 怎样写好Git的commit信息

    千次阅读 2017-02-09 21:09:18
    从一个开发者的commit日志中,就可以看出他是不是个很好地合作者。这篇文章介绍了好commit日志需要地规则,跟着这篇文章,让我们成为一个优秀的合作者吧。
  • 怎样写好科技论文

    千次阅读 2005-07-06 17:15:00
    怎样写好科技论文《天津港口》编辑部 李来库 1 科学研究与科技论文 1.1 科技论文定义及其分类 1.1.1 科技论文的定义 1.1.2 科技论文的分类 1.2 科技论文的作用 1.3 科技论文的特点2 好科技论文的前提 2.1 ...
  • 应聘简历/邮件怎样写

    千次阅读 2015-04-24 09:45:12
    邮件标题:XX工作经验应聘XXXX+姓名+电话 (这样 起码HR在想通知你面试的时候不需要再把邮件打开)  邮件正文:  尊敬的先生/女士:   您好。我叫XX,在XXX获知贵公司正在招聘XX岗位。我是XX学历...
  • 怎样做博客主题

    千次阅读 2007-11-16 13:02:00
    How to Simply Make a Blog Theme有人问我我做一个皮肤一般都需要哪几个步骤,没有专业系统的学网页设计,可能并不是专业的,依据个人习惯可能多少有些差异,就拿 CF0V11 主题 在这里简述一下: 界面构思 绘制草图 ...
  • hexo博客更换主题

    2018-12-01 12:06:44
    前边我们已经学会了博客的搭建了,这次我们来看看怎么样让我们的博客更漂亮,更个性化。那就是来更换博客的主题,让我们的博客与众不同起来。我们可以去hexo的主题官网去挑选你自己喜欢的主题风格。里边收录了很多...
  • 为“她”而的技术博客,是怎样的?

    千次阅读 多人点赞 2021-05-23 21:12:14
    知道为谁,才知道怎么写
  • Element-UI实现自定义主题

    千次阅读 2019-08-21 09:45:55
    目录 方法一:使用命令行主题工具 安装工具 初始化变量文件 修改变量 编译主题 引入自定义主题 方法二: 直接修改element样式变量 创建vue-cli项目 安装vue 安装vue-cli ...改变element...
  • 怎样写一个解释器

    千次阅读 2012-11-07 14:05:42
    卖了好久关子了,说要一个程序语言理论的入门读物,可是一直没有下笔。终于狠下心来兑现一部分承诺。今天就从解释器讲起吧。 解释器是比较深入的内容。虽然我试图从最基本的原理讲起,尽量让这篇文章不依赖于...
  • 主题介绍: 蘑菇导航的列表页有两种风格,分别对应宽屏、窄屏。可以点击文章、博客查看演示。文章页也是如此,这两种风格可以在后台设置。 本站菜单中的 VIP解析、音乐、图床,是单独的源码,不包含在本次主题中。...
  • AI诗,对联

    千次阅读 2020-08-06 12:20:47
    这里自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 今年早些时候,我曾经问过几位作家是怎么写书的,比如《流血的仕途》作者曹昇、科幻作家刘慈欣,发现他们书的方式,居然和我想的不一样。据他们说,基本上是顺序下来的,甚至的过程中自己也不知道后面会发生...
  • 怎样写权利要求书(原创)

    千次阅读 2013-11-04 17:23:14
    最后,相确定的权利要求书与好的说明书相比较,仔细检查两者的关系,这一点对初者尤为重要。  e.专利代理人最好有丰富的研发经历,才能在撰写专利权利要求书,将防御性权利要求或进攻性权利要求书等方面...
  • Hexo设置主题以及Next主题个性设置

    千次阅读 2017-09-12 16:26:18
    上篇文章已经在Windows上将个人博客个搭建好了(如果还不知道怎么搭建的,可以戳这里,可是大家有没有发现,搭建的Hexo博客使用的是默认主题,而且不咋好看,跟那些大神们的个人博客相比,还差了很多,不过不要紧,看...
  • 例子:假设你要这么一个主题:现在的职场人,领着勉强够温饱,却买不起房的工资,但是又不敢跳出来,怕没有工资收入就饿死了,工资对于大多数职场人来说,挺尴尬的. 假设要这么一个工资是鸡肋的主题,你会...
  • GitHub+HEXO博客更换主题

    千次阅读 2019-11-29 18:22:22
    前面讲了怎么使用GitHub+HEXO搭建论坛,这里这个论坛如何更换主题。对于如何安装HEXO和部署到GitHub的问题,见我另一篇文章使用GitHub+HEXO免费搭建个人博客(最详细),这里就不详细描述了。文章可能还有很多不足...
  • 搭载好了本地环境,安装好wordpress并测试OK,即使自己是建站方面的“半吊子”但也不能半途而废,我必须得选一个好的主题来装饰我的网站啊,毕竟运营推广再怎么厉害也要产品好。 安装好的wordprss里已经默认有3个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,286
精华内容 38,514
关键字:

怎样写主题