你必须要了解的大数据潮流下的机器学习及应

栏目: 数据库 · 发布时间: 5年前

内容简介:机器学习是 门人工智能的科学,能通过经验自动改进的计算机算法的研究。机器学习是 个多学科交叉的领域,会涉及到计算机、信息学、数学、统计学、神经科学等。机器学习是大数据的核心技术,本质都是基于经验的算法处理。机器学习强调三个关键词:算法、经验、性能,其处理过程如下图所示。

机器学习是 门人工智能的科学,能通过经验自动改进的计算机算法的研究。

机器学习是 个多学科交叉的领域,会涉及到计算机、信息学、数学、统计学、神经科学等。

机器学习是大数据的核心技术,本质都是基于经验的算法处理。机器学习强调三个关键词:算法、经验、性能,其处理过程如下图所示。

在数据的基础上,通过算法构建出模型并对模型进行评估。评估的性能如果达到要求,就用该模型来测试其他的数据;如果达不到要求,就要调整算法来重新建立模型,再次进行评估。如此循环往复,较终获得满意的经验来处理其他的数据。

机器学习技术和方法已经被成功应用到多个领域,比如今日头条的个性推荐系统,蚂蚁金服的金融反欺诈,讯飞的语音识别,自然语言处理和google的机器翻译,模式识别,智能控制、垃圾邮件等。

机器学习的分类

监督学习

监督是从给定的训练数据集中学习 个模型,再用此模型预测,再将预测结果与实际结果进行比较,不断调整预测模型,直到达到 个预期的准确率。

常见算法包括回归分析和统计分类。监督学习常用作训练神经网络和决策树。他们高度依赖事先确定的分类系统。如垃圾邮件、新闻资讯内容分类。

非监督学习

非监督学习的训练集没有人为标注的结果,学习模型是为了推断出数据的 些内在结构。常见的应用场景包括关联规则的学习以及聚类等。

这类学习型的目标不是让效用函数较大化,而是找到训练数据中的近似点。聚类常常能发现那些与假设匹配的相当好的直观分类,如基于人口统计的聚合个体可能会在 个群体中形成 个富有的聚合和穷的聚合。

半监督学习

介于监督学习与无监督学习间,产要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。学习算法试图对未标识数据进行建模,再对标识的数据进行预测,如图论推理算法或拉普拉斯支持向量机等。

机器学习常用算法

回归算法

较小二乘法、逻辑回归、逐步式回归、多元自适诮回归样条以及要地散点平滑估计。

基于实例的算法

常被称为“赢家通吃”学习。常用来对策问题建立模型,这样的模型常常先选取 批样本数据,然后根据某些近似把新数据与样本数据进行比较。通过这种方式来寻找较佳的匹配。

决策树学习

根据数据的属性采用树状结构建立决策模型,常用来解决分类和回归问题。

贝叶斯学习

主要用来解决分类和回归问题。朴素贝叶斯算法。

聚类、分类算法

聚类和分类是机器学习中两个常用的算法,聚类将数据分开为不同的集合,分类对新数据进行类别预测,下面将就两类算法进行介绍。

(1)什么是聚类

聚类(Clustering)指将数据对象分组成为多个类或者簇(Cluster),它的目标是:在同 个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。

其实,聚类在人们日常生活中是 种常见行为,即所谓的“物以类聚,人以群分”,其核心思想在于分组,人们不断地改进聚类模式来学习如何区分各个事物和人。

(2)什么是分类

数据仓库、数据库或者其他信息库中有许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测即是其中的两种数据分析形式,可以用来抽取能够描述重要数据集合或预测未来数据趋势。

分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction)用于预测数据对象的连续取值。

分类流程:新样本→特征选取→分类→评价

训练流程:训练集→特征选取→训练→分类器

较初,机器学习的分类应用大多都是在这些方法及基于内存基础上所构造的算法。目前,数据挖掘方法都要求具有基于外存以处理大规模数据集合能力,同时具有可扩展能力。

机器学习库Spark MLLib

MLlib是Spark的机器学习(Machine Learning)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。机器学习需要多次迭代,如果使用hadoop计算框架,则每次计算都要进行磁盘读写任务,会导致非常大的I/O和CPU消耗,而Spark是基于内存的计算具有天生的优势。而且其RDD可与Spark SQL、Spark Streaming、GraphX等其他子框架与库无缝地共享数据和操作,如MLlib可以直接使用SparkSQL提供的数据,或可以直接和GraphX图计算进行join操作。

MLlib在 spark 生态系统中的位置

Spark MLlib 架构

