精华内容
下载资源
问答
  • 模型学习方式相关

    前言

    无论是有监督学习还是无监督学习、半监督学习。无论算法是什么,一直感觉机器学习、深度学习模型都是一种数据驱动的。换句话说,足够且有质量的数据,才能让模型学到一定的知识,达到比较理想的效果。
    但在实际应用中,很多领域、特定问题是没有足量数据,或者说训练任务和目标任务数据分布不一致。因此,需要有一些模型的学习方式,不是指特定的模型,而是解决上述问题的思路。

    这里,参考《神经网络与深度学习》这本书,将第10章的部分内容做了简单的笔记。

    主要关注点:多任务学习、迁移学习、小样本学习、元学习

    一、迁移学习

    1. 迁移学习是什么?

    • 将相关任务的训练数据中的可泛化知识迁移到目标任务上。
    • 也就是不同领域的知识迁移的过程,源领域——目标领域。
    • 领域指的是一个样本空间(x,y)(x,y)及其数据分布p(x,y)p(x,y)。只要三者中有不同,就是不同领域。
    • 说人话就是,输入-输出-数据分布相同,才是两个相同的标准机器学习任务。换句话说就是一个数据集你用不同模型跑跑。

    2. 为什么需要迁移学习?

    目标领域(任务)缺乏足量的数据,要么是没有标注、要么是量太少;如果有相关任务(数据量大),能从中学到相关知识,就可以将这些可泛化知识迁移到目标任务上。

    3. 如何迁移?

    • 归纳迁移学习:在源领域和任务上学习出一般的规律,然后将这个规律
      迁移到目标领域和任务上
    • 转导迁移学习:一种从样本到样本的迁移,直接利用源领域和目标领域的样本进行迁移学习.

    归纳迁移学习是比较常见的方式,在图像领域与自然语言处理都有较多的应用。

    • CV:源领域任务一般是大量有标注的数据。比如ImageNet,动机是神经网络底层的特征是图像中比较有共性的特征,高层才是比较有领域代表性的特征。
    • NLP中的源领域数据一般是没有标注的大规模语料。比如维基百科、微博等等。然后利用语言模型、设计相应的训练任务(比如bert的masked word以及next sentence prediction等)。简单来说,将大规模文本上的无监督学习(比如语言模型)中学到的知识迁移到一个新的目标任务上。

    归纳迁移学习的两种迁移方式:

    • 基于特征的方式:将预训练模型的输出或者是中间隐藏层的输出作为特征直接加入到目标任务的学习模型中。目标任务的学习模型可以是一般的浅层分类器(比如支持向量机等)或一个新的神经网络模型。
      • 这里感觉word2vec这种词向量就是将中间的权重矩阵取出,作为目标任务的第一层(embedding),应该算是基于特征的方式。
    • 精调的方式(Fine-Tuning):在目标任务上复用预训练模型的部分组件,并对其参数
      进行精调。
      • 目前比如bert这样的预训练语言模型,就是用这种方式,通常就是将最后几层输出进行一些操作,拼到特定的任务上,比如分类、序列标注、阅读理解、句子相似度计算等。

    转导迁移学习

    • 转导迁移学习通常假设源领域有大量的标注数据,而目标领域没有(或只有少量)标注数据,但是有大量的无标注数据.目标领域的数据在训练阶段是可见的.

    • 转导迁移的一个子问题就是领域适应问题。Adaptation).在领域适应问题中,一般假设源领域和目标领域有相同的样本空间,但是数据分布不同。

    • 根据贝叶斯公式,也可以分为不同的情况。p(x,y)=p(yx)p(x)=p(xy)p(y)p(x,y) = p(y|x)p(x)=p(x|y)p(y)
      大多数研究集中在p(y|x)相同,p(x)不同的情况。又称为协变量偏移。

    • 这种问题的关键是在于如何找到领域无关的表征。

      • 思路1:学习的目标是找到这样的特征,使得其在源领域数据集上损失小
      • 思路2:对抗训练,找到这样的特征,使得源领域识别器与目标领域识别器无法区分该特征的对应领域。
    • 具体细节不看,来看看与关系抽取中fewrel 数据集的关系。

    源领域-训练集;目标领域-验证集。

    • 训练集-验证集的输入输出形式相同,但是类别完全不同。
    • 如果是1.0数据集,都是基于相同知识库构造的。说明语料是相同分布的,只是标签不同。也就是p(x)相同,但是学习任务有所区别。这是一个概念偏移问题。但在2.0数据集中,验证集就是其他领域数据构造的,协变量偏移问题。说明从转导迁移的角度,既要学习到领域无关的特征,也需要解决概念偏移问题。

    二、 多任务学习

    1. 什么是多任务学习

    • 同时学习多个相关任务,让这些任务在学习过程中共享知识,利用多个任务之间的相关性来改进模型在每个任务上的性能和泛化能力

    2. 为什么需要多任务学习?

    • 当两个任务有所关联时,彼此之间可能存在一定共享知识。
    • 这些知识对两个任务都会有所帮助。这些共享的知识可以是表示(特征)、模型参数或学习算法等。
    • 目前,主流的多任务学习方法主要关注表示层面的共享。

    3.多任务学习的方式?

    图来自神经网络

    • 硬共享模式:让不同任务的神经网络模型共同使用一些共享模块(一般是低层)来提取一些通用特征,然后再针对每个不同的任务设置一些私有模块(一般是高层)来提取一些任务特定的特征。
    • 软共享模式:不显式地设置共享模块,但每个任务都可以从其他任务中“窃取”一些信息来提高自己的能力。窃取的方式包括直接复制使用其他任务的隐状态,或使用注意力机制来主动选取有用的信息。
    • 层次共享模式:一般神经网络中不同层抽取的特征类型不同,低层一般抽取一些低级的局部特征,高层抽取一些高级的抽象语义特征。因此如果多任务学习中不同任务也有级别高低之分,那么一个合理的共享模式是让低级任务在低层输出,高级任务在高层输出。
    • 共享-私有模式:一个更加分工明确的方式是将共享模块和任务特定(私有)模块的责任分开。共享模块捕捉一些跨任务的共享特征,而私有模块只捕捉和特定任务相关的特征。最终的表示由共享特征和私有特征共同构成。

    多任务的学习流程一般为联合训练+单任务精调两个阶段。

    4. 多任务学习在NLP中的应用(资料)

    5. 多任务学习与迁移学习的区别

    多任务学习与归纳的迁移学习十分相似,利用相关任务包含的泛化知识,进行共享,提升模型的性能。但两者仍然有所区别:

    • 多任务学习是同时学习多个任务;迁移学习将源领域学习、目标领域学习分类两阶段。通常是将预训练好的模型用作目标领域学习,加快速度。
    • 多任务的目标是提升所有任务的性能(所有的损失),迁移学习的目标是提升目标任务的性能。

    三、元学习

    1. 什么是元学习?

    • 根据不同任务来动态地选择合适的模型或动态地调整超参数
    • 这种可以动态调整学习方式的能力,称为元学习。
    • 从已有任务中学习一种学习方法或元知识,可以加速新任务的学习。

    2. 为什么需要元学习?

    • 没有免费午餐定理:
      对于基于迭代的最优化算法,不存在某种算法对所有问题(有限的搜索空间内)都有效。如果一个算法对某些问题有效,那么它一定在另外一些问题上比纯随机搜索算法更差。也就是说,不能脱离具体问题来谈论算法的优劣,任何算法都有局限性.必须要“具体问题具体分析”。
    • 在面对不同的任务时,人脑的学习机制并不相同.即使面对一个新的任务,人们往往也可以很快找到其学习方式。元学习也希望达到这样的效果。Learning to Learn——学习的学习。

    3.元学习的方式?

    基于优化器的元学习

    想法:

    • 深度学习模型,参数更新一般是基于梯度下降。
    • 对于不同任务、不同模型,需要选择不同的优化算法。
    • 不同优化算法的区别就在于参数更新的规则不同。
    • 因此,能不能学习到如何更新参数,即用另一个模型来建模梯度下降的过程,学习到如何学习。

    具体做法:

    • 梯度下降:θt+1=θt+αL(θt)\theta_{t+1} = \theta_t + \alpha L(\theta_t)
    • 学习一个函数gt()g_t(·),输入当前梯度,输出梯度的差值Δθt\Delta \theta_t
      在这里插入图片描述
      这里gtg_t也是一个时序性的,所以可以建立LSTM模型来拟合。

    基于模型无关的元学习
    暂时没看懂。。

    四、小样本学习

    展开全文
  • 学习方式  根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,...

      学习方式

      根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。

      监督式学习:

      在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)

      非监督式学习:

      在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。

      半监督式学习:

      在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

      强化学习:

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

      在企业数据应用的场景下, 人们最常用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据, 目前半监督式学习是一个很热的话题。 而强化学习更多的应用在机器人控制及其他需要进行系统控制的领域。

      算法类似性

      根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法等等。当然,机器学习的范围非常庞大,有些算法很难明确归类到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。

      回归算法

      回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)

      基于实例的算法

      基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM)

      正则化方法

      正则化方法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net)。

      决策树学习

      决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM)

      贝叶斯方法

      贝叶斯方法算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。常见算法包括:朴素贝叶斯算法,平均单依赖估计(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。

      基于核的算法

      基于核的算法中最着名的莫过于支持向量机(SVM)了。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:支持向量机(Support Vector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等。

      聚类算法

      聚类,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。

      关联规则学习

      关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 Apriori算法和Eclat算法等。

      人工神经网络

      人工神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。(其中深度学习就是其中的一类算法,我们会单独讨论),重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ)

      深度学习

      深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是 百度也开始发力深度学习后, 更是在国内引起了很多关注。  在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。

      降低维度算法

      像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS),  投影追踪(Projection Pursuit)等。

      集成算法

      集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。


    展开全文
  • 机器学习领域的几种主要学习方式

    千次阅读 2015-04-10 22:45:08
    学习方式 根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要 的学习方式。将算法按照学习方式分类是一个不错的想法,...

    学习方式

    根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要 的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。

    监督式学习:

    在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写 数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断 的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)

    非监督式学习:

    在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。

    半监督式学习:

    在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据 来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预 测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

    强化学习:

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

    在企业数据应用的场景下, 人们最常用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据, 目前半监督式学习是一个很热的话题。 而强化学习更多的应用在机器人控制及其他需要进行系统控制的领域。

    算法类似性

    根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法等等。当然,机器学习的范围非常庞大,有些算法很 难明确归类到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。

    回归算法

    回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一 类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)

    基于实例的算法

    基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式 来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM)

    正则化方法

    正则化方法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。常 见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net)。

    决策树学习

    决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM)

    贝叶斯方法

    贝叶斯方法算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。常见算法包括:朴素贝叶斯算法,平均单依赖估计(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。

    基于核的算法

    基于核的算法中最着名的莫过于支持向量机(SVM)了。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:支持向量机(Support Vector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等。

    聚类算法

    聚类,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的 聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。

    关联规则学习

    关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 Apriori算法和Eclat算法等。

    人工神经网络

    人工神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同 的算法。(其中深度学习就是其中的一类算法,我们会单独讨论),重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ)

    深度学习

    深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是 百度也开始发力深度学习后, 更是在国内引起了很多关注。  在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大 数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。

    降低维度算法

    像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法 可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS),  投影追踪(Projection Pursuit)等。

    集成算法

    集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较 弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。

    展开全文
  • 从不同角度看机器学习的几种学习方式: 1、在线学习与离线学习 offline learning and online learning.  In offline learning, the whole training data must be available at the time of model ...

    从不同角度看机器学习的几种学习方式:


    1、在线学习与离线学习
    offline learning and online learning. 

    In offline learning, the whole training data must be available at the time of model training. Only when training is completed can the model be used for predicting. 

    In contrast, online algorithms process data sequentially. They produce a model and put it in operation without having the complete training dataset available at the beginning. The model is continuously updated during operation as more training data arrives.





    2、增量学习与减量学习
    online learning包括了incremental learning和decremental learning

    incremental learning增量学习,是指一个学习系统能不断地从新样本中学习新的知识,并能保存大部分以前已经学习到的知识。增量学习非常类似于人类自身的学习模式。因为人在成长过程中,每天学习和接收新的事物,学习是逐步进行的,而且,对已经学习到的知识,人类一般是不会遗忘的。Less restrictive than online algorithms are incremental algorithms that process input examples one by one (or batch by batch) and update the decision model after receiving each example. Incremental algorithms may have random access to previous examples or representative/selected examples. In such a case, these algorithms are called in- cremental algorithms with partial memory. Typically, in incremental algorithms, for any new presentation of data, the update operation of the model is based on the previous one. Streaming algorithms are online algorithms for processing high-speed continuous flows of data. In streaming, examples are processed sequentially as well and can be examined in only a few passes (typically just one). These algorithms use limited memory and limited processing time per item.
    一个增量学习算法应同时具有以下特点:
        1)可以从新数据中学习新知识;  
        2)以前已经处理过的数据不需要重复处理;
        3)每次只有一个训练观测样本被看到和学习;
        4)学习新知识的同时能保存以前学习到的大部分知识;
        5)—旦学习完成后训练观测样本被丢弃;
        6)学习系统没有关于整个训练样本的先验知识;
    增量式算法:就是每当新增数据时,并不需要重建所有的知识库,而是在原有知识库的基础上,仅做由于新增数据所引起的更新,这更加符合人的思维原理。


    decremental learning递减学习,即抛弃“价值最低”的保留的训练样本。这两个概念在incremental and decremental svm这篇论文里面可以看到具体的操作过程。





    3、主动学习与直推学习
    主动学习(active learning),指的是这样一种学习方法:
    有的时候,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。
    这个筛选过程也就是主动学习主要研究的地方了,怎么样筛选数据才能使得请求标注的次数尽量少而最终的结果又尽量好。
    主动学习的过程大致是这样的,有一个已经标好类标的数据集K(初始时可能为空),和还没有标记的数据集U,通过K集合的信息,找出一个U的子集C,提出标注请求,待专家将数据集C标注完成后加入到K集合中,进行下一次迭代。
    按wiki上所描述的看,主动学习也属于半监督学习的范畴了,但实际上是不一样的,半监督学习和直推学习(transductive learning)以及主动学习,都属于利用未标记数据的学习技术,但基本思想还是有区别的。如上所述,主动学习的“主动”,指的是主动提出标注请求,也就是说,还是需要一个外在的能够对其请求进行标注的实体(通常就是相关领域人员),即主动学习是交互进行的。
    而半监督学习,特指的是学习算法不需要人工的干预,基于自身对未标记数据加以利用。


    直推学习,它与半监督学习一样不需要人工干预,不同的是,直推学习假设未标记的数据就是最终要用来测试的数据,学习的目的就是在这些数据上取得最佳泛化能力。相对应的,半监督学习在学习时并不知道最终的测试用例是什么。
    也就是说,直推学习其实类似于半监督学习的一个子问题,或者说是一个特殊化的半监督学习,所以也有人将其归为半监督学习。




    4、迁移学习
    Less restrictive than online algorithms are incremental algorithms that process input examples one by one (or batch by batch) and update the decision model after receiving each example. Incremental algorithms may have random access to previous examples or representative/selected examples. In such a case, these algorithms are called in- cremental algorithms with partial memory. Typically, in incremental algorithms, for any new presentation of data, the update operation of the model is based on the previous one. Streaming algorithms are online algorithms for processing high-speed continuous flows of data. In streaming, examples are processed sequentially as well and can be examined in only a few passes (typically just one). These algorithms use limited memory and limited processing time per item.
    在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型;然后利用这个学习到的模型来对测试文档进行分类与预测。然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关键的问题:一些新出现的领域中的大量训练数据非常难得到。我们看到Web应用领域的发展非常快速。大量新的领域不断涌现,从传统的新闻,到网页,到图片,再到博客、播客等等。传统的机器学习需要对每个领域都标定大量训练数据,这将会耗费大量的人力与物力。而没有大量的标注数据,会使得很多与学习相关研究与应用无法开展。其次,传统的机器学习假设训练数据与测试数据服从相同的数据分布。然而,在许多情况下,这种同分布假设并不满足。通常可能发生的情况如训练数据过期。这往往需要我们去重新标注大量的训练数据以满足我们训练的需要,但标注新数据是非常昂贵的,需要大量的人力与物力。从另外一个角度上看,如果我们有了大量的、在不同分布下的训练数据,完全丢弃这些数据也是非常浪费的。如何合理的利用这些数据就是迁移学习主要解决的问题。迁移学习可以从现有的数据中迁移知识,用来帮助将来的学习。迁移学习(Transfer Learning)的目标就是将从一个环境中学到的知识用来帮助新环境中的学习任务。因此,迁移学习不会像传统机器学习那样作同分布假设。举一个通俗的例子,一个会下象棋的人可以更容易的学会下围棋;一个认识桌子的人可以更加容易的认识椅子;
    在迁移学习方面的工作目前可以分为以下三个部分:同构空间下基于实例的迁移学习,同构空间下基于特征的迁移学习与异构空间下的迁移学习。基于实例的迁移学习有更强的知识迁移能力,基于特征的迁移学习具有更广泛的知识迁移能力,而异构空间的迁移具有广泛的学习与扩展能力。
    迁移学习即一种学习对另一种学习的影响,它广泛地存在于知识、技能、态度和行为规范的学习中。任何一种学习都要受到学习者已有知识经验、技能、态度等的影响,只要有学习,就有迁移。迁移是学习的继续和巩固,又是提高和深化学习的条件,学习与迁移不可分割。





    refs:
    http://m.blog.csdn.net/article/details?id=51942135



    展开全文
  • 根据数据类型的不同,对一个问题的建模可以有不同的方式,在机器学习或人工智能领域,人们首先会考虑算法的学习方式,在机器学习领域主要有以下几种重要的学习方式:    1.监督式学习,在监督式学习中,输入的...
  • 成为优秀程序员的最佳学习方式

    千次阅读 多人点赞 2014-09-01 11:05:55
    踏入程序员这个行业,你就注定...所以,如果你想在这个行业混出点样子,那么请你随时做好学习的准备,如果你想成为优秀的程序员,那么一定要有正确的学习方式,下面推荐几条程序员的最佳学习方式,希望能帮你事半功倍。
  • 一般说来,训练深度学习网络的方式主要有四种:监督、无监督、半监督和强化学习。在接下来的文章中,计算机视觉战队将逐个解释这些方法背后所蕴含的理论知识。除此之外,计算机视觉战队将分享文献中经常碰到的术语,...
  •  1)多视图学习与多核学习之间具有天然的联系,这是因为不同的核函数自然地对应着不同的视图,多核学习为多视图学习提供了一种融合不同视图数据和不同结构数据的有效方式。  2)协同训练。其来源于半监督学习...
  •  增量学习是指一个学习系统能不断地从新样本中学习新的知识,并能保存大部分以前已经学习到的知识。增量学习非常类似于人类自身的学习模式。因为人在成长过程中,每天学习和接收新的事物,学习是逐步进行的,而且,...
  • 表征学习/表示学习(representation learning)  在欧几里德空间(例如,ℝnRn 中的向量空间)中是否存在一种符号属性,可以表示出(任意构建的)原始对象?这被称为表征学习(representation learning)。  ...
  • 作者:Code girl 编译:Katherine Hou、元元 学习编程不仅仅是学会各种语言,你还需要学习如何像程序员一样思考。这里有七种学习编程的方式,视频、文档、听觉、触摸...每个人的学习方式不同导致教学过程变得很复
  •  1)基本核的选择和组合方式缺乏理论依据。多核学习中的很多方法都是基于有限个基本核的线性组合加以讨论,基本核的选择也大都是启发式的  2)对于大规模数据集,由于涉及到多核矩阵的快速求解、高维多核扩展...
  • 由于智能制造和人工智能的火热,直接让机器视觉这个行业也火热起来。在机器视觉这个行业,对于我们技术人员来说,halcon、opencv、Ni-vision...想要学习halcon,我们有多种选择,比如:你可以报一个培训班,一般学习...
  • Java学习的正确打开方式

    万次阅读 多人点赞 2019-10-20 18:34:06
    在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是...
  • ASP.NET Core都2.0了,它的普及还是不太好。作为一个.NET的老司机,我觉得.NET Core给我带来了很多的乐趣。Linux, Docker, CloudNative,MicroService,DevOps这些都能跟它很完美的结合,再加ASP.NET ... Core学习
  • 迁移学习的几种迁移方式

    千次阅读 2020-05-28 22:20:49
    Pre-training + fine-tuning(预训练+调参) 的迁移学习方式是现在深度学习中一个非常流行的迁移学习方式,尤其是以图像领域为代表,很多时候会选择预训练的 ImageNet对模型进行初始化。 在迁移学习中,有几个概念,...
  • 学习笔记线程的创建方式

    万次阅读 2019-08-08 16:37:18
    学习笔记 多线程创建方式 1.继承Thread类,重写run方法 public class a extends Thread{ public void run() { while(true) { try { sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch ...
  • OC基础学习 调用方式

    万次阅读 2021-01-02 12:21:14
    OC基础学习 调用方式 调用方法: C++里,送一个消息给对象(或者说调用一个方法)的语法如下: obj.method(argument); Objective-C则写成: [obj method: argument]; 中括号里面的表示调用,和其他语言中的xx.yy....
  • 神经网络学习小记录45——Keras常用学习率下降方式汇总前言为什么要调控学习率下降方式汇总1、阶层性下降2、指数型下降3、余弦退火衰减 前言 学习率是深度学习中非常重要的一环,好好学习吧! 为什么要调控学习率 ...
  • 常见学习率衰减方式

    千次阅读 2019-07-15 16:17:46
    学习学习率的作用 ​ 在机器学习中,监督式学习通过定义一个模型,并根据训练集上的数据估计最优参数。梯度下降法是一个广泛被用来最小化模型误差的参数优化算法。梯度下降法通过多次迭代,并在每一步中最小化...
  • 深度学习模型的保存方式

    千次阅读 2017-12-22 00:28:42
    本人在学习深度学习的时候,只要使用两种方式,一种是tensorflow版的保存,还有一种是keras版的模型的保存。下面逐一介绍下: 一、TensorFlow模型保存与读取(该方式tensorflow只能保存变量而不是保存整个网络,...
  • 投票方式的集成学习。 用5-6个模型。 使用MNIST数据集。 二、理论准备 图解集成学习: 就是使用训练数据集训练出不同的模型,然后把同一个测试数据输给每个模型,然后根据这些模型的输出,按照少数服从多数的原则...
  • 初学机器学习的四种方式

    千次阅读 2015-09-29 18:49:36
    学习机器学习有很多方法,大多数人选择从理论开始。 如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来...
  • 强化学习

    千次阅读 2017-10-19 10:23:01
    前言机器学习可以大致分为四类: 监督学习 ...强化学习则是很不同的一种学习方式,它没有规则的训练样本和标签,主要通过奖励和惩罚达到学习的目的。什么是强化学习《最强大脑》曾经有个挑战项目叫蜂巢迷
  • 机器学习中数据采样方式

    千次阅读 2017-11-21 19:59:08
    当机器学习中样本比例不平衡时,通常会对数据进行采样的方法,对数据采样可以有针对性地改变数据中样本的比例,采样一般有两种方式:over-sampling 和 under-sampling,前者是增加样本数较少的样本,其方式是直接...
  • DDoS攻击方式学习与了解

    万次阅读 2018-05-02 16:52:23
    之前并未接触过DDoS,也不是很了解这种攻击方式到底分了多少种,近日分析一个样本,发现是DDoS攻击工具,于是要求我去分析下使用的是什么攻击方式,我也很疑惑,他们讲的一些攻击方式我也没有听说过,也不了解,于是...
  • 【深度学习】多通道图像卷积过程及计算方式

    万次阅读 多人点赞 2018-10-15 21:42:50
    之前,有写了一篇博文,【深度学习入门】——亲手实现图像卷积操作介绍卷积的相应知识,但那篇文章更多的是以滤波器的角度去讲解卷积。但实际上是神经网络中该博文内容并不适应。 之前的文章为了便于演示,针对的是...
  • 树莓派学习笔记—— 源代码方式安装opencv

    万次阅读 多人点赞 2014-11-10 21:41:50
    本文介绍如何在树莓派中通过编译源代码的方式安装opencv,并通过一个简单的例子说明如何使用opencv。 更多内容请参考——【树莓派学习笔记——索引博文】1.下载若干依赖项 在开始安装之前,最好更新树莓派软件源。...
  • 学习方式:视频(黑马),流畅的Python,博客,百度 完成内容:python面向对象和文件操作内容 博客目的:总结归纳,当然要能帮助其他刚学习Python的童鞋,不胜荣幸 人物:一个心血来潮学习Pyt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 234,445
精华内容 93,778
关键字:

学习方式