《Mining of Massive Datasets》笔记(一)
数据挖掘基本概念
数据挖掘定义
最广为接受得到定义是,数据挖掘是数据“模型”的发现过程。而“模型”却可以有多种含义。
1)统计建模
统计学家认为数据挖掘就是统计模型的构建过程,而这个统计模型指的就是可见数据所遵从的总体分布。
2)机器学习
有些人将数据挖掘看成是机器学习的同义词。毫无疑问,一些数据挖掘方法中适当使用了机器学习算法。机器学习的实践者将数据当成训练集来训练某类算法,比如贝叶斯网络、支持向量机、决策树、隐马尔科夫模型等。
某些场景下上述的数据利用方式是合理的。机器学习擅长的典型场景是人们对数据中的寻找目标几乎一无所知。比如,我们并不清楚到底是影片的什么因素导致某些观众喜欢或者厌恶该影片。因此,在Netflix竞赛要求设计一个算法来预测观众对影片的评分时,基于已有评分样本的机器学习算法获得了巨大成功
另一方面,当挖掘的目标能够更直接地描述时,机器学习并不成功。一个有趣的例子是,WhizBang实验室曾试图使用机器学习方法在Web上定位人们的简历。但是不管使用什么机器学习算法,最后的效果都比不过人工设计的直接通过典型关键词和短语来查找简历的算法。
3)建模的计算方法
近年来,计算机科学家已将数据挖掘看成一个算法问题。这种情况下,数据模型仅仅就是复杂查询的答案。
数据建模有很多不同的方法。前面我们已经提到,数据可以通过其生成所可能遵从的统计过程构建来建模。而其他的大部分数据建模方法可以描述为下列两种做法之一:
(1)对数据进行简洁的近似汇总描述
(2)从数据中抽取出最突出的特征来代替数据并将剩余内容忽略。
4)数据汇总
一种最有趣的数据汇总形式是pageRank..
另一种重要的数据汇总形式是聚类。
5)特征抽取
典型的基于特征的模型会从数据中寻找某个现象的最极端样例,并使用这些样例来表示数据。熟悉机器学习的一个分支——贝叶斯网络的读者应该会知道,在贝叶斯网络中,可以利用寻找对象间的最强统计依赖来表示所有统计关联,从而表示出对象之间的复杂关系。我们将要介绍大规模数据集下的一些重要的特征抽取类型,它们包括以下两种。
1)频繁项集:该模型适用于多个小规模项集组成的数据。
2)相似项:很多时候,数据往往看上去相当于一系列集合,我们的目标是寻找那些共同元素比例较高的集合对
数据挖掘的统计限制
一类常见的数据挖掘问题涉及在大量数据中发现隐藏的异常事件。本节主要讨论这个问题,并介绍对数据挖掘的过度使用进行警告的邦弗朗尼原理。
1.整体情报预警
2.邦弗朗尼原理
假定人们有一定量的数据并期望从该数据中找到某个特定类型的事件。即使数据完全随机,也可以期望该类型事件会发生。
相关知识
1.词语在文档中的重要性
这种度量给定词语在少数文档中反复出现程度的形式化指标称为TF.IDF(TF指词项频率;IDF是指逆文档频率;TF.IDF表示词项频率乘以逆文档频率)。它通常采用如下方式计算。假定文档集中有N篇文档,fij为词项i在文档j中出现的频率(即次数),于是,词项i在文档j中的词项频率TFij定义为

也就是词项i在文档j中的词项频率fij归一化结果。