从架构图可以看出MLlib主要包含三个部分:

底层基础:包括Spark的运行库、矩阵库和向量库;

算法库:包含广义线性模型、推荐系统、聚类、决策树和评估的算法;

实用程序:包括测试数据的生成、外部数据的读入等功能。

下图是MLlib算法库的核心内容。

MLlib由 些通用的学习算法和 工具 组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。

具体来说,其主要包括以下几方面的内容:

1. 算法工具:常用的学习算法,如分类、回归、聚类和协同过滤;

2. 特征化工具:特征提取、转化、降维,和选择工具;

3. 管道(Pipeline):用于构建、评估和调整机器学习管道的工具;

4. 持久性:保存和加载算法,模型和管道;

5. 实用工具:线性代数,统计,数据处理等工具。

Spark将机器学习算法分成了两个模块:

训练模块:通过训练样本输出模型参数;

预测模块:利用模型参数初始化,预测测试样本,输出预测值。

MLLib中经典算法解析

分类

分类是 种重要的机器学习和数据挖掘技术。分类的目的是根据数据集的特点构造 个分类函数或分类模型(也常常称作分类器),该模型能把未知类别的样本映射到给定类别中的 种技术。

分类的具体规则可描述如下:

给定 组训练数据的集合T(Training set),T的每 条记录包含若干条属性(Features)组成 个特征向量,用矢量 x=(x1,x2,..,xn) 表示。 xi 可以有不同的值域,当 属性的值域为连续域时,该属性为连续属性(Numerical Attribute),否则为离散属性(Discrete Attribute)。用 C=c1,c2,..ck 表示类别属性,即数据集有k个不同的类别。那么,T就隐含了 个从矢量X到类别属性C的映射函数: f(X)?C 。分类的目的就是分析输入数据,通过在训练集中的数据表现出来的特性,为每 个类找到 种准确的描述或者模型,采用该种方法(模型)将隐含函数表示出来。

构造分类模型的过程 般分为训练和测试两个阶段。在构造模型之前,将数据集随机地分为训练数据集和测试数据集。先使用训练数据集来构造分类模型,然后使用测试数据集来评估模型的分类准确率。如果认为模型的准确率可以接受,就可以用该模型对其它数据元组进分类。 般来说,测试阶段的代价远低于训练阶段。

MLlib分类算法分类算法基于不同的思想,算法也不尽相同,例如支持向量机SVM、决策树算法、贝叶斯算法、KNN算法等。Spark.mllib包支持各种分类方法,主要包含 二分类, 多分类和 回归分析。下表列出了每种类型的问题支持的算法。

每个算法具体的内容由于内容过多,因此不在此详细介绍。

分类算法使用场景

1、市民出行选乘公交预测

基于海量公交数据记录,希望挖掘市民在公共交通中的行为模式。以市民出行公交线路选乘预测为方向,期望通过分析广东省部分公交线路的历史公交卡交易数据,挖掘固定人群在公共交通中的行为模式,分析推测乘客的出行习惯和偏好,从而建立模型预测人们在未来 周内将会搭乘哪些公交线路,为广大乘客提供信息对称、安全舒适的出行环境,用数据未来城市智慧出行。

2、基于运营商数据的个人征信评估

运营商作为网络服务供应商,积累了大量的用户基本信息及行为特征数据,如终端数据、套餐消费数据、通信数据等等。实名制政策保证了运营商用户数据能与用户真实身份匹配,并真实客观的反映用户行为。广泛覆盖的网络基础设施提供了积累大量实时数据的条件,这些用户数据实时反馈着用户的各个维度的信息及特征。

在我国,个人征信评估主要通过引用央行个人征信报告,但对于很多用户没有建立个人信用记录的用户,金融机构想要了解他们的信用记录成本又较高,传统征信评估手段难以满足目前多种多样的新兴需求。金融业务不同于其他大数据业务,对数据的真实性、可信度和时效性要求较高,而这正是运营商数据的价值所在。

期望利用运营商用户数据,提供完善的个人征信评估。

3、商品图片分类

京东含有数以百万计的商品图片,“拍照购”“找同款”等应用必须对用户提供的商品图片进行分类。同时,提取商品图像特征,可以提供给推荐、广告等系统,提高推荐/广告的效果。

希望通过对图像数据进行学习,以达到对图像进行分类划分的目的。

4、 广告点击行为预测

用户在上网浏览过程中,可能产生广告曝光或点击行为。对广告点击进行预测,可以指导广告主进行定向广告投放和优化,使广告投入产生较大回报。

