机器学习(Machine-Learning)----概述

“十年前,计算机几乎是又聋又瞎,现在,
它们大致在人类技能的层面上能看到和听
到我们的声音,在某些情况下,能做到更好。”     -------Tom Mitchell
                       

一、什么是机器学习

  什么是机器学习?相信谈到这个词语的时候,你已经想到了诸多异彩纷呈的景象,比如无人驾驶汽车安全的行驶在繁华的街道、智能机器人打扫着房间、各类手机上的面部识别系统,同时还有2016年令人难忘的“人机大战”。没错,这些就是机器学习技术的产物,而它们已经充斥在我们生活的许多角落,服务着人类。如果非要给它设置一个定义的话,我觉得引入机器学习大师Tom Mitchell从技术方面给出的定义再合适不过了。“给定任务T、相关的经验E以及关于学习效率的度量P,机器学习就是通过对经验E的学习来优化任务T完成效果的度量P的一个过程。”通俗地讲,机器学习是智能体通过模拟或实现人类的学习行为来获取新的知识或技能,重新组织已有的知识结构,以不断改善自身智能。

  硬生的概念总是让人容易遗忘,下面我们通过两个例子来具体阐述这个概念。在一个无人驾驶汽车系统中,机器学习的任务就是根据路况来选择驾驶模式。例如,遇到路灯的时候,它能识别出红灯停、绿灯行,或是遇见行人应当避让等等。学习效果的度量可以是事故的发生概率。经验就是大量的人类驾驶数据。一般来说,训练一个无人驾驶汽车系统需要上百万公里且包含各种路况的驾驶数据。机器学习算法能从这些数据中,提取出各种路况下人们正确驾驶汽车的方式。然后,在无人驾驶的情况下,根据学习到的正确驾驶方式来操控汽车。比如,如果前方突然行人或者动物,人类驾驶员就会紧急刹车,机器学习算法就会提取这一特征模式,从而能在传感器感应到物体出现的时发出刹车的指令。
  另一个就是2016年占据各家媒体头条的“AlphaGo”——博弈系统。虽然最终围棋冠军李世石以1:4大败AlphaGo,但是也让我们看到了机器学习在其中起到的巨大作用。在这个系统中,机器学习的任务就是根据对手的招数给出应招。学习效果就可以用胜率来度量,而学习经验不仅仅来自人类棋手的对局历史,也能从棋谱数据中得到。机器学习通过对大量的学习经验进行运算,并提取出在类似棋局中胜率比较高的应招,并结合自身的计算做出反应。同时博弈系统也能通过自身的实战对局来进行强化学习。比如,在某局实战对局中,如果人类棋手战胜了博弈系统,那么机器学习算法将这场对局以较低的权重加入到自己的数据库中,或者给与惩罚,从而避免在未来的对局中出现类似的错误。

  从上面的例子我们可看出,机器学习的原理与人类学习十分相似,对已知的经验信息加以提炼,以掌握完成某项任务的方式。相比在机器学习中,用于学习的经验数据称为训练数据,完成任务的方法称为模型。因此,机器学习的核心就是根据给定任务,设计出以训练数据为输入,以模型为输出的算法。所以,有时人们也说,机器学习算法的职责是通过训练数据来训练模型。
在这里插入图片描述
  那么机器学习与人类学习的区别何在?或者说机器学习算法完成了哪些人类无法完成的任务? 此处阐述两点。
  第一,机器学习算法可以从海量数据中提取与任务相关的重要特征。比如,在人脸识别技术中,机器学习算法能从众多医学数据以及生物特征中选取结构分布特征、肤色、眼虹膜、鼻翼、嘴角等细节特征,来区分任意两个不同的人脸。而人类在面对这样的任务时往往令人望而生畏。
  第二,机器学习算法可以自动地对模型进行调整,以适应不断变化的环境。比如,在无人驾驶汽车系统中,机器学习算法能自动根据人类对未知的路况做出正确操作的数据加入到数据库,并调整自身的处理方式。而如此快速的反应非人力能所及。

  那么如此说来,机器学习就能无所不能了?不然,如今机器学习面临的第一个问题就是:**机器学习算法需要大量的训练数据来训练模型。**而在训练数据不足的情况下,机器学习算法往往会面临着这样两个挑战。
  第一、训练数据的代表性不够好。这使得模型在面对完全陌生的任务场景时会“不知所措”。比如,在无人驾驶汽车系统中,没有包含冰雪天气行驶的数据记录,那么经过训练数据得到的模型很可能无法在冰雪天气情况下作出正确的行驶指令。
  第二,训练数据的一些特殊的特征可能将模型带入过度拟合的误区。(过度拟合:指算法过度解读训练数据,从而失去了模型的可推广性——“一般性”)。如在无人驾驶汽车系统中,如果训练数据不足,如只有汽车遇见红灯就停车的数据和遇到红色“停止”标志时也停车,那么可能就会导致训练出来的模型出现这种情况——“遇见红色的物体都会停车,如红色的汽车。”而这就是过度拟合。
  机器学习面临的第二个问题是:目前它还没有在创造性的工作领域中取得成效。比如,许多猜想性质的科学研究还是需要科学家的灵感和智慧,人类的艺术创作也还是得依靠人类的情感和思维,许多构造性的数学证明还无法由机器学习来完成。