于是,词项i在文档j中的得分被定义为TFij×IDFi,具有最高TF.IDF得分的那些词项通常都是刻画文档主题的最佳词项。
2哈希函数
3.索引
4.二级存储器
《Mining of Massive Datasets》笔记(一)的更多相关文章
- python程序设计语言笔记 第一部分 程序设计基础
1.1.1中央处理器(CPU) cpu是计算机的大脑,它从内存中获取指令然后执行这些指令,CPU通常由控制单元和逻辑单元组成. 控制单元用来控制和协调除cpu之外的其他组件的动作. 算数单元用来完成数 ...
- C程序设计语言笔记-第一章
The C Programming language notes 一 基础变量类型.运算符和判断循环 char 字符型 character ...
- 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习
1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...
- MOOC 编译原理笔记(一):编译原理概述以及程序设计语言的定义
编译原理概述 什么是编译程序 编译程序指:把某一种高级语言程序等价地转换成另一张低级语言程序(如汇编语言或机器代码)的程序. 高级语言程序-翻译->机器语言程序-运行->结果. 其中编译程 ...
- 20145213《Java程序设计学习笔记》第六周学习总结
20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后 ...
- javascript高级程序设计阅读笔记(一)
javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 J ...
- 《c++程序设计》笔记
本文是学习谭浩强老师的<c++程序设计>后的笔记. 1.概述 c++是贝尔实验室在c语言的基础上发展而来,与c兼容.用c语言写的程序可以不加修改用于c++.从c++的名字可以看出它是c的超 ...
- 003-scanf函数使用和表达式-C语言笔记
003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...
- 操作系统和程序设计语言的API使用的字符编码分析
1.Java的运行环境中,String是什么编码? 使用java做程序设计语言,字符编码是和jvm相关的,和操作系统无关. java默认的编码是jvm在安装的时候就确定了的,它是根据你的系统的环境确 ...
- 扩展《C程序设计语言》练习2-3程序通用性
最近开始自学C语言,在看K&R的<C程序设计语言>.练习2-3要求写一个函数,将输入的十六进制数字字符串转换成与之等价的整数值,配套答案没有扩展程序的通用性,所以我就稍微改造改造. ...
随机推荐
- win10 VS code 编译运行 C/C++的方法
具体配置过程如下链接: https://zhuanlan.zhihu.com/p/35178331 但中间出了点问题:CTRL+ALT+n 运行后: PS D:\C++> cd "d: ...
- js - 类模拟
JavaScript 中并没有真正的类,但JavaScript 中有 构造函数 和 new 运算符. - 任何JavaScript 函数都可以用做构造函数, - 构造函数必须使用 new 运算符来创建 ...
- .htaccess中的apache rewrite规则写法详解(未完)
转:http://www.cnblogs.com/adforce/archive/2012/11/23/2784664.html http://blog.csdn.net/Long_Xiao_Yun/ ...
- FPGA研发之道(25)-管脚
管脚是FPGA重要的资源之一,FPGA的管脚分别包括,电源管脚,普通I/O,配置管脚,时钟专用输入管脚GCLK等. 本文引用地址:http://www.eepw.com.cn/article/2664 ...
- [转载]linux下svn命令使用大全
原文地址:http://blog.chinaunix.net/uid-22150747-id-189264.html 最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个li ...
- 用VMware 8安装Ubuntu 12.04具体过程(图解)
图解演示环境版本号: 本机系统: WIN7 虚拟机:VMware Workstation 8 (英文版) 安装目标:Ubuntu Desktop 12.04 LTS (请点击这里)先下载好iso镜像 ...
- C++语言基础(7)-inline内联函数
函数调用是有时间和空间开销的.程序在执行一个函数之前需要做一些准备工作,要将实参.局部变量.返回地址以及若干寄存器都压入栈中,然后才能执行函数体中的代码:函数体中的代码执行完毕后还要清理现场,将之前压 ...
- 李洪强iOS开发之OC[006] - 类和对象
- Unity3d 引擎原理详细介绍、Unity3D引擎架构设计 - zhibolife
时间 2014-03-24 11:18:00 博客园-所有随笔区原文 http://www.cnblogs.com/zhibolife/p/3620440.html 体系结构 为了更好地理解游戏的 ...
- 利用ascx输出knockoutjs的模板
项目里面的UI模板在一个页面中有2K多行了.需要增加新的UI样式.问题来了.加上js代码,几乎是变成了不可维护的状态.增加和修改都需要用ctrl+f的方式找到对应的模板,然后进行处理.很容易出错.突然 ...