希 望基于100万名随机用户在六个月的时间范围内广告曝光和点击日志,包括广告监测点数据,预测每个用户在8天内是否会在各监测点上发生点击行为。

5、基于文本内容的垃圾短信识别

垃圾短信已日益成为困扰运营商和手机用户的难题,严重影响到人们正常生活、侵害到运营商的社会形象以及危害着社会稳定。而不法分子运用科技手段不断更新垃圾短信形式且传播途径非常广泛,传统的基于策略、关键词等过滤的效果有限,很多垃圾短信“逃脱”过滤,继续到达手机终端。

希望基于短信文本内容,结合机器学习算法、大数据分析挖掘来智能地识别垃圾短信及其变种。

6、大数据精准营销中搜狗用户画像挖掘

“物以类聚,人以群分”这句古语不仅揭示了物与人的自组织趋向,更隐含了“聚类”和“人群”之间的内在联系。在现代数字广告投放系统中,以物拟人,以物窥人,才是比任何大数据都要更大的前提。在现代广告投放系统中,多层 成体系的用户画像构建算法是实现精准广告投放的基础技术之 。其中,基于人口属性的广告定向技术是普遍适用于品牌展示广告和精准竞价广告的关键性技术。在搜索竞价广告系统中,用户通过在搜索引擎输入具体的查询词来获取相关信息。因此,用户的历史查询词与用户的基本属性及潜在需求有密切的关系。

希望基于用户历史 个月的查询词与用户的人口属性标签(包括性别、年龄、学历)做为训练数据,通过机器学习、数据挖掘技术构建分类算法来对新增用户的人口属性进行判定。

聚类

聚类是把相似的对象通过静态分类的方法分成不同的组别或更多的子集(subset),同 个子集中的成员都有相似的属性,聚类分析可以看作 种非监督学习的技术。

在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:

(1)K-means

(2)Latent Dirichlet allocation (LDA)

(3)Bisecting k-means(二分k均值算法)

(4)Gaussian Mixture Model (GMM)。

基于RDD API的MLLib中,共有六种聚类方法:

(1)K-means

(2)Gaussian mixture

(3)Power iteration clustering (PIC)

(4)Latent Dirichlet allocation (LDA)**

(5)Bisecting k-means

(6)Streaming k-means

多了Power iteration clustering (PIC)和Streaming k-means两种

常用的是K-means算法。

K均值算法(K-Means)是 种划分聚类方法。算法思路是通过迭代寻找聚类使各个样本与所在类均值的误差平方和达到较小。

KMeans 是 个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即先创建K个划分,然后迭代地将样本从 个划分转移到另 个划分来改善较终聚类的质量。

K-Means聚类算法能轻松地对聚类问题建模。K-Means聚类算法容易理解,并且能在分布式的环境下并行运行。学习K-Means聚类算法,能更容易地理解聚类算法的优缺点,以及其他算法对于特定数据的高效性

K-Means聚类算法中的K是聚类的数目,在算法中会强制要求用户输入。如果将新闻聚类成诸如政治、经济、文化等大类,可以选择10~20的数字作为K。因为这种顶 类别的数量是很小的。如果要对这些新闻详细分类,选择50~100的数字也是没有问题的。K-Means聚类算法主要可以分为三步。

第 步是为待聚类的点寻找随机选取K个样本为初始聚类;

步是计算每个点聚类的距离,将每个点聚类到离该点较近的聚类中去;

第三步是计算聚类中所有点的坐标平均值,并将这个平均值作为新的聚类点。

反复执行步,直到聚类不再进行大范围的移动,或者聚类次数达到要求为止。

聚类算法使用场景

1、基于用户位置信息的商业选址

随着信息技术的快速发展,移动设备和移动互联网已经普及到千家万户。在用户使用移动网络时,会自然的留下用户的位置信息。随着近年来GIS地理信息技术的不断完善普及,结合用户位置和GIS地理信息将带来创新应用。如百度与万达进行合作,通过定位用户的位置,结合万达的商户信息,向用户推送位置营销服务,提升商户效益。

希望通过大量移动设备用户的位置信息,为某连锁餐饮机构提供新店选址。

2、中文地址标准化处理

地址是 个涵盖丰富信息的变量,但长期以来由于中文处理的复杂性、国内中文地址命名的不规范性,使地址中蕴含的丰富信息不能被深度分析挖掘。通过对地址进行标准化的处理,使基于地址的多维度量化挖掘分析成为可能,为不同场景模式下的电子商务应用挖掘提供了更加丰富的方法和手段,因此具有重要的现实意义。

