文章作者:Yx.Ac   文章来源:勇幸|Thinking (http://www.ahathinking.com)   转载请注明,谢谢合作。

---

了解文本挖掘的都知道TF-IDF这个概念,以前也做过一个文本分类的项目,用到TF-IDF,当时也就是照现成的公式用,也没想过它的公式为什么那么定义,只是有一个感观上的理解。

了解信息论的都知道“熵”这个概念,这是个了不得的成就,信息是个很抽象的概念,但信息熵的提出很好地解决了信息的量化问题。

信息熵的用处很多,一个典型的例子就是它在决策树算法中的应用了,我最初接触信息熵和决策树时整理了一点资料(入门看),在这里备份,方便以后查找。

  1. 20090701-Yx.Ac-信息熵
  2. 20090714-Yx.Ac-决策树ID3
  3. 20090714-ID3条件熵的选择推导证明

郁闷的是我现在才知道TF-IDF的定义原来是由信息熵推导而来的,信息熵真是不错,要知道TF-IDF的各种形式常被搜索引擎所应用,它已经深深影响并改变着人们的生活。TF-IDF用在向量空间模型中为文档向量进行权重赋值,那么使用TF-IDF计算的权重有何物理意义呢

经典的TF-IDF定义及含义:

TF(词频):

定义,词项出现次数除以该文档的长度(总词数)。

含义,表示词项在文档中的重要程度

其中,cik表示词项k在文档Di中的出现次数

IDF(反文档频率):

定义,文档总数与出现该词的文档数商的对数值

含义,表示词项在文档集合中的重要程度,词项出现的文档数越多,该词区分度越差,重要性就越低

其中,N表示文档集合中文档数,nk表示出现词项k的文档数

TF-IDF一般是二者的乘积,权重计算意义:表示词项重要性随着它在文档中出现次数增多而增加,但同时随着它在集合中出现次数增多而下降。那么TF-IDF的这个定义是怎么来的呢?

TF-IDF推导如下:

在了解信息量(某个概率事件最小编码长度)和信息熵(平均信息量)相关概念后,我们知道信息熵的公式如下

===由于blog没装公式编辑插件,下面直接从word草稿中截图了===

我们可以看出,在这个平均编码长度中,文档中每个词项都做出了不同的贡献(编码长度即为所含有的信息量),那么对于该文档,每个词项在文档中的重要性都量化为对平均编码长度(文档信息熵)的贡献。

对于每个词Ti来说,它对平均编码长度所作出的贡献为(其实也可以直接理解为该词的信息熵或者该词所含有的信息)

其中,前面一项是文档中该词项的词频(TF),后者为词项的文档频率的倒数的对数,显然,词项出现次数越多(词频高)且罕见的词汇(文档频率低)对平均编码长度大小的贡献越大,这便是经典的TF-IDF,显然,它能够衡量出互联网上传输一个文档时,每个词项对该文档所需的平均编码长度(文档信息)的大小所做的贡献(或者重要程度),所以用TF-IDF来为文档向量中的关键词进行权重计算是合理的,具有意义的

(全文完)

TF-IDF来源及理论推导 熵推导出相关推荐

  1. 搜索引擎:文本分类——TF/IDF算法

    原理 TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类.TFIDF实际上是:TF * IDF,TF ...

  2. 四旋翼姿态解算——梯度下降法理论推导

    转载请注明出处:http://blog.csdn.net/hongbin_xu 或 http://hongbin96.com/ 文章链接:http://blog.csdn.net/hongbin_xu ...

  3. 随笔_从《芳华》影评到TF/IDF算法

     前两天看好多<芳华>的影评说:为什么好人没好报?于是感叹一堆世态炎凉,人性丑陋什么的.我觉得这问题是:为什么中央空调(对谁都温暖)往往不被看好.  先说说TF/IDF算法,这是一种信息处 ...

  4. 【理论推导】扩散模型 Diffusion Model

    VAE 与 多层 VAE 回顾之前的文章 [理论推导]变分自动编码器 Variational AutoEncoder(VAE),有结论 log ⁡ p ( x ) = E z ∼ q ( z ∣ x ...

  5. 文本特征抽取的向量空间模型(VSM)和TF/IDF方法

    文本特征抽取 两组小说,一组是爱情的,另一组是科幻的.我们能否用支持向量机训练一个模型,用来识别小说类型呢? 这个并不容易.因为支持向量机这类机器学习算法只能接受数学里面的向量作为输入.如果用它来做文 ...

  6. tf-idf词向量和bow_使用词袋Bow和TF IDF进行多标签分类

    tf-idf词向量和bow 1.加载数据 (1. Load the data) For this study, we are using Kaggle data for Toxic Comment C ...

  7. MSCKF理论推导与代码解析

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 在SLAM后端中,主要有两种主流方法用于优化:基于滤波的方法和基于非线性的方法.基于滤波的方法主要有M ...

  8. GAN完整理论推导与实现,Perfect!

    本文是机器之心第二个 GitHub 实现项目,上一个 GitHub 实现项目为从头开始构建卷积神经网络.在本文中,我们将从原论文出发,借助 Goodfellow 在 NIPS 2016 的演讲和台大李 ...

  9. UA MATH566 统计理论 推导卡方拟合优度检验

    UA MATH566 统计理论 推导卡方拟合优度检验 卡方拟合优度检验主要是检验categorical data的,假设一共有ddd种category,每一种理论比例为pip_ipi​,满足 ∑i=1 ...

  10. 机器学习入门学习笔记:(2.1)线性回归理论推导

    理论推导   机器学习所针对的问题有两种:一种是回归,一种是分类.回归是解决连续数据的预测问题,而分类是解决离散数据的预测问题.线性回归是一个典型的回归问题.其实我们在中学时期就接触过,叫最小二乘法. ...

最新文章

  1. 导出数据库API接口文档
  2. shell编辑crontab任务
  3. windows服务器的DDOS防御,
  4. SpringBoot/Cloud AOP 统一日志输出
  5. PHP常用的缓存技术汇总
  6. 为何要进行软件维护?维护的种类及目标?
  7. vscode设置go环境
  8. 详解面试手撕过的那些排序算法
  9. 中国中产阶层占全球三成 财富增长动力来自房产
  10. 实战build-react(二)-------引入Ant Design(增加)
  11. h5页面编写注意事项,自己遇到的小问题。
  12. hdoj1299 还是A+B
  13. 国内大厂都在使用哪些移动跨平台框架
  14. 美国企业家宣言(转)
  15. 殇城的伤感心情日志分享:青春容颜,我却一笔流伤
  16. 通过ip地址访问其他电脑的共享文件
  17. 利用高德api实现自定义区域下钻
  18. java学习+JDK下载安装环境配置+IDEA安装下载简单使用
  19. python协同过滤电影推荐_python实现基于用户的协同过滤算法(CF)——以电影评价数据(ml-100k)为例...
  20. CPU内部结构及工作原理

热门文章

  1. Ruby Tip:定义索引操作符
  2. MySQLl数据量不一样,导致走不同的索引
  3. 数据中心安全及应对策略
  4. Java调用Memcache入门
  5. gen_fsm的学习笔记
  6. Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit
  7. 使用基于轮询的SQL数据缓存依赖
  8. 关于ping与tracert网络命令详解
  9. java创建实体 内存_加载Java实体时内存不足
  10. mysql bit 设置默认值_为什么数据库字段需要设置默认值