读书笔记《集体智慧编程》Chapter 10 : Finding Independent Features

简介:

本文概要

本章主要描述了非负矩阵因式分解Non-Negative Matrix Factorize)在数据挖掘中的作用。举了两个例子:1)文章主题分析(一些关键的词组);2)股票交易量分析(交易量与重大事件的关系)

 

贝叶斯分类的局限

贝叶斯分类时,需要训练数据集,这些数据集是人为划分的,并且不会出现新的分类。如果待处理的数据集的潜在分类很多,而且每一个分类需要一定量的样本才会准确,那么训练的工作量会非常大。所以,贝叶斯分类器适合分类比较少,每个分类样本较多的场景。

 

层级聚类

局限在于不太准确,可能导致一些不同类的样本却在一个聚类中。比如2个相关性并不大的文章A,B,但是由于必须要找出距离最近的文章组成一个新的聚类,而且A,B确实是当前距离最近的文章,那么他们就无赖的被组合到了同一个聚类中。

 

非负矩阵因式分解(NNMF)

矩阵因式分解与整数影视分解形式上比较类似,就是将一个M(m*n)的矩阵分解成M1(m*i)*M2(i*n)的形式。M1的列是新的feature对原有行的贡献,M2的行是通过原有矩阵列组合成的feature。NNMF大致的算法框架如下:

  1. 定义一个函数计算用来两个矩阵的差异程度(每个对应元素相减后平方的和)
  2. 随机生成2个矩阵(m*r维和r*n维)记为A(权重矩阵),B(特征矩阵)
  3. 计算A*B与输入的m*n的数据矩阵的差异,足够小则停止,否则继续
  4. 按一定规则调整A,B的值后转3

NNMF无需训练,可以发现新的分类,对于文章而言发现文章的主题(一系列权重较大的词组)。

具体的NNMF算法,可以参考这篇文章:http://hebb.mit.edu/people/seung/papers/nmfconverge.pdf

声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。
本文转自bourneli博客园博客,原文链接:http://www.cnblogs.com/bourneli/archive/2012/11/26/2789403.html ,如需转载请自行联系原作者
相关文章
|
存储 程序员 C++
《高质量C/C++编程》读书笔记三
《高质量C/C++编程》读书笔记三
60 0
|
前端开发 Java 程序员
《高质量C/C++编程》读书笔记一
《高质量C/C++编程》读书笔记一
50 0
|
存储 人工智能 算法
C++ Primer Plus 第6版 读书笔记(7)第 7 章 函数——C++的编程模块
乐趣在于发现。仔细研究,读者将在函数中找到乐趣。C++自带了一个包含函数的大型库(标准 ANSI 库加上多个 C++类),但真正的编程乐趣在于编写自己的函数;另一方面,要提高编程效率,本章和第 8 章介绍如何定义函数、给函数传递信息以及从函数那里获得信息。
132 0
|
存储 编解码 JSON
Python编程从入门到实践-读书笔记(下)
基础知识重点摘录 字符串 在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。这种灵活性让你能够在字符串中包含引号和撇号:
|
存储 JSON 测试技术
Python编程从入门到实践-读书笔记(上)
基础知识重点摘录 字符串 在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。这种灵活性让你能够在字符串中包含引号和撇号: