什么是机器学习?有哪些算法和分类?又有哪些应用?看完你就懂了

[复制链接]
qiu539790999 发表于 2019-4-13 01:51:24 | 显示全部楼层 |阅读模式
来源:https://www.toutiao.com/group/6677824051907396108/
若内容不全,可点击上述链接查看来源网页,在网页中点击红色双层向下的箭头阅读全文


导读:本文从大数据的概念讲起,主要介绍机器学习的基础概念,以及机器学习的发展过程,用一个形象的例子讲解大数据生态中的机器学习,并按照传统机器学习(包括分类、聚类、回归、关联规则、协同过滤、数据降维等)、深度学习,以及其他机器学习(迁移学习、主动学习、演化学习)进行算法讲解。

接着按照学习形式将机器学习划分为监督学习、无监督学习、半监督学习、强化学习进行分类说明,最后概要介绍机器学习综合应用场景。

本文只是一个开始,以期使读者对大数据机器学习的应用情况有一个全貌概览。

作者:马海平于俊吕昕向海

如需转载请联系华章科技

01机器学习概述

随着大数据的发展,机器学习进入了最美好的时代,通过“涟漪效应”逐步迭代,大数据推动机器学习真正实现落地。

接下来,我们从大数据讲起,扩展到机器学习的发展和大数据生态。

1.理解大数据

数据源越多越精确,越能无限逼近事实和真相,越能获得更深邃的智慧和洞察,这就是大数据的价值。

“大数据(BigData,BD)”的概念早已有之,1980年著名未来学家阿尔文·托夫勒在《第三次浪潮》一书中,将大数据热情地赞颂为“第三次浪潮的华彩乐章”。

近几年,“大数据”和“物联网”“云计算”“人工智能”一道成为信息技术行业的流行词汇,理清楚它们的关系是理解大数据的前提,但是和大数据概念一样,每个人都有自己的理解。

徐宗本院士在“再论大数据—在人工智能的浪潮下对大数据的再认识”报告中提出大数据与其他信息技术的关系:物联网是“交互方式”,云计算是“基础设施”,人工智能是“场景应用”,大数据是“交互内容”。大数据使用物联网交互方式、存储在云计算基础设施、支持人工智能场景应用,生成完整的价值链。

陈国良院士在“大数据与高性能计算”报告中提出了物联网(IoT)、大数据(BD)、云计算(CC)生态链,如图1-2所示。

▲图1-2物联网、云计算、大数据生态链

①IoT通过采集与捕获产生了BD;②BD为CC找到了更多的实际应用;③CC为BD提供了弹性可扩展的存储和并行处理;④BD为IoT产生了大价值,云计算与高性能计算是一对在出生时被分开的兄弟,两者相结合得到的高性能云计算能产生更大的价值。

总之,大数据的存储、处理需要云计算基础设施的支撑,云计算需要海量数据的处理能力证明自身的价值;人工智能技术的进步离不开云计算能力的不断增长,云计算让人工智能服务无处不在、触手可及;大数据的价值发现需要高效的人工智能方法,人工智能的自我学习需要海量数据的输入。

随着大数据和人工智能的深度融合,高度数据化的AI(人工智能)和高度智能化的DT(大数据技术)并存将是时代新常态。

2.机器学习发展过程

机器学习(MachineLearning,ML)是人工智能的核心,涉及统计学、系统辨识、逼近理论、神经网络、优化理论、计算机科学、脑科学等诸多领域,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构从而不断改善自身的性能。

相对于传统机器学习利用经验改善系统自身的性能,现在的机器学习更多是利用数据改善系统自身的性能。基于数据的机器学习是现代智能技术中的重要方法之一,它从观测数据(样本)出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。

机器学习的发展过程分为三个阶段。

  • 第一阶段,逻辑推理期(1956年—1960年),以自动定理证明系统为代表,如西蒙与纽厄尔的LogicTheorist系统,但是逻辑推理存在局限性。
  • 第二阶段,知识期(1970年—1980年),以专家系统为代表,如费根·鲍姆等人的DENDRAL系统,存在要总结出知识、很难“教”给系统的问题。
  • 第三阶段,学习期(1990年至今),机器学习是作为“突破知识工程瓶颈”之利器出现的。在20世纪90年代中后期,人类发现自己淹没在数据的海洋中,机器学习也从利用经验改善性能转变为利用数据改善性能。这阶段,人们对机器学习的需求也日益迫切。

