TF-IDF和贝叶斯网络

1.TF-IDF

       TF-IDF(term frequency inverse document frequency)是一种将词转换为数值表示的方式。常用的one-hot编码的方式,数据太过于稀疏,如果词表中的词比较多,其占用的空间也很大。以前我们也聊过基于神经网络语言模型的词向量表示方式Word2Vector,比 one-hot使用空间较少;今天我们聊的TF-IDF是一种基于统计学的词向量表示方式。

      TF(term frequency)指得就是一个词在整篇文章中出现的频率。计算方式为词出现的次数/文章中词的总数。

                                                    

       IDF(inverse document frequency)指语料库中的文章总数除以包含该词语的文章总数,此处log底数为10

                                                 

       那么TF-IDF就是两者的乘积了,用它来表示对应的词语;

       下面图一展示的使用二值表示(存在就是1不存在就是0)词语在文本中的分布情况,图二展示了TF-IDF处理的词语表示方式。根据上面的描述我们可以看到这是一种考虑到词频以及词语权重的表示方式。具体计算如下:

       1.统计词表

       2.计算每个词在文本中的频率(词出现的次数/文章中总词数)

       3.计算总文本数除以出现该词语的文本数,再使用以10为底的对数处理。

       4.将第二步的词频和第三步权重相乘,得到词的表示数字

       5.将每一个出现的词计算出来,写为数值形式。没有出现的词记为0

       

         

          总结:上面我们介绍了TF-IDF表示词语的原理及流程。这种表示方式通过计算词语在文中的次数得到词频信息,通过出现该词语的文章在所有文章中的比例得到权重信息,注意这里的权重信息会有Inverse操作(即分子分母颠倒),这样数值的大小就更偏向于那些词频高,并且对应的权重也高(即出现的文章数量少)的词。 比较一下三种表示方式我们会发现:one-hot编码数据稀疏,占用的空间太大(每一个词的长度都和词表相同,并且除该词位置处为1外其它的都为0);二值表示可以大量的节省空间,并且数据也不会很稀疏,但是其无法体现出词和文章之间的关系,以及词语的重要程度;TF-IDF表示计算量比较大,但是其很好的体现出来词频信息 ,以及词语的权重信息。

2.贝叶斯网络

         贝叶斯网络是一种有向无环图(有方向,但是没有回路的图),有向用来表示变量之间的依赖关系。可以理解为基于贝叶斯公式来表示不确定性关系的一种网络结构。其中节点表示各个因素,箭头表示因素之间的依赖关系。使用P(child|parent)来表示它们之间的依赖强度。

    1.head to head:如下图所示,a和b都能推出c,所以a和b都是head。那么不给出c的情况下,a,b之间就是相互独立的。

                                  

    2.tail to tail:  如下图所示,a和b都可以由c推出,所以a,b都为tail。在不给出c的情况下,三者出现概率为:p(a,b,c)=p(c)*p(a|c)*p(b|c),a和b之间的关系无法确定;在给定c的情况下:

                                       P(a,b,c)=P(c)*P(a|c)*P(b|c)\, \, \, \, \, \, (1)   

                                       P(a,b|c) = P(a,b,c)/P(c)\, \, \, \, \, (2)

           将1式带入到2式中可以得到P(a,b|c)=P(a|c)*P(b|c),即a,b是独立的

                                     

              

 

   3.head to tail 下图中a是c的head,b是c的tail。a,b之间的关系我们称之为head to tail。当c未知的时候a,b之间的 关系没有办法确定;当c已知的时候:由下面2式可知,a,b之间是相互独立的。

                             P(a,b,c)=P(a)*P(c|a)*P(b|c) \: \: \: \: \: (1)

                            P(a,b|c) = P(a,b,c)/P(c)=P(a,c)*P(b|c)/P(c)=P(a|c)*P(b|c)\, \, \, \, \, (2)

               

 

              总结:上面我们介绍了贝叶斯网络,基于贝叶斯来建立的一种处理不确定型事件的网络模型。总共有三种形式,第一种形式两个因素都可以推出第三个因素,比如晚起和堵车都可以推出迟到这个事件,我们称之为head to head,在不给定迟到这一个事实的情况下,晚起和堵车之间是相互独立的。第二种形式两个因素都可以有第三个因素推出,比如彩虹和凉爽都可以由下雨得到,在不给定下雨这个事件时,彩虹和凉爽之间的关系无法确定,给定了下雨这个事件之后,他们两个之间就是独立的,都仅依赖于下雨这个事件,我们称之为tail to  tail。第三种形式,是一种链式的结构,由A事件得到中间事件C,再由中间事件C得到B;比如因为晚起所以迟到,因为迟到所以被扣工资。同样在不给定迟到这个事件时,其它两者的关系不确定,给定了之后两者之间独立。这种基于事件依赖关系的假设,比朴素贝叶斯(特征之间相互独立)的假设更复杂一些,但是也更符合现实中的大部分场景。

