当前课程知识点:高级大数据系统 >  Machine Learning System >  Mahout >  Video

返回《高级大数据系统》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《高级大数据系统》慕课在线视频列表

Video课程教案、知识点、字幕

我们之前介绍了

这个大数据相关的若干系统

从底层的这种分布式文件系统到

中层的这个大规模的这种数据的

并行处理系统

以及到上层我们说到了这种

大数据的图的数据库

那么最终大家选择

这个不同的大数据系统

实际上它们都是为了

实现一定的这种数据处理的目标

来做特定的这个应用

或者说特定的服务

那么今天我们就会讲一个和应用

离得比较近的这个大数据系统

叫做这种分布式的机器学习系统

那我们来看怎么样

在这个大数据的平台上

能够非常简单有效的

进行一个机器学习的一个算法

那我们今天的这样一个的系统

叫做mahout

mahout也是在这个

hadoop的这样一个

生态环境底下的一个系统

大家通过它的这个标准

实际上也能猜到它和hadoop和hdfs

有非常密切的这样一个关系

那么用mahout实际上

大家可以用比较简单的代码

就能够实现相对比较工业化

比较复杂的一些机器学习的

这样的一些方法

那么mahout今天已经支撑了

不少这个经典的计算机算法

然后可以和底层的mapreduce

底层的这个HDFS

进行有效的结合

那我们今天会介绍它的一些

基本的这种数据的模型

它能支撑的一些算法包含哪些

那么介绍完了之后

我们会给一个这个样例学习

我们通过做一个简单的推荐系统

来告诉大家怎么样使用

类似于mahout

这样的分布式的

这种机器学习的平台

那么mahout实际上它是一个

这个java的这种实现

然后在mahout里面实现了

一系列的这个继续学习的算法

那大家可以想象

实际上当hadoop和这个

HDFS被发明了之后

大家就开始用hadoop

来进行一系列的这种数据挖掘

那么这个过程往后发展

就是说大家需要在hadoop上

去实现一系列的这种学习的算法

因为它们为了完成更加这个复杂

或者是更加抽象的一些

这种数据挖掘的任务

比如说来做预测

来做推荐

那我们来看

在mahout里面

为了集中在一个地方

把这些代码实现出来

以便后面的人可以简单的去使用

它提供了哪一些

这种继续学习的算法

那么从分类上来说

它包含了大概下面的一些

这个继续学习的方法

包含了这个聚类

我怎么样把这个

大规模的数据样本给它

在无监督的这样一个环境下

把它分配到不同的类里面去

然后这种类可能我可以用来

做一些其它的这种操作

比如说我们可以把这个数据样本

根据它们的这种距离

语义的距离

或者是这个操作上的距离

把它们聚到不同的类里面去

然后分类

在聚类里面

我们可能没有

这个数据的样本的一个标签

但在分类里面

我们会给它一个标签

让它完成一个类似于有监督的

这样一个学习的一个过程

我们可以做推荐和预测

根据时间上

用户之前发生的一些行为

比如说用户对物品的一个打分

用户对物品的一个操作

或者说是人和人之间的一个关系

我们来做一个推荐

我们能够发现这个

frequent的这种itemset

那么这也是在mahout

早期的版本被提供出来的

因为当时的这个工程人员认为

这几种类型的算法实际上是

在用hadoop的时候

用户非常容易去使用到的

那么这几种被用作了原形

来提供给大家广泛的去使用

那么基于学习算法

它从本质上来说

实际上支撑了我们今天数据驱动

或者说互联网驱动的

这样一些服务

那么这边给出了一系列的这个

互联网上之前出现过的

这样一些公司

那么他们实际上都很大程度上

依赖于这种大规模的

机器学习的算法

facebook

利用机器学习的方法

进行广告的投放

进行用户关系的推荐

那么foursquare

进行用户这个位置的一个挖掘

twitter进行这种流行趋势的

一个判断、记录

或者说是进行一个推荐

那么这些都和机器学习的算法

联系非常的紧密

那么我们具体来看一下

在不同的这个算法当中

大家这个系统课的同学

需要了解到一个什么样的程度

那么在推荐算法里面

我们的一个目标

从典型的这种意义上来讲

是想把一些物品

一些item

推荐给用户

那么它的一些常用的实现

他们的算法包含哪些呢

首先基于用户的这个协同过滤

我们挖掘出用户和用户之间的

这种相似度

利用这种相似度

把其他用户发生的行为

其他用户的偏好

能够运用到我们要推荐的这个

用户身上

我们可以基于item的这个

协同过滤

把刚刚的过程反过来

我们发现

item和item

由于用户的这种点击用户的评分

发现它们之间的一个关联

oneslope作为一种非常简单的

这种推荐

利用用户和用户之间

评分的这种相似度

来进行这个推荐

对矩阵进行分解

实际上这些都是

在mahout里面我们提供的

从简单的发现用户

item之间的相似度

到能够对矩阵进行

奇异值一个分解

从而发掘出不存在评分的一些

这个用户的销量

和这个item销量