典型的机器学习过程是以算法、数据的形式,利用已知数据标注未知数据的过程。如图1-3所示,首先需要将数据分为训练集和样本集(训练集的类别标记已知),通过选择合适的机器学习算法,将训练数据训练成模型,通过模型对新样本集进行类别标记。

▲图1-3典型的机器学习过程

使用机器学习解决实际问题需要具体问题具体分析,根据场景进行算法设计。

3.大数据生态环境

在大数据生态环境中,包括数据采集、数据存储、数据预处理、特征处理、模型构建、数据可视化等,通过分类、聚类、回归、协同过滤、关联规则等机器学习方法,深入挖掘数据价值,并实现数据生态的良性循环。

如同海量数据存储在云计算设备中,水存储在江河湖海之中;数据采集可以理解为从各种渠道聚集水进入江河湖海;数据预处理可以理解为水之蒸发、过滤、提取形成天上云的过程;云进行特征的自我变化和重组,最终形成可以转变的状态;基于机器学习的模型构建,即可以理解为不同天气状况下的云转变成雨水、雪花、冰雹、寒霜、雾气的变化过程。

水存储在江河湖海中,经过蒸发、过滤、提取形成云,云自我变化、重组,而在不同天气下转变成雨水、雪花、冰雹、寒霜、雾气过程的可视化观察,可以理解为人对自然把握和发现的过程。

数据流转生态如图1-4所示。

▲图1-4数据流转生态

  • 可以简单抽象一下,云转换成雨水、雪花、冰雹、寒霜、雾气的过程就是分类的过程,云按照任何一种变化(如雨水)汇集的过程就是聚类的过程。
  • 根据历史雨水的情况,预测即将降雨的情况就是回归过程。
  • 在某种气候条件下,雨水和雪花会并存,产生“雨夹雪”的天气情况,这就是关联过程。
  • 根据对雨水、雪花、冰雹、寒霜、雾气的喜好程度,选择观察自己喜好的天气,就是协同过滤的过程。
  • 导致天气变化的因素很多(很多和雾霾有关),处理起来有难度,在不丧失主要特征的情况,去掉部分特征,这个过程就是特征降维的过程。

通过模拟人类大脑的神经连接结构,将各种和雾霾相关的天气特征转换到具有语义特征的新特征空间,自动学习得到层次化的特征表示,从而提高雾霾的预报性能,这就是深度学习过程。

02机器学习算法

根据学习方法不同可以将机器学习分为传统机器学习、深度学习、其他机器学习。参考Kaggle机器学习大调查,数据科学中更常见的还是传统经典的机器学习算法,简单的线性与非线性分类器是数据科学中最常见的算法,功能强大的集成方法也十分受欢迎。

最常用的数据科学方法是逻辑回归,而国家安全领域则更为频繁使用神经网络。总的来说,目前神经网络模型的使用频率要高于支持向量机,这可能是因为近来多层感知机要比使用带核函数的SVM有更加广泛的表现。

1.传统机器学习

传统机器学习从一些观测(训练)样本出发,试图发现不能通过原理分析获得的规律,实现对未来数据行为或趋势的准确预测。

传统机器学习平衡了学习结果的有效性与学习模型的可解释性,为解决有限样本的学习问题提供了一种框架,主要用于有限样本情况下的模式分类、回归分析、概率密度估计等。

传统机器学习方法的重要理论基础之一是统计学,在自然语言处理、语音识别、图像识别、信息检索和生物信息等许多计算机领域获得了广泛应用。

相关算法包括逻辑回归、隐马尔可夫方法、支持向量机方法、K近邻方法、三层人工神经网络方法、Adaboost算法、贝叶斯方法以及决策树方法等。

(1)分类方法

分类方法是机器学习领域使用最广泛的技术之一。分类是依据历史数据形成刻画事物特征的类标识,进而预测未来数据的归类情况。目的是学会一个分类函数或分类模型(也称作分类器),该模型能把数据集中的事物映射到给定类别中的某一个类。

在分类模型中,我们期望根据一组特征来判断类别,这些特征代表了物体、事件或上下文相关的属性。

(2)聚类方法

聚类是指将物理或抽象的集合分组成为由类似的对象组成的多个类的过程。由聚类生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。在许多应用中,一个簇中的数据对象可作为一个整体来对待。