3.闲言

           我非常想吃东西,不是因为我肚子饿了,而是因为心里痒痒。特别是一边看着自己喜欢的电视剧,我觉得不吃点东西简直就是在虐待自己。所以,我果断的打开了美团,对自己放纵了一次。并不是因为吃东西会胖或是怎样,而是因为我觉得很奇怪。明明刚吃过晚饭,明明一点都不饿,这种感觉怎么会产生的呢?《圣经》中说,人饥饿非因无食,干渴非因无水。当我能够明显的意识到发生在自己身上的事情的时候,我却不能够去控制自己的行为。或者说这是一种习惯使然,可是习惯又是什么呢?那些不好的习惯让我们甘心沦为欲望的奴仆,标榜着自由、号称自由高于生命的我们,难道要一次次的因为软弱无力而屈膝下拜吗?不行,我把零食放在桌子上,眼睛盯着它直勾勾的看,任由各种飘香使我意乱神迷,以此来磨炼自己坚强的意志。那十几分钟过的比一年还慢,我终于忍不住了,告诉自己身体是革命的本钱,你这么虐待自己是不对的,然后把所有的好吃的一扫而光。唉!所以说,还是不要太高估自己的意志力。你立定志向的时候,大脑会给你一千个理由;你放弃的时候,它会给你一万个理由。所以靠着自己还是很难坚强,加油,吃货们!

        

【BIGBANG】 - SOBER (华纳official HD 官方中字版)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tf-idf是一种机器学习中常用的特征提取方法,它可以用来评估一个词在文本中的重要程度。tf-idf表示词频-逆文档频率(term frequency-inverse document frequency)。tf代表词频,指的是某个词在文本中出现的频率。idf代表逆文档频率,指的是词在整个语料库中出现的频率的倒数。通过计算tf和idf的乘积,可以得到一个词的tf-idf值,这个值越大,则表示这个词在文本中越重要。 在NLP中,tf-idf广泛应用于文本分类、信息检索和文本挖掘等任务。它的主要思想是,通过提取关键词的tf-idf值来代表文本的特征,然后使用这些特征训练分类器或进行文本检索。tf-idf能够帮助我们识别并区分不同文本中的重要词汇,从而提高分类和检索的准确性。 朴素贝叶斯分类算法则是一种基于贝叶斯定理和特征条件独立性假设的分类算法。它假设每个特征之间相互独立,并通过先验概率和条件概率来计算后验概率。朴素贝叶斯算法在文档分类和垃圾邮件过滤等领域有广泛应用。 在文本分类任务中,可以结合tf-idf和朴素贝叶斯算法来进行文本分类。首先,使用tf-idf提取文本的特征向量,然后使用这些特征向量训练朴素贝叶斯分类器。在实际应用中,可以使用混淆矩阵等评估指标来评估分类器的性能。 总结起来,tf-idf是一种用于提取文本特征的方法,而朴素贝叶斯是一种基于贝叶斯定理和特征条件独立性假设的分类算法。它们可以结合使用来进行文本分类任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值