原先我对于数据挖掘只停留在了爬虫获取数据,使用工具对数据进行清洗,然后整理汇总出需要的信息的这个层次。看完这本书之后才发现了之前使用爬虫得到数据只能叫做数据获取,真正的数据挖掘远远复杂,在数据挖掘中有着那么多的magic的算法,其中每个单元的知识都需要一本书去好好学习,这里只是简单的介绍下,其中对于上TB数据的处理,在使用了这些算法之后不单单能够得到自己需要的数据因素,还可以做机器学习更深一层的应用,简直厉害的不像话。这本书是阿里巴巴高级工程师多年经验结晶,通过实际数据挖掘项目经验,深入浅出阐明数据挖掘的本质,以案例驱动为导向,结合理论分析,内容涵盖数据挖掘领域的所有关键技术,包括基础知识、聚类、分类、回归与应用。如果以后进入到大数据这个行业,其中的知识都是必不可缺少的,这里简单的记录其中的终点知识,就当是索引,等以后回头深入的学习补充。
一:简介
- 数据挖掘主要可以分为三类:聚类、分类、回归
- Pig SQL脚本语言,生成自定义函数
- MATLAB语言 分为主接指令交互和M文件的编程方式
- WEKA 机器学习软件 -> Rapodminer
- R语言的学习方法
二:数学基础
- 主要需要的数学知识有:概率统计、矩阵理论、相似度计算、线性代数(最小二乘法)
三:数据处理技术
- 索引技术包括:数据库索引和文本索引(倒排索引)
- 外排序、MapReduce技术、hash技术(Bloom filter)
四:聚类
- 聚类与分类的不同在于具有数据特征的选取和提取的过程
> -K均值聚类、K-medoids聚类(划分聚类)
> -BIRCH (层次聚类)
- 离群点挖掘技术:统计、邻近度、密度、聚类、高维数据
五:分类
- 决策树:求取净现值的期望值大于等于零的概率(采样&分裂)
- 信息熵、信息增益
- ID3算法、C4.5算法
- K近邻分类(基于实例的学习)
- K近邻算法 — 通过加权重或者近点合并客服数据不对称)
- K-D树 — 主要应对于K近邻索引->多维空间搜索(范围、最近邻)
支持向量机:实现间隔最大化已得到最优分类,等同求解一个凸二次规划的最优化算法
- 局限:大规模样本训练、多分类问题
- 最优决策边界的选取
核函数:将低维不可分数据转化为高维可分 \ upsigma
多项式核:K(xi, xj) = (xi , xj+1)^d
高斯核: K (xi, xj) = exp (- (xi - xj)^2/ 2 σ σ ^2)
贝叶斯学习:使用概率来表示形式的不确定性实现归纳推理
- 公式:P(A|B) = P(B|A)P(A) / P(B)
- 朴素贝叶斯分类器(局限:类条件属性之间相关性很大)
- 贝叶斯信念网络:通过用图形来捕获模型
人工神经网络:通过不断修复各种神经元之间互联的权值
- 激励函数:Sigmoid型函数(S形函数)->逻辑回归系统
- BP神经网络算法:w = w+ △w = w - α( δ δ E/ δ δ W) = w - α δ δ iai(通过迭代使裙纸不再调整)
- 遗传算法
六:回归
- 卡尔曼算法 -> 贝叶斯学习在线性回归系统的一种应用(单层神经网络)
- 卡尔曼滤波 -> 最小方差准则
推荐系统
- 基于协同过滤的推荐(计算相似度)
- 基于内容的推荐
- 潜在因子算法
Netflix的推荐算法
OCR 模式识别