在机器学习中,聚类是一种无监督的学习,在事先不知道数据分类的情况下,根据数据之间的相似程度进行划分,目的是使同类别的数据对象之间的差别尽量小,不同类别的数据对象之间的差别尽量大。

通常使用KMeans进行聚类,聚类算法LDA是一个在文本建模中很著名的模型,类似于SVD、PLSA等模型,可以用于浅层语义分析,在文本语义分析中是一个很有用的模型。

(3)回归方法

回归是根据已有数值(行为)预测未知数值(行为)的过程,与分类模式分析不同,预测分析更侧重于“量化”。一般认为,使用分类方法预测分类标号(或离散值),使用回归方法预测连续或有序值。如用户对这个电影的评分是多少?用户明天使用某个产品(手机)的概率有多大?

常见的预测模型基于输入的用户信息,通过模型的训练学习,找出数据的规律和趋势,以确定未来目标数据的预测值。

(4)关联规则

关联规则是指发现数据中大量项集之间有趣的关联或相关联系。挖掘关联规则的步骤包括:①找出所有频繁项集,这些项集出现的频繁性至少和预定义的最小支持计数一样;②由频繁项集产生强关联规则,这些规则必须满足最小支持度和最小置信度。

随着大量数据不停地收集和存储,许多业界人士对从数据集中挖掘关联规则越来越感兴趣。从大量商务事务记录中发现有趣的关联关系,可以帮助制定许多商务决策。

通过关联分析发现经常出现的事物、行为、现象,挖掘场景(时间、地点、用户性别等)与用户使用业务的关联关系,从而实现因时、因地、因人的个性化推送。

(5)协同过滤

随着互联网上的内容逐渐增多,人们每天接收的信息远远超出人类的信息处理能力,信息过载日益严重,因此信息过滤系统应运而生。信息过滤系统基于关键词,过滤掉用户不想看的内容,只给用户展示感兴趣的内容,大大地减少了用户筛选信息的成本。

协同过滤起源于信息过滤,与信息过滤不同,协同过滤分析用户的兴趣并构建用户兴趣模型,在用户群中找到指定用户的相似兴趣用户,综合这些相似用户对某一信息的评价,系统预测该指定用户对此信息的喜好程度,再根据用户的喜好程度给用户展示内容。

(6)特征降维

特征降维自20世纪70年代以来获得了广泛的研究,尤其是近几年以来,在文本分析、图像检索、消费者关系管理等应用中,数据的实例数目和特征数据都急剧增加,这种数据的海量性使得大量机器学习算法在可测量性和学习性能方面产生严重问题。

例如,具有成百上千特征的高维数据集,会包含大量的无关信息和冗余信息,这些信息可能极大地降低学习算法的性能。因此,当面临高维数据时,特征降维对于机器学习任务显得十分重要。

特征降维从初始高维特征集中选出低维特征集合,以便根据一定的评估准则最优化、缩小特征空间的过程,通常作为机器学习的预处理步骤。大量研究实践证明,特征降维能有效地消除无关和冗余特征,提高挖掘任务的效率,改善预测精确性等学习性能,增强学习结果的易理解性。

2.深度学习

深度学习又称为深度神经网络(指层数超过3层的神经网络),是建立深层结构模型的学习方法。深度学习作为机器学习研究中的一个新兴领域,由Hinton等人于2006年提出。深度学习源于多层神经网络,其实质是给出了一种将特征表示和学习合二为一的方式。

深度学习的特点是放弃了可解释性,单纯追求学习的有效性。经过多年的摸索尝试和研究,已经产生了诸多深度神经网络的模型,包括深度置信网络、卷积神经网络、受限玻尔兹曼机和循环神经网络等。其中卷积神经网络、循环神经网络是两类典型的模型。

卷积神经网络常应用于空间性分布数据;循环神经网络在神经网络中引入了记忆和反馈,常应用于时间性分布数据。

深度学习框架一般包含主流的神经网络算法模型,提供稳定的深度学习API,支持训练模型在服务器和GPU、TPU间的分布式学习,部分框架还具备在包括移动设备、云平台在内的多种平台上运行的移植能力,从而为深度学习算法带来了前所未有的运行速度和实用性。

目前主流的开源算法框架有TensorFlow、Caffe/Caffe2、CNTK、MXNet、PaddlePaddle、Torch/PyTorch、Theano等。

