本文章目的也是一个入门或者说是一个引入和了解然后内容都是从一本书抄过来的。我会分模块进行分部分发送,也顺便帮我复习和学习。
机器学习算法分类机器学习算法可以按照不同的标准来进行分类。比如按函数f(x,θ)的不同,机器学习算法可以分为线性模型和非线性模型;按照学习准则的不同,机器学习算法也可以分为统计方法和非统计方法。但一般来说,我们会按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为监督学习、无监督学习和强化学习[11]。
-
2技术篇2.1机器学习算法分类机器学习算法可以按照不同的标准来进行分类。比如按函数f(x,θ)的不同,机器学习算法可以分为线性模型和非线性模型;按照学习准则的不同,机器学习算法也可以分为统计方法和非统计方法。但一般来说,我们会按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为监督学习、无监督学习和强化学习[11]。图2-1机器学习分类2.1.1监督学习监督式学习(Supervised Learning),是机器学习的一种方法,可以由训练资料中学到或建立一个模式(函数/learning model),并依此模式推测新的实例[12]。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值,或是预测一个分类标签。一个监督式学习者的任务在观察一些事先标记过的训练范例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的输出。要达到此目的,学习者必须以“合理”(见归纳偏向)的方式从现有的资料中一般化到非观察到的情况[13]。根据标签类型的不同,又可以将其分为分类问题和回归问题两类。分类问题的目标是通过输入变量预测出这一样本所属的类别,例如对于植物品种、客户年龄和偏好的预测问题都可以被归结为分类问题。这一领域中使用最多的模型便是支持向量机,用于生成线性分类的
-
-
人工智能之机器学习6决策边界。随着深度学习的发展,很多基于图像信号的分类问题越来越多地使用卷积神经网络来完成。回归主要用于预测某一变量的实数取值,其输出的不是分类结果而是一个实际的值。常见的例子是包括市场价格预测、降水量预测等。人们主要通过线性回归、多项式回归以及核方法等来构建回归模型[14]。监督式学习有两种形态的模型:一种是全域模型,会将输入物件对应到预期输出;另一种是将这种对应实作在一个区域模型(如案例推论及最近邻居法)。为了解决一个给定的监督式学习的问题(手写辨识),必须考虑以下步骤:1)决定训练资料的范例的形态。在做其它事前,工程师应决定要使用哪种资料为范例。譬如,可能是一个手写字符,或一整个手写的辞汇,或一行手写文字。2)搜集训练资料。这资料需要具有真实世界的特征。所以,可以由人类专家或机器(或感测器的)测量中得到输入物件和其相对应输出。3)决定学习函数的输入特征的表示法。学习函数的准确度与输入的物件的表示方式有很大的关联度。传统上,输入的物件会被转成一个特征向量,包含了许多关于描述物件的特征。因为维数灾难的存在,特征的个数不宜太多,但也要足够大,才能准确地预测输出。4)决定要学习的函数和其对应的学习算法所使用的数据结构。譬如,工程师可能选择人工神经网络和决策树。5)完成设计。工程师接着在搜集到的资料上跑学习算法。可以借由将资料跑在资料的子集(称为验证集)或交叉验证(cross-validation)上来调整学习算法的参数。参数调整后,算法可以运行在不同于训练集的测试集。常见的监督学习算法有:k-近邻算法(k-Nearest Neighbors,kNN)、决策树(DecisionTrees)、朴素贝叶斯(Naive Bayesian)等。监督学习的基本流程如下图所示:图2-2监督学习的基本流程
-
技术篇72.1.2无监督学习无监督学习(Unsupervised Learning)是机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群[15]。与监督学习不同,非监督学习并不需要完整的输入输出数据集,并且系统的输出经常是不确定的。它主要被用于探索数据中隐含的模式和分布。非监督学习具有解读数据并从中寻求解决方案的能力,通过将数据和算法输入到机器中将能发现一些用其他方法无法见到的模式和信息。常见的无监督学习算法包括:稀疏自编码(sparse auto-encoder)、主成分分析(PrincipalComponent Analysis, PCA)、K-Means算法(K均值算法)、DBSCAN算法(Density-BasedSpatial Clustering of Applications with Noise)、最大期望算法(Expectation-Maximizationalgorithm, EM)等。利用无监督学习可以解决的问题可以分为关联分析、聚类问题和维度约减。⚫关联分析是指发现不同事物之间同时出现的概率。在购物篮分析中被广泛地应用,如果发现买面包的客户有百分之八十的概率买鸡蛋,那么商家就会把鸡蛋和面包放在相邻的货架上。⚫聚类问题是指将相似的样本划分为一个簇(cluster)。与分类问题不同,聚类问题预先并不知道类别,自然训练数据也没有类别的标签。⚫维度约减是指减少数据维度的同时保证不丢失有意义的信息。利用特征提取方法和特征选择方法,可以达到维度约减的效果。特征选择是指选择原始变量的子集。特征提取是将数据从高维度转换到低维度。广为熟知的主成分分析算法就是特征提取的方法。非监督学习的基本处理流程如下图所示:图2-3非监督学习的基本流程可以很清楚地看到相对于监督学习,非监督学习的过程中没有监督者(Supervisor)的干预。下图是一个典型的监督学习和非监督学习的对比,左图是对一群有标签数据的分类,而右图是对一群无标签数据的聚类[16]。
-
-
人工智能之机器学习8图2-4一个典型的监督学习和非监督学习对比2.1.3强化学习强化学习(Reinforcement learning, RL)是机器学习中的一个领域,强调如何基于环境而行动才能取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、仿真优化、多主体系统学习、群体智能、统计学以及遗传算法。在运筹学和控制理论研究的语境下,强化学习被称作“近似动态规划”。在最优控制理论中也有研究这个问题,虽然大部分的研究是关于最优解的存在和特性,并非是学习或者近似方面。在经济学和博弈论中,强化学习被用来解释在有限理性的条件下如何出现平衡[17]。强化学习一般由5个构成要素,包括:系统环境(SystemEnvironment)、参与者(Agent)、观察(Observation)、行动(Action)和奖励(Reward)。强化学习是参与者为了最大化长期回报的期望,通过观察系统环境不断试错进行学习的过程[18]。从强化学习的定义可以看出,强化学习具有两个最主要的特征:通过不断试错来学习、追求长期回报的最大化。在监督学习或非监督学习中,数据是静态的,不需要与环境进行交互,比如图像识别,只要给出足够的差异样本,将数据输入深度网络中进行训练即可。然而,强化学习的学习过程是动态的、不断交互的,所以需要的数据也是通过与环境不断交互而产生的。图2-5强化学习的基本框架
-
技术篇9强化学习的基本框架如上图所示,参与者对系统环境进行观察后产生行动,从系统环境中获得相应的奖励,参与者观察系统对自己上一次行动的奖励信号后,重新调整自己的下一次的行动策略。由此可见,强化学习是参与者为了最大化长期回报的期望,通过观察系统环境不断试错进行学习的过程。如果参与者在学习的过程中,某个行为策略得到系统环境的奖励越大,那么参与者以后产生采用这个行动为策略的概率越大。在强化学习的实际应用中,参与者才是学习的实际使用者,参与者一般具有3个构成要素,包括:1)策略(Policy),是参与者在观察环境后产生的行动方案。具体地,策略π定义为状态S到行动A的映射函数,即π≐f(S→A),这里的≐表示定义相等,例如x≐y表示定义x等于y。策略可分为确定性策略和随机性策略。给定一个状态s,根据确定性策略π,参与者就可以确定需要采取的行动a,即:a=π(s)随机性策略给出参与者采取不同行动的概率,即给定一个状态s,参与者采取行动a的概率为:π(a|s)= P{At=a|St=s}2)值函数(ValueFunction),是针对状态或行动的评价函数;具体可分为两种:⚫状态值函数(StateValue Function),是针对状态的评价指标;⚫行动值函数(ActionValue Function),是针对行动的评价指标;由于行动是在给定状态下产生的,一般也将行动值函数更明确地表达为状态-行动值函数(State-action Value Function)。状态值函数vπ(s)是给定策略π,评价状态s的指标。具体地,状态值函数vπ(s)定义为:vπ(s)≐Eπ[Gt|St=s]状态-行动值函数qπ(s,a)是给定策略π,在状态s下评价动作a的指标。具体地,状态-行动值函数qπ(s,a)定义为,采用策略π,在状态s下采用动作a获得的期望回报,即:qπ(s,a)≐Eπ[Gt|St=s,At=a]
-
-
人工智能之机器学习103)模型(Model),是参与者对观察到的系统环境建立的模拟模型;马尔科夫决策过程可以利用五元组(S, A, P, R, γ)来描述,根据转移概率P是否已知,可以分为基于模型的动态规划法和基于无模型的强化学习法[19]。强化学习是机器学习的重要部分,在为机器学习开拓新方向上做出了巨大的贡献。强化学习突破了非监督学习,为机器和软件如何获取最优化的结果给出了一种全新的思路。它为如何最优化主体的表现和如何优化这一能力之间建立起了强有力的链接。通过奖励函数的反馈来帮助机器改进自身的行为和算法。但强化学习在实践中并不简单,人们利用很多种算法来实现强化学习。简单来说,强化学习需要
-
2技术篇2.1机器学习算法分类机器学习算法可以按照不同的标准来进行分类。比如按函数f(x,θ)的不同,机器学习算法可以分为线性模型和非线性模型;按照学习准则的不同,机器学习算法也可以分为统计方法和非统计方法。但一般来说,我们会按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为监督学习、无监督学习和强化学习[11]。图2-1机器学习分类2.1.1监督学习监督式学习(Supervised Learning),是机器学习的一种方法,可以由训练资料中学到或建立一个模式(函数/learning model),并依此模式推测新的实例[12]。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值,或是预测一个分类标签。一个监督式学习者的任务在观察一些事先标记过的训练范例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的输出。要达到此目的,学习者必须以“合理”(见归纳偏向)的方式从现有的资料中一般化到非观察到的情况[13]。根据标签类型的不同,又可以将其分为分类问题和回归问题两类。分类问题的目标是通过输入变量预测出这一样本所属的类别,例如对于植物品种、客户年龄和偏好的预测问题都可以被归结为分类问题。这一领域中使用最多的模型便是支持向量机,用于生成线性分类的
-
人工智能之机器学习6决策边界。随着深度学习的发展,很多基于图像信号的分类问题越来越多地使用卷积神经网络来完成。回归主要用于预测某一变量的实数取值,其输出的不是分类结果而是一个实际的值。常见的例子是包括市场价格预测、降水量预测等。人们主要通过线性回归、多项式回归以及核方法等来构建回归模型[14]。监督式学习有两种形态的模型:一种是全域模型,会将输入物件对应到预期输出;另一种是将这种对应实作在一个区域模型(如案例推论及最近邻居法)。为了解决一个给定的监督式学习的问题(手写辨识),必须考虑以下步骤:1)决定训练资料的范例的形态。在做其它事前,工程师应决定要使用哪种资料为范例。譬如,可能是一个手写字符,或一整个手写的辞汇,或一行手写文字。2)搜集训练资料。这资料需要具有真实世界的特征。所以,可以由人类专家或机器(或感测器的)测量中得到输入物件和其相对应输出。3)决定学习函数的输入特征的表示法。学习函数的准确度与输入的物件的表示方式有很大的关联度。传统上,输入的物件会被转成一个特征向量,包含了许多关于描述物件的特征。因为维数灾难的存在,特征的个数不宜太多,但也要足够大,才能准确地预测输出。4)决定要学习的函数和其对应的学习算法所使用的数据结构。譬如,工程师可能选择人工神经网络和决策树。5)完成设计。工程师接着在搜集到的资料上跑学习算法。可以借由将资料跑在资料的子集(称为验证集)或交叉验证(cross-validation)上来调整学习算法的参数。参数调整后,算法可以运行在不同于训练集的测试集。常见的监督学习算法有:k-近邻算法(k-Nearest Neighbors,kNN)、决策树(DecisionTrees)、朴素贝叶斯(Naive Bayesian)等。监督学习的基本流程如下图所示:图2-2监督学习的基本流程
-
技术篇72.1.2无监督学习无监督学习(Unsupervised Learning)是机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群[15]。与监督学习不同,非监督学习并不需要完整的输入输出数据集,并且系统的输出经常是不确定的。它主要被用于探索数据中隐含的模式和分布。非监督学习具有解读数据并从中寻求解决方案的能力,通过将数据和算法输入到机器中将能发现一些用其他方法无法见到的模式和信息。常见的无监督学习算法包括:稀疏自编码(sparse auto-encoder)、主成分分析(PrincipalComponent Analysis, PCA)、K-Means算法(K均值算法)、DBSCAN算法(Density-BasedSpatial Clustering of Applications with Noise)、最大期望算法(Expectation-Maximizationalgorithm, EM)等。利用无监督学习可以解决的问题可以分为关联分析、聚类问题和维度约减。⚫关联分析是指发现不同事物之间同时出现的概率。在购物篮分析中被广泛地应用,如果发现买面包的客户有百分之八十的概率买鸡蛋,那么商家就会把鸡蛋和面包放在相邻的货架上。⚫聚类问题是指将相似的样本划分为一个簇(cluster)。与分类问题不同,聚类问题预先并不知道类别,自然训练数据也没有类别的标签。⚫维度约减是指减少数据维度的同时保证不丢失有意义的信息。利用特征提取方法和特征选择方法,可以达到维度约减的效果。特征选择是指选择原始变量的子集。特征提取是将数据从高维度转换到低维度。广为熟知的主成分分析算法就是特征提取的方法。非监督学习的基本处理流程如下图所示:图2-3非监督学习的基本流程可以很清楚地看到相对于监督学习,非监督学习的过程中没有监督者(Supervisor)的干预。下图是一个典型的监督学习和非监督学习的对比,左图是对一群有标签数据的分类,而右图是对一群无标签数据的聚类[16]。
-
人工智能之机器学习8图2-4一个典型的监督学习和非监督学习对比2.1.3强化学习强化学习(Reinforcement learning, RL)是机器学习中的一个领域,强调如何基于环境而行动才能取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、仿真优化、多主体系统学习、群体智能、统计学以及遗传算法。在运筹学和控制理论研究的语境下,强化学习被称作“近似动态规划”。在最优控制理论中也有研究这个问题,虽然大部分的研究是关于最优解的存在和特性,并非是学习或者近似方面。在经济学和博弈论中,强化学习被用来解释在有限理性的条件下如何出现平衡[17]。强化学习一般由5个构成要素,包括:系统环境(SystemEnvironment)、参与者(Agent)、观察(Observation)、行动(Action)和奖励(Reward)。强化学习是参与者为了最大化长期回报的期望,通过观察系统环境不断试错进行学习的过程[18]。从强化学习的定义可以看出,强化学习具有两个最主要的特征:通过不断试错来学习、追求长期回报的最大化。在监督学习或非监督学习中,数据是静态的,不需要与环境进行交互,比如图像识别,只要给出足够的差异样本,将数据输入深度网络中进行训练即可。然而,强化学习的学习过程是动态的、不断交互的,所以需要的数据也是通过与环境不断交互而产生的。图2-5强化学习的基本框架
-
-
技术篇9强化学习的基本框架如上图所示,参与者对系统环境进行观察后产生行动,从系统环境中获得相应的奖励,参与者观察系统对自己上一次行动的奖励信号后,重新调整自己的下一次的行动策略。由此可见,强化学习是参与者为了最大化长期回报的期望,通过观察系统环境不断试错进行学习的过程。如果参与者在学习的过程中,某个行为策略得到系统环境的奖励越大,那么参与者以后产生采用这个行动为策略的概率越大。在强化学习的实际应用中,参与者才是学习的实际使用者,参与者一般具有3个构成要素,包括:1)策略(Policy),是参与者在观察环境后产生的行动方案。具体地,策略π定义为状态S到行动A的映射函数,即π≐f(S→A),这里的≐表示定义相等,例如x≐y表示定义x等于y。策略可分为确定性策略和随机性策略。给定一个状态s,根据确定性策略π,参与者就可以确定需要采取的行动a,即:a=π(s)随机性策略给出参与者采取不同行动的概率,即给定一个状态s,参与者采取行动a的概率为:π(a|s)= P{At=a|St=s}2)值函数(ValueFunction),是针对状态或行动的评价函数;具体可分为两种:⚫状态值函数(StateValue Function),是针对状态的评价指标;⚫行动值函数(ActionValue Function),是针对行动的评价指标;由于行动是在给定状态下产生的,一般也将行动值函数更明确地表达为状态-行动值函数(State-action Value Function)。状态值函数vπ(s)是给定策略π,评价状态s的指标。具体地,状态值函数vπ(s)定义为:vπ(s)≐Eπ[Gt|St=s]状态-行动值函数qπ(s,a)是给定策略π,在状态s下评价动作a的指标。具体地,状态-行动值函数qπ(s,a)定义为,采用策略π,在状态s下采用动作a获得的期望回报,即:qπ(s,a)≐Eπ[Gt|St=s,At=a]
-
人工智能之机器学习103)模型(Model),是参与者对观察到的系统环境建立的模拟模型;马尔科夫决策过程可以利用五元组(S, A, P, R, γ)来描述,根据转移概率P是否已知,可以分为基于模型的动态规划法和基于无模型的强化学习法[19]。强化学习是机器学习的重要部分,在为机器学习开拓新方向上做出了巨大的贡献。强化学习突破了非监督学习,为机器和软件如何获取最优化的结果给出了一种全新的思路。它为如何最优化主体的表现和如何优化这一能力之间建立起了强有力的链接。通过奖励函数的反馈来帮助机器改进自身的行为和算法。但强化学习在实践中并不简单,人们利用很多种算法来实现强化学习。简单来说,强化学习需要