之间的这个关联

那么从简单到复杂

实际上它都提供了一些

解决的思路

那么推荐或者预测也是今天

这种分布式的

这种机器学习的算法

比如说predictionIO

一个初创的这种公司提供的平台

实际上都是他们会去

重点去关心的这个算法的

一个条目

我们刚刚说到了聚类

在聚类里面包含了哪些

我们大家能够立刻想到的这个

k-means或者是k-medio

然后这种LDA

我们也可以把它叫做这种

聚类的一个方案

这个minHash的这样一个clustering

这也是聚类里面会常用到的

那这些算法的一个特点

没有监督 对吧

我们可能并不知道

并不要求用户提供一个

准确的一个分类的标签

但是我们可以得到对数据

可能最初的一个处理的

这样一个结果

分类有了标签

比如说我们要对垃圾邮件

进行一个标签

我们要对这个不同

这种情绪的文字进行一个标签

那么这时候我们会使用到

分类的这样一些方法

包含了这种二职的逻辑的回归

包含了一些贝叶斯方法

甚至是可能一些decission tree

这样的一些方法

实际上都是分类里面包含的

那么这些方法中的重要的一部分

实际上在今天的apache mahout的里面

已经得到了这样一个支持

还有一些其它的算法

比如说这个大家在数据挖掘里面

会接触到的这种计划的算法

那么用来解决

这种不太好通过形式化

能够求解的这样一些问题

比如说一些这种对数据进行降维

那么可能会在我们大数据的

模块里面会用到

用来做数据的这种预处理的

一些模块

比如说PCA

比如说SVD

那么这些都是对数据进行降维

对数据进行这个降维操作的

这样一些比较经典的这个方法

那么在mahout里面

也做了一个支撑

从整体一个框架的这种角度来看

实际上mahout

它把它能够支撑的算法

大概分成了这样几层

那么这上面我们会设计

大数据的服务的应用

和大数据的一些这种

用户体验提升的这种服务

那么这些服务可能会依赖于一些

高级的继续学习的算法

包含了这种

刚刚说到的分类

具类和预测推荐

那这是相对比较高级的算法

当然用户的应用

可能也会直接去使用更加底层的

这种数据挖掘的一些技术

比如说使用一些矩阵化的技术

使用一些这种矩阵的分解

然后数据的降维等等

这些都可以在更低层的

mahout的支撑的库里面

得到一个支持

那么我们后面就会给大家来介绍

怎么样利用mahout提供的

这些库来进行一个

简单的系统的一个实现

那么推荐

高级大数据系统课程列表:

Introduction to Big Data Systems

-What is big data and what is big data system?

--Video

-Problems in big data systems?

--Video

-Overview of the course

--Video

-Principles of big data system design

--Video

Basics of Linux Data Processing

-Manipulating Data on Linux

--Video

--Video

--Video

-Basics of Linux Data Processing--Manipulating Data

-Running Commands on a Single Machine

--Video

-Running Commands on a Single Machine--作业

-Using a Linux Cluster

--Video

-Using a Linux Cluster--作业

Distributed File System

-Storage for Big Data Computing: Distributed file system

--Video

-Storage for Big Data Computing: Distributed file system--作业

-File system and GFS

--Video

-File system and GFS--作业

-Understanding HDFS using Legos

--Video

-Understanding HDFS using Legos--作业

-File System Implementation and DFS

--Video

--Video

-File System Implementation and DFS--作业

MapReduce

-What is MapReduce and why

--Video

-What is MapReduce and why

-Learn MapReduce by playing with cards

--Video

-Processing pattern

--Video

-Processing pattern--作业

-Hadoop

--Video

-Hadoop--作业

-Algorithms in MapReduce

--Video

-Algorithms in MapReduce--作业

-Tutorial

--Video

In-memory Processing

-Background

--Video

-Background--作业

-Spark

--Video

-Spark--作业

-Use Spark for data mining

--Video

-Use Spark for data mining--作业

-Spark data processing

--Video

-Spark data processing--作业

-Experiment in Spark

--Video

-Experiment in Spark--作业

Streaming Data Processing

-Introduction to streaming data processing

--Video

-Introduction to streaming data processing--作业

-Storm

--Video

--Video

--Video

-Storm--作业

-Spark streaming

--Video

--Video

-Spark streaming--作业

NoSQL

-NoSQL introduction

--Video

-NoSQL introduction--作业

-Common Advantages

--Video

-Common Advantages--作业

-Bigtable

--Video

-Bigtable--作业

-Master Startup

--Video

-Master Startup--作业

-HBase

--Video

-HBase--作业

Graph Processing

-What is GraphDB and Graph data processing

--Video

-What is GraphDB and Graph data processing--作业

-Graph systems

--Video

-Graph systems

-Example of a GraphDB

--Video

-Example of a GraphDB--作业

Machine Learning System

-Mahout

--Video

-Mahout--作业

-Case Study: Recommendation

--Video

-Case Study: Recommendatio作业

-Recommendation in Mahout

--Video

-Recommendation in Mahout--作业

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。