深度学习是机器学习研究中的一个分支领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、声音和文本。从技术上来看,深度学习就是“很多层”的神经网络,神经网络实质上是多层函数嵌套形成的数据模型。

伴随着云计算、大数据时代的到来,计算能力的大幅提升,深度学习模型在计算机视觉、自然语言处理、语音识别等众多领域都取得了较大的成功。

3.其他机器学习

此外,机器学习的常见算法还包括迁移学习、主动学习和演化学习等。

(1)迁移学习

迁移学习是指当在某些领域无法取得足够多的数据进行模型训练时,利用另一领域的数据获得的关系进行学习。迁移学习可以把已训练好的模型参数迁移到新的模型,指导新模型训练,更有效地学习底层规则、减少数据量。

目前的迁移学习技术主要在变量有限的小规模应用中使用,如基于传感器网络的定位、文字分类和图像分类等。未来迁移学习将被广泛应用于解决更有挑战性的问题,如视频分类、社交网络分析、逻辑推理等。

(2)主动学习

主动学习通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精度。主动学习能够选择性地获取知识,通过较少的训练样本获得高性能的模型,最常用的策略是通过不确定性准则和差异性准则选取有效的样本。

(3)演化学习

演化学习基于演化算法提供的优化工具设计机器学习算法,针对机器学习任务中存在大量的复杂优化问题,应用于分类、聚类、规则发现、特征选择等机器学习与数据挖掘问题。

演化算法通常维护一个解的集合,并通过启发式算子来从现有的解产生新解,并通过挑选更好的解进入下一次循环,不断提高解的质量。演化算法包括粒子群优化算法、多目标演化算法等。

03机器学习分类

机器学习按照学习形式进行分类,可分为监督学习、无监督学习、半监督学习、强化学习等。区别在于,监督学习需要提供标注的样本集,无监督学习不需要提供标注的样本集,半监督学习需要提供少量标注的样本,而强化学习需要反馈机制。

1.监督学习

监督学习是利用已标记的有限训练数据集,通过某种学习策略/方法建立一个模型,实现对新数据/实例的标记(分类)/映射。监督学习要求训练样本的分类标签已知,分类标签的精确度越高,样本越具有代表性,学习模型的准确度越高。监督学习在自然语言处理、信息检索、文本挖掘、手写体辨识、垃圾邮件侦测等领域获得了广泛应用。

监督学习的输入是标注分类标签的样本集,通俗地说,就是给定了一组标准答案。监督学习从这样给定了分类标签的样本集中学习出一个函数,当新的数据到来时,就可以根据这个函数预测新数据的分类标签。监督学习过程如图1-5所示。

▲图1-5监督学习流程图

在监督学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对反垃圾邮件系统中的“垃圾邮件”“非垃圾邮件”分类等。

在建立预测模型的时候,监督学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断调整预测模型,直到模型的预测结果达到一个预期的准确率。

最典型的监督学习算法包括回归和分类等。

2.无监督学习

无监督学习是利用无标记的有限数据描述隐藏在未标记数据中的结构/规律。无监督学习不需要训练样本和人工标注数据,便于压缩数据存储、减少计算量、提升算法速度,还可以避免正负样本偏移引起的分类错误问题,主要用于经济预测、异常检测、数据挖掘、图像处理、模式识别等领域,例如组织大型计算机集群、社交网络分析、市场分割、天文数据分析等。

无监督学习与监督学习相比,样本集中没有预先标注好的分类标签,即没有预先给定的标准答案。它没有告诉计算机怎么做,而是让计算机自己去学习如何对数据进行分类,然后对那些正确分类行为采取某种形式的激励。

在无监督学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法、KMeans算法、随机森林(randomforest)、主成分分析(principalcomponentanalysis)等。

3.半监督学习

半监督学习介于监督学习与无监督学习之间,其主要解决的问题是利用少量的标注样本和大量的未标注样本进行训练和分类,从而达到减少标注代价、提高学习能力的目的。

在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是该模型首先需要学习数据的内在结构以便合理地组织数据进行预测。

应用场景包括分类和回归,算法包括一些对常用监督学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理(graphinference)算法或者拉普拉斯支持向量机(LaplacianSVM)等。

4.强化学习

