大数据与机器智能

来自iCenter Wiki
2016年10月12日 (三) 09:062013010324讨论 | 贡献的版本

跳转至: 导航搜索

教学团队

互联网+实验室 iNetLab

陈震 马晓东 章屹松 王蓓蓓 高英

助教:郑文勋 李辰星

协同开发

iCenter-cloud iCenter-cloud

Gitlab GitLab

教学目标

以完成一种以大数据为基础的智能系统的原型开发为目标,在实践中运用大数据智能理论与技术。团队成员学习大数据系统与机器智能的理论知识和专业技能,完成项目团队结构设计和原型开发的实践环节,全面提高学生的技术实践能力。

课程内容

技术本质浅论

课程实践准备

Azure云平台使用

Flask Web服务器搭建

准备virtualenv 安装方法下面两条命令可能会适用mac和linux:
$ sudo easy_install virtualenv
或者更好的:
$ sudo pip install virtualenv  

如果你使用 Ubuntu ,请尝试:

$ sudo apt-get install python-virtualenv

Centos,请尝试:

$ sudo yum install python-virtualenv
安装好virtualenv后,可以创建一个项目文件夹,利用virtualenv命令在其下创建 venv 文件夹:
$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.

现在,只要你想要在某个项目上工作,只要激活相应的环境。在 OS X 和 Linux 下,按如下做:

$ . venv/bin/activate
现在你只需要键入以下的命令来激活你的 virtualenv 中的 Flask:
$ pip install Flask
几秒后,一切就为你准备就绪。(weiwandaixu)

大数据索引

Inverted Index

bitmap index

  1. Chambi, Samy, Daniel Lemire, Owen Kaser, and Robert Godin. "Better bitmap performance with Roaring bitmaps." Software: practice and experience, 2015.
  2. Vallentin, Matthias, Vern Paxson, and Robin Sommer. "VAST: a unified platform for interactive network forensics." 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), 2016.
  3. Vallentin, Matthias. Scalable Network Forensics. Diss. University of California, Berkeley, 2016.

inverted list

  1. Culpepper, J. Shane, and Alistair Moffat. "Efficient set intersection for inverted indexing." ACM Transactions on Information Systems (TOIS), 2010.
  2. Schlegel, Benjamin, Thomas Willhalm, and Wolfgang Lehner. Fast Sorted-Set Intersection using SIMD Instructions, ADMS 2011.
  3. Inoue, Hiroshi, Moriyoshi Ohara, and Kenjiro Taura, Faster Set Intersection with SIMD instructions by Reducing Branch Mispredictions, VLDB 2014.
  4. Kane, Andrew, and Frank Wm Tompa, Skewed Partial Bitvectors for List Intersection, SIGIR 2014.

大数据系统

Hadoop

Spark

机器智能

机器学习

Machine Learning scikit-learn

深度学习

Google TensorFlow Tensorflow


论文报告撰写

Madoko

项目分组

第一组

组长: 姚沛然

组员: 王逸伦 张正彦

第二组

组长:王亦凡

组员:刘梦旸、邱昱田

第三组

组长:李子豪

组员:娄晨耀 张若天 邹逍遥

第四组

组长:石冠亚

组员:宣程 汤鹏 段了了

第五组

组长:杨文聪

组员:梅杰 计昊哲 杨应人

第六组

组长:赵宇璋

组员:孙炜岳 吴一凡

第八组

组长:熊铮

组员:范承泽,秦梓鑫

... ...

论文研读

要求:提交研读论文的PPT(正文部分不超过10页)。

时间:10月14日中午12点之前。

10月19日下午安排每组做一个小报告,每组时间不超过10分钟。


第一组

RUBIK: Efficient Threshold Queries on Massive Time Series, SSDBM 2015.

第二组

SciCSM: Novel Contrast Set Mining over Scientific Datasets Using Bitmap Indices, SSDBM 2015.

第三组

ALACRITY: Analytics-Driven Lossless Data Compression for Rapid In-Situ Indexing, Storing, and Querying, TLDKS X, 2013.

第四组

VSEncoding: Efficient Coding and Fast Decoding of Integer Lists via Dynamic Programming, CIKM 2010.

第五组

Super-Scalar RAM-CPU Cache Compression, ICDE 2006.

第六组

Partitioned Elias-Fano Indexes, SIGIR 2014.

第七组

Fast Set Intersection through Run-Time Bitmap Construction over PForDelta-Compressed Indexes, Euro-Par 2014.

第八组

Optimal Space-time Tradeoffs for Inverted Indexes, WSDM 2015.

课程项目

项目1-大数据

描述

任务:基于位图索引的概念和原理,用C++实现一个位图索引数据库。


检验:完成对一段网流数据的索引建立,查询。在虚拟机上运行成功,得到正确结果。

  网流数据:\\166.111.134.110\team-saturn\网流数据

  代码托管:http://gitlab.icenter.tsinghua.edu.cn

  时间:10月7日中午12点之前(特殊情况,推迟一周)

  组织:以组为单位,要求要看到所有同学的贡献。

作业提交

Group1

Group1

Group2

Group2

Group3

Group3

Group4

Group4

Group5

Group5

Group6

Group6

Group7

Group7

Group8

Group8


项目2-云+端整合

Thrift协议

client端

调用摄像头拍照

调用Thrift接口

server端

接收图片文件

调用服务端程序

参考

Android开发入门

cordova

clarity-mobile

项目3-机器智能

描述

完成一个展示的智能系统

步骤1:设置azure虚拟机;

步骤2:架构flask-web服务;

步骤3:建立AI服务(Google Tensorflow);

步骤4:lucida.ai;

步骤5:智能端开发(移动平台、嵌入式硬件)+thrift协议联调;


作业提交

Group1

Group1

Group2

Group2

Group3

Group3

Group4

Group4

Group5

Group5

Group6

Group6

Group7

Group7

Group8

Group8

致谢

本课程获得微软Azure云计算与机器学习捐赠支持。

参考文献

  1. Hennessy, John L., and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 2011.
  2. Matthew, Neil, and Richard Stones. Beginning linux programming. John Wiley & Sons, 2011.
  3. Stroustrup, Bjarne. The C++ programming language. Pearson Education, 2013.
  4. Weiss, Mark Allen. Data structures and algorithm analysis in Java. Addison-Wesley Longman Publishing Co., Inc., 1998.
  5. Flanagan, David. JavaScript: The definitive guide: Activate your web pages. " O'Reilly Media, Inc.", 2011.
  6. Grinberg, Miguel. Flask Web Development: Developing Web Applications with Python. O'Reilly Media, Inc., 2014.


  1. Yoshua Bengio, Ian Goodfellow, Aaron Courville, Deep Learning, MIT Press, 2016.
  2. Google brain team, TensorFlow: Large-scale machine learning on heterogeneous systems, whitepaper, 2015.
  3. Vijay Agneeswaran, Real-Time Applications with Storm, Spark, and More Hadoop Alternatives, 2014.