在监督学习的批量方法中,多层感知器的突出权值的调整在训练样本集合的所有N个例子都出现后进行,这构成了训练的一个回合。换句话说,批量学习的代价函数是由平均误差能量定义的。多层感知器的突触权值的调整是以回合-回合为基础的。相应地,学习曲线的一种实现方式是通过描绘平均误差能量对回合数的图形而得到,对于训练的每一个回合,训练样本集合的样例是随机选取的。学习曲线通过对足够大量的这样实现的总体平均来计算,这里每次实现是在随机选取不同初始条件下完成的。这一特点符合交叉验证的规律,实验中的实验集、验证集、测试集一般都是批量处理的典例。
优点:(1)消除样本顺序的影响(2)对梯度向量的精确估计,因此,在简单条件下,保证了这一方法最速下降到局部极小点的收敛性。(3)学习的并行性。
缺点:(1)有着存储需求
在监督学习的在线方法下,对于多层感知器突触权值的调整是以样例-样例为基础的,用来最小化的代价函数是全体瞬时误差能量。和批量学习一样,在线学习的学习曲线是通过足够大量的随机选取的初始条件上的总体平均来计算的。对于给定的网络结构,在线学习下获得的学习曲线和批量学习下获得的学习曲线有着很大的不同。
给定训练样本以随机的方式呈现给网络,在线学习的使用使得在多维权值空间中的搜索事实上是随机的;正是由于这个原因,在线学习方法有时被称为随机方法。
优点:(1)容易执行(2)对于大规模和困难模式分类问题它提供有效解。(3)随机性使得不容易陷入局部极值点(4)存储量少得多
所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcementlearningsystem)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境。
它与半监督学习一样不需要人工干预,不同的是,直推学习假设未标记的数据就是最终要用来测试的数据,学习的目的就是在这些数据上取得最佳泛化能力。相对应的,半监督学习在学习时并不知道最终的测试用例是什么。也就是说,直推学习其实类似于半监督学习的一个子问题,或者说是一个特殊化的半监督学习,所以也有人将其归为半监督学习。
onlinelearning包括了incrementallearning和decrementallearningincrementallearning增量学习,是指一个学习系统能不断地从新样本中学习新的知识,并能保存大部分以前已经学习到的知识。增量学习非常类似于人类自身的学习模式。因为人在成长过程中,每天学习和接收新的事物,学习是逐步进行的,而且,对已经学习到的知识,人类一般是不会遗忘的。
一个增量学习算法应同时具有以下特点:1)可以从新数据中学习新知识;2)以前已经处理过的数据不需要重复处理;3)每次只有一个训练观测样本被看到和学习;4)学习新知识的同时能保存以前学习到的大部分知识;5)—旦学习完成后训练观测样本被丢弃;6)学习系统没有关于整个训练样本的先验知识;增量式算法:就是每当新增数据时,并不需要重建所有的知识库,而是在原有知识库的基础上,仅做由于新增数据所引起的更新,这更加符合人的思维原理。
decrementallearning递减学习,即抛弃“价值最低”的保留的训练样本。这两个概念在incrementalanddecrementalsvm这篇论文里面可以看到具体的操作过程。
Inofflinelearning,thewholetrainingdatamustbeavailableatthetimeofmodeltraining.Onlywhentrainingiscompletedcanthemodelbeusedforpredicting.Incontrast,onlinealgorithmsprocessdatasequentially.Theyproduceamodelandputitinoperationwithouthavingthecompletetrainingdatasetavailableatthebeginning.Themodeliscontinuouslyupdatedduringoperationasmoretrainingdataarrives.
在迁移学习方面的工作目前可以分为以下三个部分:同构空间下基于实例的迁移学习,同构空间下基于特征的迁移学习与异构空间下的迁移学习。基于实例的迁移学习有更强的知识迁移能力,基于特征的迁移学习具有更广泛的知识迁移能力,而异构空间的迁移具有广泛的学习与扩展能力。
迁移学习即一种学习对另一种学习的影响,它广泛地存在于知识、技能、态度和行为规范的学习中。任何一种学习都要受到学习者已有知识经验、技能、态度等的影响,只要有学习,就有迁移。迁移是学习的继续和巩固,又是提高和深化学习的条件,学习与迁移不可分割。对于人工智能的发展路径,很多人可能对基于大数据的人工智能很熟悉,但其实还有基于小样本的尝试和迁移,这也是人工智能的一种路径。
在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。
集成学习在各个规模的数据集上都有很好的策略。
数据集大:划分成多个小数据集,学习多个模型进行组合数据集小:利用Bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合
这篇博客介绍一下集成学习的几类:Bagging,Boosting以及Stacking。
Bagging是bootstrapaggregating的简写。先说一下bootstrap,bootstrap也称为自助法,它是一种有放回的抽样方法,目的为了得到统计量的分布以及置信区间。具体步骤如下
采用重抽样方法(有放回抽样)从原始样本中抽取一定数量的样本根据抽出的样本计算想要得到的统计量T重复上述N次(一般大于1000),得到N个统计量T根据这N个统计量,即可计算出统计量的置信区间
在Bagging方法中,利用bootstrap方法从整体数据集中采取有放回抽样得到N个数据集,在每个数据集上学习出一个模型,最后的预测结果利用N个模型的输出得到,具体地:分类问题采用N个模型预测投票的方式,回归问题采用N个模型预测平均的方式。
例如随机森林(RandomForest)就属于Bagging。随机森林简单地来说就是用随机的方式建立一个森林,森林由很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。
在我们学习每一棵决策树的时候就需要用到Bootstrap方法。在随机森林中,有两个随机采样的过程:对输入数据的行(数据的数量)与列(数据的特征)都进行采样。对于行采样,采用有放回的方式,若有N个数据,则采样出N个数据(可能有重复),这样在训练的时候每一棵树都不是全部的样本,相对而言不容易出现overfitting;接着进行列采样从M个feature中选择出m个(m< 预测的时候,随机森林中的每一棵树的都对输入进行预测,最后进行投票,哪个类别多,输入样本就属于哪个类别。这就相当于前面说的,每一个分类器(每一棵树)都比较弱,但组合到一起(投票)就比较强了。 提升方法(Boosting)是一种可以用来减小监督学习中偏差的机器学习算法。主要也是学习一系列弱分类器,并将其组合为一个强分类器。Boosting中有代表性的是AdaBoost(Adaptiveboosting)算法:刚开始训练时对每一个训练例赋相等的权重,然后用该算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在每次学习以后更注意学错的样本,从而得到多个预测函数。具体可以参考《统计学习方法》。 之前提到过的GBDT(GradientBoostDecisionTree)也是一种Boosting的方法,与AdaBoost不同,GBDT每一次的计算是为了减少上一次的残差,GBDT在残差减少(负梯度)的方向上建立一个新的模型。可以参考GradientBoosting-知乎专栏。 Stacking方法是指训练一个模型用于组合其他各个模型。首先我们先训练多个不同的模型,然后把之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。理论上,Stacking可以表示上面提到的两种Ensemble方法,只要我们采用合适的模型组合策略即可。但在实际中,我们通常使用logistic回归作为组合策略。 Bagging与BoostingBagging和Boosting采用的都是采样-学习-组合的方式,但在细节上有一些不同,如 个人认为上面的有些学习概念是表达同样的意思,如离线学习和批量学习,可能是专家们专注的侧重面不同吧!具体这些学习方法的差别,大家仔细看一下概念,自己慢慢的思考一下!机器学习方面新词的不断出现证符合计算机整体行业的发展规律。