可扩展机器学习——概述

注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。

可扩展机器学习系列主要包括以下几个部分:

  • 概述
  • Spark分布式处理
  • 线性回归(linear Regression)
  • 梯度下降(Gradient Descent)
  • 分类——点击率预测(Click-through Rate Prediction)
  • 神经科学

一、Overview

1、处理大规模数据集

对于不断扩大的数据规模主要有两种不同的处理方法:

  • 向上扩展(Scale-up):采用更大规模的机器,如下图所示

优点:对于中等规模的问题速度会很快

缺点:1、特定硬件的价格会比较贵;2、通过升级硬件的方法会达到一个上限。

  • 向外扩展(Scale-out):采用分布式的计算方法,如下图所示

优点:仅利用一些常用的硬件便能解决大规模问题

缺点:1、需要处理网络通信的问题;2、增加了一些软件的复杂度。

2、机器学习

2.1、机器学习的定义

机器学习是一种构建和学习的方法,从数据中学习并通过数据进行预测。

Constructing and studying methods that learn from and make predictions on data.

2.2、机器学习的应用

  • 人脸识别(Face Recognition)
  • 链路预测(Link Prediction)
  • 文本分类(Text Classification)
  • 蛋白质结构预测(Protein Structure Prediction)
  • ……

2.3、机器学习中的术语

在机器学习中有一些专业的术语,常见的如下:

  • 观测数据:主要是用于训练和测试机器学习算法的样本
  • 特征:用于表征观测数据的一些属性
  • 标签:给观测样本标记的数值或者类别
  • 训练和测试数据:用于训练和评估算法的观测样本

2.4、机器学习算法的分类

在各种机器学习算法中,主要可以分为监督学习(Supervised Learning)和非监督学习(Unsupervised Learning)。

  • 监督学习:从带有标签的观测样本学习。监督学习算法通过观测样本学习到从样本到标签之间的映射。根据label是离散的还是连续的,监督学习又可以分为:分类(Classification)和回归(Regression)。
  • 非监督学习:从不带标签的观测样本学习。非监督学习主要是学习数据中隐藏的结构以及隐藏的模式。非监督学习又可以分为:聚类(Clustering)和降维(Dimensionality Reduction)。

2.5、典型的机器学习流程

2.5.1、监督学习的过程

在监督学习中,主要包括获取数据、特征提取、监督学习、评价和预测。过程可见下图:

学习的目的是为了学习到模型用于预测,而评价的目的是为了学习到较好的模型。对于一个具体的分类问题,如垃圾邮件的分类,欺诈检测,人脸识别,链路预测,点击率预估等等。

2.5.2、无监督学习的过程

对于无监督学习,无需通过样本标签训练模型,主要包括获取数据、特征提取和无监督学习过程,具体无监督学习过程如下所示:

2.5.3、垃圾邮件的分类问题

下面是垃圾邮件的分类问题。

  • Obtain Raw Data:获取包括一组带标签的观测样本
  • Feature Extraction:特征提取是指利用一组向量,向量是由实数组成,通常称为属性,去表示观测样本。

对于机器学习算法来说,成功与否通常取决于对观测样本的表示,即如何选择较好的特征表示。

如在垃圾邮件的分类任务中(文本分类),可以使用Bag of Words。简单来讲,Bag of Words是将文本使用一串向量表示,每一个位置上表示的是字典(Vocabulary)中的每个词,若该词在文本中出现,则在该位置上标记为11,否则标记为00。

词袋模型中的向量长度取决于字典的大小。

具体的过程可由下图表示:

  • Supervised Learning:在监督学习阶段是通过训练数据训练一个模型,主要的监督学习算法包括:Logistic回归(Logistic Regression, LR),支持向量机(Support Vector Machine, SVM),决策树(Decision Tree, DT),随机森林(Random Forest, RF)等等。对于大规模的数据集,学习的过程通常需要迭代计算。
  • Evaluation:评价一个分类器是否是一个好的分类器是指该分类器是否能够在未知的数据集上表现得较好,这便称为泛化能力(Generalization ability)。通常,我们将样本分为训练数据集(Training Data Set)和测试数据集(Testing Data Set),训练数据集主要用于训练模型,测试数据集主要用于评价模型的好坏。