在这里插入图片描述
  最后需要指出的是,机器的智慧来自于人类,机器学习的灵魂是算法,而算法的设计者是人类。所以掌握机器学习算法,就有了打开机器学习大门的钥匙。

二、机器学习的形式分类

  机器学习最主要的两种形式是监督学习无监督学习,除此之外还有介于两者之间的强化学习
在这里插入图片描述

1、监督学习

  监督式学习是最常见的一种机器学习的学习形式。在这类学习形式中,每一条训练数据都含有两部分信息:特征组和标签。一条训练数据中的特征组是对相应对象的特征的描述,而标签则是对象的一个属性。监督式学习的任务是根据对象的特征组对标签的取值进行预测。
  手写数字识别就是一个监督式学习问题。给出一张手写数字图片,该训练数据由标签和特征组组成。(特征组是图片的像素灰度矩阵,标签就是图片中的数字)
                            标签 = 1               ![标签 = 1](https://img-blog.csdnimg.cn/20200314170203201.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ1MjQyNA==,size_16,color_FFFFFF,t_70)

  那么如何获取训练数据的标签呢?通常有两种方式获取标签值。
第一、人工标注。也就是人为为训练数据标注标签值,如我们在进行电影影评时,给出的打分就是一种人工标注,或者当我们在GitHub中对其他人的项目进行评星时,也是一种对标签进行人工标注。如此以来,系统根据这些标签值来为使用者进行推荐其他电影或项目。
第二、数据自带标签。在我们在浏览器中搜索我们需要的东西的时候,浏览器会根据我们输入的搜索内容进行内容链接推送,这时我们会在这些链接中选择一个,而此时我们的点击量就会成为该浏览器为该链接设置的一个数据标签,然后浏览器根据点击量的多少进行推送给类似的搜索用户。

在这里插入图片描述
  根据训练数据所带标签值的特性,可以将监督学习进行如下的分类。
1、分类预测
  如果标签只取有限个可能值,则称相应的监督学习为分类预测。直观地讲,每个标签值代表一个类。在手写识别问题中,标签只取0~9这10个可能值,这是含有10个类别的分类问题。在点击率预测问题中,标签只取0和1两个可能值,这是含有两个类别的分类问题。称一个含有k个类别的分类问题为K元分类预测。
  分类问题的任务又可以分为两个形式。第一种任务的形式是,要求对类别做出明确的预测。比如,在手写数字识别问题中,要求输出对给定图片中的数字的预测。而这种任务形式就称为类别预测任务第二种任务形式是,要求计算出给定对象属于每一个类别的概率。比如,在点击率预测问题中,要求输出用户点击给定连接的概率。在这种任务形式就称为概率预测任务。概率预测任务比类别预测任务要求更高,这是因为,一旦计算出了对象属于每一类别的概率,就可以将其具有最大概率的那个类别作为该对象的类别预测。
2、回归问题
  如果标签值是取值于某个区间的实数,则称相应的监督式学习为回归问题。在回归问题中,标签通常为连续的数量值,从而其取值有无限种可能。由于价格是一个连续值,所以房价预测问题就是一个的回归问题。
在这里插入图片描述
  在房屋预测问题中,我们不需要也没有必要房屋预测系统能精确地预测出给定房屋的价格,而只要预测出房屋价格大致接近真实价格即可。而这恰恰是回归问题的目标:“输出接近真实标签的预测”。相比如果预测的值过于准确,那么出现过度拟合的可能性就会很大。导致该系统的推广性较差,不适合于应用。如上图就是一种过度拟合的情况。而下图相比上图,有一些预测误差,但是它的推广性较强。
在这里插入图片描述
  最后指出,分类问题和回归问题是可以进行转化的。对于一个分类问题,可以将其转化为对给定对象所属类别的概率的预测。因为概率是在[0 ,1]的连续值,因此概率预测问题可以认为是一个回归问题。比如,Logistic回归问题就是一种利用回归方法求解分类问题的算法。而一个回归问题,可以通过标签值的区间化将其转化为一个分类标签。比如,根据用户的特征预测用户的年龄,可以进行年龄分段,未成年[0,18]、青年[19,45]、中年[46,65]、老年[66,…]。如此便可以对年龄进行分类取标签。
在这里插入图片描述

2、无监督学习

  在无监督学习的形式下,训练数据不含标签。无监督学习问题的任务通常是对数据本身的模式识别与分类。例如,在手写数字识别问题中,忽略训练数据的标签,仅根据特征组将训练数据分类,这就是一个无监督学习问题。此时,机器学习算法也许依然能把数据分为10类,且每一类中的图片都是相同的手写数字,但是它无法输出各类图片中的具体数字,因为训练数据中并不包含此类信息。
  无监督学习问题在许多方面得到实际应用,其中被广泛应用的就属两类: 降维问题与聚类问题

1、降维问题
  在机器学习问题中,每一条训练数据的特征都可以用一个向量来表示。此向量的每一分量都对应对象的一个特征。但是在许多应用中,特征组的维度都是相当高,有时甚至达到以百万为数量级。在预测标签时,特征并非越多越好。众多的特征不仅增加了求解问题的复杂性和难度,而且在特征之间容易发生互相不独立的现象,这给问题的求解带来了麻烦。因此,表示原始的高维度特征,是降维问题的主要应用。
  除此之外,人们对二维和三维空间能有较直观的理解。所以,降维问题的另一个应用就是数据可视化。将高维度数据降到二维或者三维,可以使人们对数据有直观的认识。例如,谷歌发布了开源的可视化工具Embedding projector,它的一个手写数字识别训练数据集MNIST的可视化结果如下图。

在这里插入图片描述
  MNIST是手写数字识别训练数据集。其中的每一条训练数据的特征组是图片的28 X 28的像素灰度矩阵,表示28 X 28 = 784维向量。Embedding projector将784维向量降维三维,从而可以清楚地在平面图上展示这些训练数据。从上图可以看出,Embedding projector尽可能的保持了数据的基本特征。它将具有同样数字的图片成功地聚在一起。在降维的同时,尽可能地保留数据的主要结构及其携带的信息是对算法的一个重大的挑战。

2、聚类问题
  聚类问题与监督式学习中的分类问题类似,目的都是将数据按模式归类。两者的区别是:聚类问题中的任务仅限于对未知分类的一批数据进行分类;而监督式学习中的分类问题是用已知分类的训练数据训练出一个能够预测数据类别的模型。
  异常探测是一个经典的聚类问题。如是信用卡异常探测系统的聚类结果。显而易见,包含少数数据数的区域为异常交易类,它可能来自信用卡被盗刷的情况。而事实中,一个复杂的信用卡异常探测系统包含的数据都是成千上万的,很难一目了然,所以采用聚类方式能直观的展示出异常数据的信息,方便工作人员进行验证判别。
在这里插入图片描述
  还有一个容易理解的聚类问题的例子。在一个新闻门户网站上,每天有来自多个消息报道的各种文章的消息。如果希望为用户个性化地推送新闻,就需要了解每一个用户对哪一类文章感兴趣。一个可行的算法是将新闻类的文章聚类。然后,根据用户的历史浏览 记录,推断该用户感兴趣的文章类别,从而为其推送该类别的文章。值得一提的是,有时也可以随机地选取一些用户从未浏览过的类别,进行尝试性推送,从而更好地了解用户的兴趣类别。
在这里插入图片描述

3、强化学习

  强化学习是当今人工智能的重要课题。比如,无人驾驶汽车、博弈系统、机器人控制等诸多前沿人工智能领域中都可以见到强化学习的身影。
  强化学习的任务是:“根据对环境的探索,制定应对环境变化的策略”。它模拟了生物探索环境和积累经验的过程。比如,杂戏团中训练动物的时候,动物们成功的完成一项动作时,训练员就会给它一个奖励,但是如果做错了就会接受惩罚。久而久之,那些表演的动物便学会了许多的杂技动作。而这便是强化学习的思想——“通过对正确的行动进行奖励,来摸索应对环境变化的最优策略”。比如,在训练无人驾驶汽车模型时,如果整个模拟训练过程中都无错误,那么该系统便会得到相应的奖励,但是当模拟训练的时候,出现错误的操作,导致出现事故,那么系统便会对该操作进行惩罚,从而引导系统掌握正确的驾驶方法。
  强化学习是介于监督学习和无监督学习之间的一类机器学习算法。一方面,强化学习没有一组带有标签的训练数据作为输入,算法需要自发地探索环境来获得训练数据;而另一方面,由于环境对每个行动能够提供反馈,所以可以认为,通过探索得到的训练数据是带有标签的。

三、相关术语介绍

向量与数组
  向量是线性代数中的概念,而数组是计算机科学中的概念。详细的介绍不作细说,此处只说两者的不同与注意事项。
  1、数组的下标是从0开始到n-1,向量中的实数下标是从1开始到n。
  2、向量的维数是该向量中的实数个数,数组的维数是一种类似空间维度的概念,n维向量可以由一维数组存储。
  3、向量的长度(范数)是指 sqrt(V1^2 +V22+V32+…+Vn^2),而数组的长度是指数组中的元素个数。
  4、线性代数中的向量都是列向量
  5、1 X n的矩阵称为行向量, n X 1的矩阵称为列向量。

原文链接:机器学习概述
下一篇:监督式学习算法基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值