大数据挖掘简介
大数据挖掘涉及如下的课程:机器学习,统计学,人工智能,数据库等,但是更多的注重如下的特性:
1)可扩展性(Scalability)(大数据)
2)算法和架构
3)自动的处理大数据
我们需要学习挖掘不同类型的数据:
1)高维的数据
2)图数据
3)无限的(infinite/never-ending)数据
4)贴有标签的数据
同时我们还要学习不同的计算模型:
1)MapReduce算法
2)流和在线(Streams and Online)算法
3)Single machine in-memory
然后,还要学习解决现实中的问题,像:
1)推荐系统
2)关联规则
3)链接分析
4)重复检测
等等。
还要学习各种“工具",像:
1)线性代数(SVD,推荐系统等)
2)优化(随机梯度下降)
3)动态规划(频繁项集)
4)Hashing(LSH,Bloom filters)
以上所有的内容可以通过如下的图关联在一起来展示,如下:
在学习大数据挖掘之前,需要有如下的预备知识:
1)算法方面的知识(CS161)——动态规划,基本的数据结构等
2)基本的概率论方面的知识(CS109)——矩(Moments),典型的分布,最大似然估计(MLE)等
3)编程方面的知识(CS107)——C++或Java将非常有用
内容来自于:http://www.stanford.edu/class/cs246/slides/01-mapreduce.pdf