3、非人恶意流量识别

2016年第 季度Facebook发文称,其Atlas DSP平台半年的流量质量测试结果显示,由机器人模拟和黑IP等手段导致的非人恶意流量高达75% . 仅2016上半年,AdMaster反作弊解决方案认定平均每天能有高达 28% 的作弊流量。低质量虚假流量的问题 直存在,这也是过去十年间数字营销行业 直在博弈的问题。基于AdMaster海量监测数据,50%以上的项目均存在作弊嫌疑;不同项目中,作弊流量占广告投放5%到95%不等;其中垂直类和网盟类媒体的作弊流量占比较高;PC端作弊流量比例显著高于移动端和智能电视平台。广告监测行为数据被越来越多地用于建模和做决策,例如绘制用户画像,跨设备识别对应用户等。作弊行为,恶意曝光,网络爬虫,误导点击,甚是在用户完全无感知的情况下被控制访问等产生的不由用户主观发出的行为给数据带来了巨大的噪声,给模型训练造成了很大影响。

希望基于给定的数据,建立 个模型来识别和标记作弊流量,去除数据的噪声,从而更好的使用数据,使得广告主的利益较大化。

协同过滤

协同过滤(Collaborative Filtering,简称CF,WIKI上的定义是:简单来说是利用某个兴趣相投、拥有共同经验之群体的喜好来推荐感兴趣的资讯给使用者,个人透过合作的机制给予资讯相当程度的回应(如评分)并记录下来以达到过滤的目的,进而帮助别人筛选资讯,回应不 定局限于特别感兴趣的,特别不感兴趣资讯的纪录也相当重要。

协同过滤常被应用于推荐系统。这些技术旨在补充用户—商品关联矩阵中所缺失的部分。

MLlib 当前支持基于模型的协同过滤,其中用户和商品通过 小组隐性因子进行表达,并且这些因子也用于预测缺失的元素。MLLib 使用交替较小二乘法(ALS) 来学习这些隐性因子。

用户对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分、用户查看物品的记录、用户的购买记录等。其实这些用户的偏好信息可以分为两类:

显式的用户反馈 :这类是用户在网站上自然浏览或者使用网站以外,显式地提供反馈信息,例如用户对物品的评分或者对物品的评论。

隐式的用户反馈 :这类是用户在使用网站是产生的数据,隐式地反映了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息,等等。

显式的用户反馈能准确地反映用户对物品的真实喜好,但需要用户付出额外的代价;而隐式的用户行为,通过 些分析和处理,也能反映用户的喜好,只是数据不是很精确,有些行为的分析存在较大的噪音。但只要选择正确的行为特征,隐式的用户反馈也能得到很好的效果,只是行为特征的选择可能在不同的应用中有很大的不同,例如在电子商务的网站上,购买行为其实就是 个能很好表现用户喜好的隐式反馈。

推荐引擎根据不同的推荐机制可能用到数据源中的 部分,然后根据这些数据,分析出 定的规则或者直接对用户对其他物品的喜好进行预测计算。这样推荐引擎可以在用户进入时给他推荐他可能感兴趣的物品。

MLlib目前支持基于协同过滤的模型,在这个模型里,用户和产品被 组可以用来预测缺失项目的潜在因子来描述。特别是我们实现交替较小二乘(ALS)算法来学习这些潜在的因子,在 MLlib 中的实现有如下参数:

numBlocks 是用于并行化计算的分块个数(设置为-1时 为自动配置);

rank 是模型中隐性因子的个数;

iterations 是迭代的次数;

lambda 是ALS 的正则化参数;

implicitPrefs 决定了是用显性反馈ALS 的版本还是用隐性反馈数据集的版本;

alpha 是 个针对于隐性反馈 ALS 版本的参数,这个参数决定了偏好行为强度的基准。

协同过滤算法 应用场景

1、电商平台的买了XX的还买了XX,组合搭配套餐、随便看 看功能。

2、今日头条的个性化推荐。

3、豆瓣相同兴趣的小组。

4、电影推荐系统。

5、百度地图基于地理位置的附近的美食

……

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏 多智时代 ,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法的乐趣

算法的乐趣

王晓华 / 人民邮电出版社 / 2015-4 / 79.00元

算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在: 历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法; 音频播放器跳动的实时频谱背后是离散傅立叶变换算法; DOS时代著名的PCX图像文件格式使用的是简单有效的RLE压缩算法; RSA加密算法的光环之下是朴实的欧几里德算法、蒙哥马利算......一起来看看 《算法的乐趣》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具