在这个过程中,要避免模型的过拟合(overfitting),过拟合是指训练出来的模型较为复杂,能够在训练数据集上表现的很好,这种情况下极容易发生过拟合的情况,一般,我们希望模型要尽可能的简单,这样能够具有更好的泛化能力,复杂的模型与简单的模型如下图所示:

  • Prediction:将训练好的模型应用于新的数据。

2.5.4、分类算法的流程

对于一个具体的分类问题,为了构建一个分类学习算法,首先需要对数据集进行分类,分为训练集合测试集,训练集用于训练分类算法模型,测试集用于测试训练好的分类学习算法的性能,对于训练好的分类算法,我们的最终目的是将该算法应用在具体的任务中,因此对于新的数据集的预测是构建分类算法的根本目的,对于分类算法的具体的流程可由下图表示:

3、度量时间和空间复杂度的大OO标记

参考文献

scalable-machine-learning

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【论文分享】中科院自动化所多媒体计算与图形学团队NIPS 2017论文提出平均Top-K损失函数,专注于解决复杂样本

【导读】损失函数的设计一直是机器学习和模式识别中的核心问题。目前中国科学院自动化研究所和美国纽约州立大学奥尔巴尼分校合作提出了一种新的聚合损失函数,即平均 ? ...

3675
来自专栏机器之心

学界 | FAIR提出用聚类方法结合卷积网络,实现无监督端到端图像分类

预训练的卷积神经网络,或称卷积网络,已经成为大多数计算机视觉应用的基础构建模块 [1,2,3,4]。它们能提取极好的通用特征,用来提高在有限数据上学习的模型的泛...

1691
来自专栏SIGAI学习与实践平台

用一句话总结常用的机器学习算法

浓缩就是精华。想要把书写厚很容易,想要写薄却非常难。现在已经有这么多经典的机器学习算法,如果能抓住它们的核心本质,无论是对于理解还是对于记忆都有很大的帮助,还能...

2089
来自专栏新智元

周志华最新论文挑战深度学习 | 深度森林:探索深度神经网络以外的方法

【新智元导读】西瓜书《机器学习》作者、南京大学周志华日前发表论文,提出了一种基于树的方法,挑战深度学习。在设置可类比的情况下,新方法 gcForest 取得了和...

38211
来自专栏机器学习算法与Python学习

周志华最新论文挑战深度学习 | 深度森林:探索深度神经网络以外的方法

1新智元编译 来源: arXiv 译者:闻菲、刘小芹、张易 《机器学习》作者、南京大学周志华日前发表论文,提出了一种基于树的方法,挑战深度学习。在设置可类...

4115
来自专栏AI科技大本营的专栏

ImageNet时代将终结?何恺明新作:Rethinking ImageNet Pre-training

Google 最新的研究成果 BERT 的热度还没褪去,大家都还在讨论是否 ImageNet 带来的预训练模型之风真的要进入 NLP 领域了。如今,Facebo...

811
来自专栏数据派THU

用这种方法实现无监督端到端图像分类!

FAIR 的研究者提出了一种为卷积网络进行大规模端到端训练的聚类方法。他们证明了用聚类框架获得有用的通用视觉特征是可实现的。

1441
来自专栏AI研习社

如何让训练神经网络不无聊?试试迁移学习和多任务学习

训练深度神经网络是一个乏味的过程。更实际的方法,如重新使用训练好的网络解决其他任务,或针对许多任务使用相同的网络。这篇文章中,我们会讨论两个重要的方法:迁移学习...

1125
来自专栏AI深度学习求索

科普:CNN论文介绍的开篇」神经网络与卷积神经网络

最开始接触这个名词的时候,很长一段时间都将它看做一个高深莫测的神奇工具。竟然和大脑神经都有关系的算法,肯定很厉害!

1213
来自专栏大数据挖掘DT机器学习

一种面向高维数据的集成聚类算法

一种面向高维数据的集成聚类算法 聚类集成已经成为机器学习的研究热点,它对原始数据集的多个聚类结果进行学习和集成,得到一个能较好地反映数据集内在结构的数据划分。...

4797

扫码关注云+社区

领取腾讯云代金券