强化学习是智能系统从环境到行为映射的学习,以使强化信号函数值最大。由于外部环境提供的信息很少,强化学习系统必须靠自身的经历进行学习。

强化学习的目标是学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境的最大奖赏,使得外部环境对学习系统在某种意义下的评价为最佳。其在机器人控制、无人驾驶、下棋、工业控制等领域获得成功应用。

在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式。在强化学习下,输入数据直接反馈到模型,模型必须对此立刻做出调整。常见的应用场景包括动态系统以及机器人控制等。

常见算法包括Q-Learning以及时间差学习(temporaldifferencelearning)。

04机器学习综合应用

机器学习已经“无处不在”,应用遍及人工智能的各个领域,包括数据挖掘、计算机视觉、自然语言处理、语音和手写识别、生物特征识别、搜索引擎、医学诊断、信用卡欺诈检测、证券市场分析、汽车自动驾驶、军事决策等。

下面我们从异常检测、用户画像、广告点击率预估、企业征信大数据应用、智慧交通大数据应用等方面介绍大数据的综合应用。

1.异常检测

异常是指某个数据对象由于测量、收集或自然变异等原因变得不同于正常的数据对象的场景,找出异常的过程,称为异常检测。根据异常的特征,可以将异常分为以下三类:点异常、上下文异常、集合异常。

异常检测的训练样本都是非异常样本,假设这些样本的特征服从高斯分布,在此基础上估计出一个概率模型,用该模型估计待测样本属于非异常样本的可能性。异常检测步骤包括数据准备、数据分组、异常评估、异常输出等步骤。

2.用户画像

用户画像的核心工作就是给用户打标签,标签通常是人为规定的高度精炼的特征标识,如年龄、性别、地域、兴趣等。由这些标签集合能抽象出一个用户的信息全貌,每个标签分别描述了该用户的一个维度,各个维度相互联系,共同构成对用户的整体描述。

在产品的运营和优化中,根据用户画像能够深入理解用户需求,从而设计出更适合用户的产品,提升用户体验。

使用某新闻App用户行为数据构建用户画像的流程和一些常用的标签体系实践,详见干货请收好:终于有人把用户画像的流程、方法讲明白了。

3.广告点击率预估

互联网广告是互联网公司主要的盈利手段,互联网广告交易的双方是广告主和媒体。为自己的产品投放广告并为广告付费;媒体是有流量的公司,如各大门户网站、各种论坛,它们提供广告的展示平台,并收取广告费。

广告点击率(ClickThroughRate,CTR)是指广告的点击到达率,即广告的实际点击次数除以广告的展现量。在实际应用中,我们从广告的海量历史展现点击日志中提取训练样本,构建特征并训练CTR模型,评估各方面因素对点击率的影响。

当有新的广告位请求到达时,就可以用训练好的模型,根据广告交易平台传过来的相关特征预估这次展示中各个广告的点击概率,结合广告出价计算得到的广告点击收益,从而选出收益最高的广告向广告交易平台出价。

4.企业征信大数据应用

征信是指为信用活动提供信用信息服务,通过依法采集、整理、保存、加工企业、事业单位等组织的信用信息和个人的信用信息,并提供给信息使用者。征信是由征信机构、信息提供方、信息使用方、信息主体四部分组成,综合起来,形成了一个整体的征信行业的产业链。

征信机构向信息提供方采集征信相关数据,信息使用方获得信息主体的授权以后,可以向征信机构索取该信息主体的征信数据,从征信机构获得征信产品,针对企业来说,是由该企业的各种维度数据构成的征信报告。

5.智慧交通大数据应用

智慧交通大数据应用是以物联网、云计算、大数据等新一代信息技术,结合人工智能、机器学习、数据挖掘、交通科学等理论与工具,建立起的一套交通运输领域全面感知、深度融合、主动服务、科学决策的动态实时信息服务体系。

基于人工智能和大数据技术的叠加效应,结合交通行业的专家知识库建立交通数据模型,解决城市交通问题,是交通大数据应用的首要任务。

交通大数据模型主要分为城市人群时空图谱、交通运行状况感知与分析、交通专项数字化运营和监管、交通安全分析与预警等几大类。

本文摘编自《Spark机器学习进阶实战》,经出版方授权发布。

延伸阅读《Spark机器学习进阶实战》

推荐语:科大讯飞大数据专家撰写,从基础到应用,面面俱到。