机器学习的分类及过程

来源:互联网 发布:coc大本升级数据 编辑:程序博客网 时间:2024/05/21 09:23
机器学习的分类及过程
      上次谈到了机器学习的概念,机器学习至今为止在学术界并没有严格的定义,很多学者,比如Tom Mitchell、Hinton、吴恩达等等,根据他们对机器学习的理解,有自己的认识。但是不管怎么去定义,机器学习都有一个本质,就是使机器模拟人类去学习,进而可以自己去处理很多复杂的问题。机器学习谈了这么多,那么它由哪几部分组成呢?当然这个也是众说纷纭,比如李航博士说过机器学习包括三个部分,即模型,策略,算法
       模型就是对于一个问题而言,所要学习到的某个决策函数或者是某个概率分布。对于一个问题而言,可能有多个模型,每个模型可能都是算法在这个问题上所学到的,但是尽管模型很多,即这些模型可以构成一个模型空间(模型的集合),也有学者把这个称为假设空间,虽然叫法不同,但殊途同归,本质都是一样的。这些模型对于问题本身而言,会存在对外界的泛化能力的不同,所谓的泛化能力,指的是模型对于新的事物的适应能力,举个例子,比如,对于一个地区的房价的预测问题,那么首先,我们会得到大量关于房屋价格的历史数据,这些数据中包括影响房屋价格的相关的因素,比如房子的大小,卧室的数量,地理位置等等。假如,以房子的大小为参考因素,来建立一个直线方程,这个直线方程就是模型,那么对于该地区新的房子(以上考虑的均是同一个地区),来估算价格,来比较它与实际价格的差距,差距小,说明模型比较好,如果相差比较大,则模型不好,这里的好与不好就描述的是模型的泛化能力。策略就是在学习了多个模型之后,按照什么样的方法来选择泛化能力最好的模型,即最优模型,这也是机器学习的目的。直接的出发点就是比较模型对于实例的输入的预测值和实例的输出值(也就是真实值)之间的差距,如何让度量这些差距呢?一般采用数学方法来进行研究。通常用一个损失函数或者代价函数来描述模型的预测值与真实值之间的误差,根据研究的方便会选择不同的损失函数,比如平方损失函数、0-1损失函数(又称指示函数)、对数损失函数等等。从这些损失函数出发,有两种策略,经验风险最小化和结构风险最小化。为了解释这两种策略,先来解释什么是损失函数和风险函数。损失函数用来度量模型一次预测的好坏。风险函数用来度量平均意义下模型预测的好坏。而风险函数就是损失函数的期望。再来解释期望风险和经验风险。经验风险指的是模型对于训练数据集的平均损失,这里的“经验”指的就是所用到的训练数据(历史数据),故称为经验风险,而期望风险指的是模型关于联合分布的期望损失,两者的差别在于,期望风险是潜在的损失,服从某种分布。就好比样本的平均值和总体的数学期望之间的关系,经验风险对应样本的平均值,而期望风险对应着总体的均值,这样的对应关系。因此,经验风险最小化策略就是选择经验风险最小的模型作为最优的模型,而结构风险最小化,就是对经验风险最小化策略的一种改进,如果过于强调经验风险最小(即在训练集上)误差最小,很容易发生过拟合,而导致模型泛化性能变差,结构风险最小化就是考虑到这种情况才提出的策略,就是给经验风险函数加上一个归一化项(也叫正则化项或者惩罚项),降低模型的过拟合程度。根据该策略来选择泛化性能比较好的模型。算法指的是学习模型的具体的计算方法,比如为了使得经验风险最小化,使用梯度下降算法,遗传算法等等很多的优化算法。当然,对于机器学习的研究最为重要的,还有数据是模型产生的源泉,如果没有数据,那模型从何而来呢?而现在随着科技的发展,互联网上的数据量越来越大,因此这也是机器学习能够蓬勃发展的一个关键因素,那么机器学习的过程又是怎样的,它的基本模型又是什么?且看下面的解释。
       对于一个机器学习系统而言,它的学习过程如下图所示:


监督学习问题
       机器学习分为监督学习,半监督学习,无监督学习和强化学习等学习问题。下来对这几种常见的学习问题进行简单介绍。
       监督学习,指的是对于给定的训练数据集,每个样本都有标记,都有自己的类别,把这种有标记的样本也称为样例,监督学习就是在这些样例下进行模型的学习,又比如有老师指导的情况下学习,而这里的“老师指导”,就是标记信息,让机器(计算机)利用样例去学习符合这些标记的模型。总之,监督学习就是在给予计算机学习样本的同时,还给了样本所对应的类别。监督学习模型包括kNN、决策树模型、贝叶斯模型、人工神经网络、支持向量机、线性回归模型、逻辑回归模型等等。
       半监督学习,就是给计算机一批学习样本,而这些样本,有的有标记,有的没有标记,计算机根据这些样本去训练学习得到相应的模型。常用的半监督学习又可分为纯半监督学习和直推学习。在半监督学习领域,相应的学习模型有半监督SVM,这是支持向量机在半监督学习上的推广。还有图半监督学习模型,这也是在半监督学习领域里经常用到的算法。
       无监督学习,指的是对于给计算机的训练样本中,这些样本均没有标记信息,也就是说不告诉计算机怎么做,让计算机自己去学习解决一些问题。无监督学习最经典的学习问题就是聚类分析了,聚类就是把相似的东西聚在一起,正所谓“物以类聚”,这就是聚类思想,因此一个聚类算法通常只需要知道如何计算相似度就可以开始训练模型了。
       强化学习是指如果机器的某个行为策略使得它得到了一定的奖赏,那么它在以后产生这个行为策略的趋势便会加强,即机器进行了强化学习,举个例子,现实的例子,比如训练一只狗,先给它示范一个动作,然后让它去学习,第一次可能并不能完全学会,但是它做一个动作,当你认为这个动作有点像模像样,你会鼓励它做下去,这时你会给它一个奖励,那么你再一次指示它做该动作时,它很可能会按照上次做的动作去做,可能会做得更好,也就是这只狗对之前的指示动作进行了强化学习。

原创粉丝点击