深度学习理论与实践 课件 第3-5章 机器学习基础、Logistic回归、神经网络基础_第1页
深度学习理论与实践 课件 第3-5章 机器学习基础、Logistic回归、神经网络基础_第2页
深度学习理论与实践 课件 第3-5章 机器学习基础、Logistic回归、神经网络基础_第3页
深度学习理论与实践 课件 第3-5章 机器学习基础、Logistic回归、神经网络基础_第4页
深度学习理论与实践 课件 第3-5章 机器学习基础、Logistic回归、神经网络基础_第5页
已阅读5页,还剩177页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章机器学习基础机器学习概述举例:刚入行的二手车评估师,经过大量长期的工作经验,对过往大量的二手车的性能状态和售卖定价进行了归纳和总结,形成了一定的理论方法。“机器学习”是一门致力于使用计算手段,利用过往积累的关于描述事物的数据而形成的数学模型,在新的信息数据到来时,通过上述模型得到目标信息的一门学科。关键术语维度属性品牌车型车款行驶里程上牌时间/年上牌时间/月折算价格/万1奥迪A42.2LMT10000201393.22奥迪Q31.8T30000201744.73大众高尔夫15款1.4TS9......1000北京吉普250005款75000201561.2下表展示了二手车评估师在过往经手的一千台二手车的六个维度属性和其定价结果的数据。关键术语1)属性维度/特征(feature):就是指能够描述出目标事物样貌的一些属性。在这里,就是二手车各个维度指标就是最终帮助评定二手车价格的特征,例如:品牌、车型、车款、行驶里程、上牌时间......;2)预测目标(target/label):想要基于已有的维度属性的数据值,预测出的事物的结果,可以是类别判断和数值型数字的预测。在这里,二手车的价格就是预测的目标,它预测目标是数据型,属于回归;3)训练集(trainset):上表中的一千条数据,包括维度属性和预测目标,用来训练模型,找到事物维度属性和预测目标之间的关系;4)模型(model):它定义了事物的属性维度和预测目标之间的关系,它是通过学习训练集中事物的特征和结果之间的关系得到的。机器学习的分类监督学习:在现有数据集中,既有指定维度属性,又指定预测的目标结果。通过计算机,学习出能够正确预测维度属性和目标结果之间的关系的模型。对于后续的只有维度属性的新的样本,利用已经训练好的模型,进行目标结果的正确的预判。常见的监督学习有回归和分类:回归是指通过现有数据,预测出数值型数据的目标值,通常目标值是连续型数据;分类是指通过现有数据,预测出目标样本的类别。无监督学习:其是指是,现有的样本集没有做好标记,即没有给出目标结果,需要对已有维度的数据直接进行建模。无监督学习中最常见的使用就是聚类使用,把具有高度相似度的样本归纳为一类。机器学习的分类半监督学习和强化学习:半监督一般是指数据集中的数据有一部分是有标签的,另一部分是没标签的,在这种情况下想要获得和监督学习同样的结果而产生的算法。强化学习,有一种说法把它称为半监督学习的一种。它是模拟了生物体和环境互动的本质,当行为为正向时获得“奖励”,行为为负向时获得“惩罚”,基于此构造出的具有反馈机制的模型。神经网络和深度学习:神经网络,正如它的名字所示,该模型的灵感来自于中枢神经系统的神经元,它通过对输入值施加特定的激活函数,得到合理的输出结果。神经网格是一种机器学习模型,可以说是目前最火的一种。深度神经网络就是搭建层数比较多的神经网络,深度学习就是使用了深度神经网络的机器学习。人工智能、机器学习、以及神经网络和深度学习它们之间的具体关系机器学习的模型构造过程(1)找到合适的假设函数,它目的为通过输入数据来预测判断结果;其中为假设函数里面待求解的参数。(2)构造损失函数,该函数表示预测的输出值即模型的预测结果(h)与训练数据类别y之间的偏差。可以是偏差绝对值和的形式或其它合理的形式,将此记为J(),表示所有训练数据的预测值和实际类别之间的偏差。(3)显然,J()的值越小,预测函数越准确,最后以此为依据求解出假设函数里面的参数。监督学习监督学习,它是机器学习算法中的重要组成部分。其主要又分为分类和回归。目前,分类算法的应用非常广泛,银行中风险评估、客户类别分类、文本检索和搜索引擎分类、安全领域中的入侵检测以及软件项目中的应用等等。线性回归这里有样本点;假设X,Y满足一元线性回归关系,则有:;这里y为真实值,为根据一元线性关键计算出的预测值。a,b分别为公式中的参数。为了计算出上述参数,这里构造损失函数为残差平方和,即最小。把已知x、y数据代入,求解损失函数最小即可得参数。案例分析例如在炼钢过程中,钢水的含碳量x与冶炼时间y如下表6.2所示,x和y具有线性相关性。表6.2钢水含碳量与冶炼时间数据表Logistic回归Sigmoid函数公式:对于线性边界的情况,边界的形式:构造的预测函数为:可以表示当分类结果为类别“1”时候的概率Logistic回归当输入为x时通过模型公式判断出的最后结果的类别分别为“1”和“0”的概率:联合写成下式:Logistic回归通过最大似然估计构造Cost函数如式:Logistic回归通过梯度下降法求不断迭代,直至最后,求解得到参数,得到预测函数。进行新的样本的预测。案例分析这里采用最经典的鸢尾花数据集,理解上述模型。鸢尾花数据集记录了如下图6.4所示的三类鸢尾花的萼片长度(cm)、萼片宽度(cm)、花瓣长度(cm)、花瓣宽度(cm)。案例分析鸢尾花数据集详细数据如下表6.3展示所示,其采集的是鸢尾花的测量数据以及其所属的类别,这里为方便解释,我们仅采用Iris-setosa和Iris-virginica这两类。则一共有100个观察值,4个输入变量和1个输出变量。测量数据包括:萼片长度(cm)、萼片宽度(cm)、花瓣长度(cm)、花瓣宽度(cm)。进而用其建立二分类问题。最小近邻法最小近邻算法(K-nearestNeighbors,KNN)是一种基于实例学(instance-basedlearning)。KNN算法的基本思想是,如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中大多数属于某一个类别,则该样本也属于这个类别。通常K的取值比较小,不会超过20,左图展示了Knn算法的分类逻辑示意图。最小近邻法最小近邻算法(K-nearestNeighbors,KNN)是一种基于实例学(instance-basedlearning)。KNN算法的基本思想是,如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中大多数属于某一个类别,则该样本也属于这个类别。通常K的取值比较小,不会超过20,左图展示了Knn算法的分类逻辑示意图。最小近邻法a、距离的选择1)计算测试数据与各个训练数据之间的距离;2)按照下面距离的公式将对应数据之间的距离计算出来后,将结果进行从小到大的排序;3)选取计算结果中最小的前K个点(K值的确定后文会具体介绍);4)把这K个点中现频率次数最多的类别,作为最终待判断数据的预测分类. 通过这一流程可以发现,KNN算法在计算实现其分类的效果的过程中有三个重要的因素:衡量测试数据和训练数据之间的距离计算准则、K值的大小的选取、分类的规则。最小近邻法-距离的选择K近邻法的特征空间一般是n维实数向量空间Rn。使用的距离是欧氏距离,但也可以是其它距离,如更一般的Lp距离或Minkowski距离。现设特征空间X是n维实数向量空间的Lp距离定义为:最小近邻法-距离的选择当p=1时,曼哈顿(Manhattan)距离如式所示:当p=2时,欧氏(Euclidean)距离如式所示:当p->∞,时,切比雪夫距离如式(6.16)所示:最小近邻法-K值的确定通常情况,K值从1开始迭代,每次分类结果使用测试集来估计分类器的误差率或其它评价指标。K值每次增加1,即允许增加一个近邻(一般k的取值不超过20,上限是n的开方,随着数据集的增大,K的值也要增大)。最后,在实验结果中选取分类器表现最好的K的值。案例分析:现有某特征向量x=(0.1,0.1),另外4个数据数值和类别如下表6.4所示:

特征向量类别X1(0.1,0.2)w1X2(0.2,0.5)w1X3(0.4,0.5)w2X4(0.5,0.7)w2表6.4

数据和类别线性判别分析法线性判别分析(LineardiscriminantAnalysis,LDA)是机器学习中的经典算法,它既可以用来做分类,又可以进行数据的降维。线性判别分析的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。也就是说,要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,线性判别分析的原理图如图展示:线性判别分析法-线性判别分析算法原理和公式求解目的:找到最佳投影方向,则样例x在方向向量上的投影可以表示为:ωω线性判别分析法-线性判别分析算法原理和公式求解现有,直线投影向量,有两个类别的中心点ω则直线的投影为ω,能够使投影后的两类样本中心点尽量分离的直线是好的直线,定量表示就是如下所示,其越大越好:此外,引入新度量值,称作散列值(scatter),对投影后的列求散列值,从集合意义的角度来看,散列值代表着样本点的密度。散列值越大,样本点的密度越分散,密度越小;散列值越小,则样本点越密集,密度越大。线性判别分析法-线性判别分析算法原理和公式求解基于上文阐明的原则:不同类别的样本点越分开越好,同类的越聚集越好,也就是均值差越大越好,散列值越小越好。因此,同时考虑使用J(θ)和S来度量,则可得到欲最大化的目标如下式之后化简求解参数,即得分类模型参数:案例分析已知有两类数据,分别为:请按照上述线性判别的方法找到最优的投影方向。朴素贝叶斯分类器朴素贝叶斯模型(NaïveBayesClassifier,NB)是一组非常简单快速的分类算法,通常适用于维度非常高的数据集。运行速度快,而且可调参数少,因此非常适合为分类问题提供快速粗糙的基本方案.朴素贝叶斯分类器-朴素贝叶斯算法原理和公式推导:具体来说,若决策的目标是最小化分类错误率,贝叶斯最优分类器要对每个样本x,选择能使后验概率P(c|x)最大的类别c标记。在现实任务中后验概率通常难以直接获得。从这个角度来说,机器学习所要实现的是基于有限的训练样本集尽可能准确地估计出后验概率P(c|x)。为实现这一目标,综合看来,一共有两种方式:第一种,即有已知数据各维度属性值x,及其对应的类别c,可通过直接建模P(c|x)来预测c,这样得到的是“判别式模型”,例如,决策树、BP神经网络、支持向量机等等第二种方法,也可先对联合概率分布P(x,c)建模,然后在由此获得P(c|x),这样得到的是“生成式模型”。对于生成式模型来说,必然考虑式:朴素贝叶斯分类器-朴素贝叶斯算法原理和公式推导:基于贝叶斯定理,P(c|x)可以写成式这就将求后验概率P(c|x)的问题转变为求类先验概率P(

c

)和条件概率P(

x|c

)。先验概率P(

c

)表达了各类样本在总体的样本空间所占的比例。由大数定律定理可知,当用于训练模型的数据集拥有足够的样本时,且这些样本满足独立同分布样本,每个类比的先验概率P(c)可通过各个类别的样本出现的频率来进行估计。朴素贝叶斯分类器-朴素贝叶斯算法原理和公式推导:朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立。假设输入数据x的各个维度都独立的互不干扰的作用着最终的分类结果,则有:由于对所有类别来说P(x)相同,因此有下式:朴素贝叶斯分类器-朴素贝叶斯算法原理和公式推导:若DC表示训练数据集D中类比为c的样本组成的集合,在数据充足,且输入维度独立同分布的情况下,则能够估计出类别为c的样本的类先验概率,如式若输入维度数据为离散值的话,令朴素贝叶斯分类器-朴素贝叶斯算法原理和公式推导:若某个属性值在训练集中没有与某个类同时出现过,引入拉普拉斯修正如:补充说明,当用于训练的数据集不够充足的时候,存在某类样本在某

就个维度下的概率的估计值为0的情况,所以这里分母加上了样本量,分子加了一。这样的修改对模型最后的结果不会有太大的干扰,因为当用于训练的数据集变大的时候,这种影响会越来越小,可以忽略不计,这样,是的估计值会逐渐趋向于实际的概率值。案例分析现有未知样本X=(age=“<=30”,income=“medium”,student=“yes”,credit_rating=“fair”),判断其类别:决策树分类算法决策树模型(Decisiontree)即可以用于解决分类问题又可以用于解决回归问题。决策树算法采用树形结构,使用层层推理最终实现模型目标。决策树由下面几种元素构成:1)根节点:包含样本的全集;2)内部节点:对应特征属性的测试;3)叶节点:代表决策结果。决策树得生成逻辑流程如图所示,从图中可以观察发现,决策树的生包含3个关键环节:特征选择、决策树的生成、决策树得剪枝。决策树分类算法特征选择:决定使用哪些特征来做树的分裂节点。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。在特征选择中通常使用的准则是:信息增益。

决策树生成:选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,具有最大信息增益的属性被作为决策树的节点,根据该特征的不同取值建立子节点;对接下来的子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。决策树剪枝:剪枝的主要目的是防止模型的过拟合,通过主动去掉部分分支来降低过拟合的风险。决策树分类算法决策树算法的原理:

决策树算法有三种非常典型的算法原理:ID3、C4.5、CART。其中,ID3是最早提出的决策树算法,它是利用信息增益来选择特征的。C4.5算法:它是ID3的改进版,他不是直接使用信息增益,而是引入“信息增益比”指标作为特征的选择依据。CART(ClassificationandRegressionTree)这种算法即可以用于分类,也可以用于回归问题。CART算法使用了基尼系数取代了信息熵模型。模型生成流程:

1)从根节点开始,依据决策树的各种算法的计算方式,计算各个特征的做为新的分裂节点的衡量指标的值,选择计算结果最优的特征作为节点的划分特征(其中,ID3算法选用信息增益值最大的特征,C4.5使用信息增益率,CART选用基尼指数最小的特征);

2)由该特征的不同取值建立子节点;

3)再对子节点递归地调用以上方法,构建决策树;

4)直到结果收敛(不同算法评价指标规则不同);

5)剪枝,以防止过拟合(ID3不需要)。案例分析支持向量机分类算法支持向量机(SupportVectorMachines,SVM)是一种二分类模型。其学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如图所示,即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。

支持向量机分类算法-支持向量机算法原理和公式推导假设训练集合为:

D={(xi,yi)|xi其中xi为第i个特征向量,yi为xi的类标记,当它等于+1时为正例;当为-1时为负例。再假设训练数据集是线性可分的。几何间隔:对于给定的数据集T和超平面关于样本(xi,yi)点的几何间隔为下式所示:,定义超平面超平面关于所有样本点的几何间距的最小值为下式:支持向量机分类算法-支持向量机算法原理和公式推导实际上,这个距离就是我们所谓的支持向量到超平面的距离。根据以上定义,SVM模型的求解最大分割超平面问题可以表示为以下约束最优化问题:经过一系列化简,求解最大分割超平面问题又可以表示为以下约束最优化问题,如下所示:支持向量机分类算法-支持向量机算法原理和公式推导这是一个含有不等式约束的凸二次规划问题,可以对其使用拉格朗日乘子法得到:当数据线性可分时,对求导,得到如下:支持向量机分类算法-支持向量机算法原理和公式推导最终演化为下式最后,求解得到函数的参数,即可以得到分类函数。案例分析有训练数据如下图6.10展示所示,其中正例点是x1=(3,3)T,x2=(4,3)T,负例点是x3=(1,1)T,试求最大间隔分离超平面。

图6.10

样本数据非监督学习聚类分析是机器学习中非监督学习的重要的部分,其旨在发现数据中各元素之间的关系,组内相似性越大,组间差距越大,聚类效果越好。在目前实际的互联网业务场景中,把针对特定运营目的和商业目的所挑选出的指标变量进行聚类分析,把目标群体划分成几个具有明显特征区别的细分群体,从而可以在运营活动中为这些细分群体采取精细化,个性化的运营和服务,最终提升运营的效率和商业效果。非监督学习此外,聚类分析还可以应用于异常数据点的筛选检测,例如:在反欺诈场景、异常交易场景、违规刷好评场景......聚类算法都有着非常重要的应用,聚类算法样式如图所示。聚类分析大致分为5大类:基于划分方法的聚类分析、基于层次方法的聚类分析、基于密度方法的聚类分析、基于网格方法的聚类分析、基于模型方法的聚类分析,本小节将挑选部分内容来做介绍。划分式聚类方法给定一个有N个元素的数据集,将构造K个分组,每一个分组就代表一个聚类,K<N。这K个分组需要满足下列几个条件:(1)每一个分组至少包含一个数据纪录;(2)每一个数据纪录属于且仅属于一个分组(注意:这个要求在某些模糊聚类算法中可以放宽);对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的纪录越远越好。使用这个基本思想的算法有:K-means算法、K-Medoids算法、Clarants算法。这里以最为基础简单的K-means算法为例详细展开阐述。K-meansK-means

备注:这里收敛原则具体是指簇中心收敛,即其保持在一定的范围内不再变动时,停止算法。

通过上述算法流程的描述,可以看到k-means算法的一些缺陷,比如:簇的个数k值的选取和簇中心的具体位置的选取是人为设定,这样不是很准确。当然,目前有一些解决方案,例如肘方法辅助k值的选取。另外,由于簇内中心的方法是簇内样本均值,所以其受异常点的影响非常大。最后,由于k-means采用欧式距离来衡量样本之间的相似度,所以得到的聚簇都是凸如图所示,不能解决其他类型的数据分布的聚类,有很大的局限性。基于上述问题,k-means算法衍生出了例如K-Meidans、K-Medoids、K-Means++等方法。案例分析层次化聚类方法层次聚类方法将数据对象组成一颗聚类树,如图所示。

图6.13聚类树层次化聚类方法根据层次的分解是自底向上(合并)还是自顶向下(分裂),层次聚类法可以进一步分为凝聚的(agglomerrative)和分裂的(divisive)。即可以说有两种类型的层次聚类方法: 1.凝聚层次聚类 2.分裂层次聚类层次化聚类方法-凝聚层次聚类采用自底向上的策略,首先将每个对象作为单独的一个簇,然后按一定规则合并这些小的簇形成一个更大的簇,直到最终所有的对象都在层次的最上层一个簇中,或者达到某个终止条件。Agnes是其代表算法,如下图所示。层次化聚类方法-分裂层次聚类:采用自顶向下的策略,首先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一个簇,或者达到终止条件。Diana是其代表算法,如下图所示。层次化聚类方法-Agnes凝聚层次聚类输入:n个对象,终止条件簇的数目k。输出:k个簇,达到终止条件规定的簇的数目。算法流程:1、将每一个元素当成一个初始簇;2、循环跌倒,直到达到定义的簇的数目;{ a)根据两个簇中最近的数据点找到最近的两个簇; b)合并两个簇,生成新的簇}案例分析案例分析基于密度的聚类方法基于密度的聚类算法是根据样本的密度分布来进行聚类。通常情况下,密度聚类从样本密度的角度出来,来考查样本之间的可连接性,并基于可连接样本不断扩展聚类簇,以获得最终的聚类结果,聚类后的分布形式如图所示。其中最有代表性的的基于密度的算法是DBSCAN算法.

图6.15基于密度的聚类分布结果DBSCAN-基本术语DBSCAN-基本术语DBSCAN-基本术语DBSCAN案例分析强化学习在人工智能的发展过程中,强化学习已经变得越来越重要,它的理论在很多应用中都取得了非常重要的突破。尤其是在2017年的1月4日晚,DeepMind公司研发的AlphaGo升级版master在战胜人类棋手时,突然发声自认:“我是AlphaGo的黄博士”。自此,Master已经取得了59场的不败纪录,将对战人类棋手的纪录变为59:0。而Master程序背后所应用的强化学习思想也收到了广泛的关注,那么本小节就来简单的介绍下机器学习领域中非常重要的一个分枝——强化学习。强化学习vs监督学习和非监督学习强化学习从以下几个方面明显区别于传统的监督学习和非监督学习:1)强化学习中没有像监督学习中明显的“label”,它有的只是每次行为过后的反馈;2)当前的策略,会直接影响后续接收到的整个反馈序列;3)收到反馈或者是奖励的信号不一定是实时的,有时甚至有很多的延迟;4)时间序列是一个非常重要的因素。强化学习问题描述强化学习的组成强化学习问题描述强化学习问题描述基于上述描述,因此强化学习系统中的个体(agent)可以由一下三个组成部分中的一个或是多个组成:-策略(Policy)-价值函数(ValueFunction)-环境的模型(modeloftheenvironment)强化学习问题描述-策略(Policy)强化学习问题描述-价值函数(ValueFunction)强化学习问题描述-环境的模型强化学习问题分类1、仅基于价值函数(valuebased)的解决思路:在这样的解决问题的思路中,有对状态的价值估计函数,但是没有直接的策略函数,策略函数由价值函数间接得到。2、仅直接基于策略的(PolicyBased)的解决思路:这样的个体中行为直接由策略函数产生,个体并不维护一个对各状态价值的估计函数。3、演员-评判家形式(Actor-Critic)的解决思路:个体既有价值函数、也有策略函数。两者相互结合解决问题。案例分析一字棋为例,三个人轮流下,直到有一个人的棋子满足一横或者一竖则为赢得比赛,或者这个棋盘填满也没有人赢,则为和棋。一字棋案例分析环境的状态S,这是一个九宫格,每个格子有三种状态,即没有棋子(取值0),有第一个选手的棋子(取值1),有第二个选手的棋子(取值-1)。那么这个模型的状态一共有3^9=1968339=19683个。动作A,这里只有9个格子,每次也只能下一步,所以最多只有9个动作选项。实际上由于已经有棋子的格子是不能再下的,所以动作选项会更少。实际可以选择动作的就是那些取值为0的格子。环境的奖励R,这个一般是自己设计。由于实验的目的是赢棋,所以如果某个动作导致的改变到的状态可以使我们赢棋,结束游戏,那么奖励最高,反之则奖励最低。其余的双方下棋动作都有奖励,但奖励较少。特别的,对于先下的棋手,不会导致结束的动作奖励要比后下的棋手少。个体的策略(policy),这个一般是学习得到的,会在每轮以较大的概率选择当前价值最高的动作,同时以较小的概率去探索新动作。案例分析整个过程的逻辑思路如下所示:REPEAT{if分出胜负或平局:

返回结果,break;Else

依据ϵ概率选择explore或1-ϵ概率选择exploit:if选择explore模式:

随机的选择落点下棋;else选择exploit模型:

从value_table中查找对应最大value状态的落点下棋;

根据新状态的value在value_table中更新原状态的value;}神经网络和深度学习

深度学习(DeepLearning)是近些年来在计算机领域中,无论是学术界还是工业界都备受关注、发展迅猛的研究领域。它在许多人工智能的应用场景中,都取得了较为重大的成功和突破,例如:图像识别、指纹识别、声音识别、自然语言处理......但正如前面所讲,从本质上说,深度学习是机器学习的一个分支,它代表了一类问题以及它们的解决方法。而人工神经网络(ArtificialNeuralNetwork,ANN),又简称神经网络,由于其可以很好地解决深度学习中的贡献度分配问题,所以神经网络模型被大量的引入用来解决深度学习的问题。感知器模型

深度学习(DeepLearning)是近些年来在计算机领域中,无论是学术界还是工业界都备受关注、发展迅猛的研究领域。它在许多人工智能的应用场景中,都取得了较为重大的成功和突破,例如:图像识别、指纹识别、声音识别、自然语言处理......但正如前面所讲,从本质上说,深度学习是机器学习的一个分支,它代表了一类问题以及它们的解决方法。而人工神经网络(ArtificialNeuralNetwork,ANN),又简称神经网络,由于其可以很好地解决深度学习中的贡献度分配问题,所以神经网络模型被大量的引入用来解决深度学习的问题。感知器模型图

感知器原理示意图感知器模型感知器模型前馈神经网络一个感知器处理的问题还是比较简单,但当通过一定的连接方式将多个不同的神经元模型组合起来的时候,就变有了神经网络。其处理问题的能力也大大的提高。这里,有一种连接方式,叫做“前馈网络”。它是整个神经元模型组成的网络中,信息朝着一个方向传播,没有反向的回溯。按照接受信息的顺序不同被分为不同的层,当前层的神经元接受前一层神经元的输出,并将处理过的信息输出传递给下一层。前馈神经网络第一层神经元被称为输入层,它所包含的神经元个数不确定,大于1就好,此处为三个。最后一层,被称为输出层,它所涵盖的神经的个数也是可以根据具体情况具体确定的,图例中输出层两个个神经元,其可以根据实际情况有多个输出的神经元。中间层被统一称为隐层,隐层的层数不确定,每一层的神经元的个数也可以根据实际情况进行调整。前馈神经网络卷积神经网络

卷积神经网络(ConvolutionalNeturalNetwork,CNN)是前馈神经网络中的一种,但当使用全连接前馈神经网络进行图像信息的处理时,全连接前馈神经网络存在由于参数过多,进而导致计算量过大和图像中物体的局部不变的特征不能顺利提取出的问题。卷积神经网络通常由以下三层交叉堆叠而组成:卷积层、汇聚层(PoolingLayer)、全连接层。卷积神经网络-手写数字识别卷积神经网络-具体工作流程1、把手写字体图片转换成像素矩阵(32,32)作为输入数据;2、对像素矩阵进行第一层卷积运算,生成六个featuremap为上图C1(28,28);3、对每个featuremap进行池化操作,其在在保留featuremap特征的同时缩小数据量。生成六个小图S2(14,14),这六个小图和上一层各自的featuremap长得很像,但尺寸缩小了。卷积神经网络-具体工作流程4、对六个小图进行第二层卷积运算,生成更多featuremap,为C3(10,10);5、对第二次卷积生成的featuremap进行池化操作,生成16张S4(5,5);6、进行第一层全连接层操作;7、进行第二层全连接层操作;8、高斯连接层,输出结果;卷积神经网络它的作用是在原图中把符合卷积核特征的特征提取出来,进而得到特征图(featuremap)。所以卷积核的本质就是将原图中符合卷积核特征的特征提取出啦,展示到特征图当中。卷积层池化池化又叫做下采样(subsampling),它的目的是在保留特征的同时压缩数据量。用一个像素代替原图上邻近的若干像素,在保留featuremap特征的同时压缩其大小。因此它的作用:防止数据爆炸,节省运算量和运算时间,同时又能防止过拟合、过学习。其它类型结构的神经网络其又可以被称为反馈网络。相比于前馈神经网络仅接受上一层神经元传递的信息,在记忆网络中的神经元不但可以接受其它神经元的信息,它还可以记忆自己在历史状态中的各种状态来获取信息。在记忆神经网络中,信息传播可以是单向的或者是双向的,其结构示意图如图所示。包括:循环神经网络、HopField神经网络、玻尔兹曼机、受限玻尔兹曼机等。记忆网络其它类型结构的神经网络图网络结构类型的神经网络是前馈神经网络结构和记忆网络结构的泛化,它是定义在图结构数据上的神经网络。图中的每个节点都是由一个或是一组神经元构成,节点之间的连接可以是有向的,也可以是无向的。图网络图网络结构案例分析案例分析案例分析案例:银行贷款用户筛选借贷业务是银行资产业务的重要基础。银行拥有大量的拥有不同资产规模的储户,如何精准有效的将存款用户转化成为贷款用户,进而提高银行的收入,同时又能规避不合规用户带来的坏账风险,一直是银行业务部门需要研究的重要问题。即通过银行后台现有收集到的用户的数据,明确现有储户的潜在需求。这里,我们采用逻辑斯特回归分类模型来解决银行可放贷用户的筛选问题。案例:银行贷款用户筛选确定特征属性及划分训练集,其中用于训练数据的数据集如图所示。在实际应用中,特征属性的数量很多,划分的比较细致,这里我们为了方便起见,选用最终计算好的复合指标,分别是商业信用指数和竞争等级作为模型训练的属性维度。Label表示最终对用户贷款的结果,1表示贷款成功,0表示贷款失败。另外,由于实际的样本量比较大,这里只截取部分数据如上表6.10所示供大家参考。案例:银行贷款用户筛选-模型构造案例:银行贷款用户筛选-预测函数的参数求解案例:银行贷款用户筛选-用户筛选分类预测第4章Logistic回归

导入导入103

目录104线性回归Logistic回归用PyTorch实现logisticregressionlogisticregression的算法优化logisticregression的模型可视化第一节第二节第三节第四节第五节1线性回归线性回归106

线性回归107

线性回归108

线性回归109

线性回归110

线性回归111

线性回归112

线性回归113

2Logistic回归Logistic回归115

Logistic回归116

Logistic函数图像Logistic回归117

Logistic回归118

3用PyTorch实现logisticregression用PyTorch实现logisticregression120用PyTorch实现logisticregression的代码主要依赖于三个模块用PyTorch实现logisticregression121

用PyTorch实现logisticregression122数据准备17-18行设置样本对应的标签y,分别用0和1表示不同高斯分布的数据,也就是正样本和负样本。第21行使用cat函数将x1和x2组合在一起,第22-24行打乱样本和标签的顺序,将数据重新随机排列是十分重要的步骤,否则算法的每次迭代只会学习到同一个类别的信息,容易造成模型过拟合。用PyTorch实现logisticregression123数据准备17-18行设置样本对应的标签y,分别用0和1表示不同高斯分布的数据,也就是正样本和负样本。第21行使用cat函数将x1和x2组合在一起,第22-24行打乱样本和标签的顺序,将数据重新随机排列是十分重要的步骤,否则算法的每次迭代只会学习到同一个类别的信息,容易造成模型过拟合。用PyTorch实现logisticregression124

用PyTorch实现logisticregression125线性方程上面代码的第一行定义了线性模型的输入维度D_in和输出维度D_out,第2-3行实例化了nn.Linear,将线性模型应用到数据x上,得到计算结果output。Linear的初始参数是随机设置的,可以调用Linear.weight和Linear.bias获取线性模型的参数,第5行打印了输入变量x,模型参数weight和bias,计算结果output的维度。第7-8行定义了我们自己实现的线性模型my_linear,第10行将my_linear的计算结果和PyTorch的计算结果output做比较,可以发现其结果一致。用PyTorch实现logisticregression126激活函数前文介绍了torch.nn.Linear可用于实现线性模型,除此之外,它还提供了机器学习当中常用的激活函数,logistcregression用于二分类问题时,使用sigmoid函数将线性模型的计算结果映射到0和1之间,得到的计算结果作为样本为正类的置信概率。torch.nn.Sigmoid()提供了这一函数的计算,在使用时,将Sigmoid类实例化,再将需要计算的变量作为参数传递给实例化的对象。用PyTorch实现logisticregression127激活函数作为练习,第4-6行手动实现sigmoid函数,第8行通过PyTorch验证我们的实现结果,其结果一致。用PyTorch实现logisticregression128损失函数logisticregression使用交叉熵作为损失函数。PyTorch的torch.nn提供了许多标准的损失函数,我们可以直接使用torch.nn.BCELoss计算二值交叉熵损失。第1-2行调用了BCELoss来计算我们实现的logisticregression模型的输出结果sigmoid(output)和数据的标签y,同样地,在4-6行我们自定义了二值交叉熵函数,在第8行将my_loss和PyTorch的BCELoss做比较,发现结果无差。用PyTorch实现logisticregression129损失函数在前面的代码中,我们使用了torch.nn包中的线性模型nn.Linear,激活函数nn.Softmax(),损失函数nn.BCELoss,它们都继承于nn.Module类,在PyTorch中,我们通过继承nn.Module来构建我们自己的模型。接下来我们用nn.Module来实现logisticRegression。用PyTorch实现logisticregression130损失函数通过继承nn.Module实现自己的模型时,forward()方法是必须被子类覆写的,在forward内部应当定义每次调用模型时执行的计算。从前面的应用我们可以看出,nn.Module类的主要作用就是接收Tensor然后计算并返回结果。在一个Module中,还可以嵌套其他的Module,被嵌套的Module的属性就可以被自动获取,比如可以调用nn.Module.parameters()方法获取Module所有保留的参数,调用nn.Module.to()方法将模型的参数放置到GPU上等等。logisticregression的算法优化第四节4logisticregression的算法优化logisticregression的算法优化133优化算法logisticregression通常采用梯度下降法优化目标函数。PyTorch的torch.optim包实现了大多数常用的优化算法,使用起来非常简单。首先构建一个优化器,在构建时,首先需要将待学习的参数传入,然后传入优化器需要的参数,比如学习率。logisticregression的算法优化134优化算法构建完优化器,就可以迭代的对模型进行训练,有两个步骤,其一是调用损失函数的backward()方法计算模型的梯度,然后再调用优化器的step()方法,更新模型的参数。需要注意的是,首先应当调用优化器的zero_grad()方法清空参数的梯度。5logisticregression的模型可视化logisticregression的模型可视化136

logisticregression的模型可视化137模型可视化结果图小结138Logistic回归是深度学习中最基础的非线性模型之一。作为铺垫,在介绍Logistic回归以前,本章首先介绍了线性回归。线性回归的预测目标是连续变量,而Logistic回归的预测目标是二元变量。为了应对这一差异,Logistic回归在线性回归的基础上加入了Sigmoid激活函数。本章最后使用PyTorch实现了Logistic回归模型,读者可以通过这个例子进一步体会深度学习模型构建的整体流程以及框架编程的简便性。THANKYOU第5章神经网络基础多层感知器141人工智能的研究者为了模拟人类的认知,提出了不同的模型。人工神经网络是人工智能中非常重要的一个学派——连接主义最为广泛使用的模型。在传统上,基于规则的符号主义学派认为,人类的认知是基于信息中的模式;而这些模式可以被表示成为符号,并可以通过操作这些符号,显式地使用逻辑规则进行计算与推理。事务认知实践积累信息处理理解决策01拥有处理信号的基础单元而基于统计的连接主义的模型将认知所需的功能属性结合到模型中来,通过模拟生物神经网络的信息处理方式来构建具有认知功能的模型。类似于生物神经元与神经网络,这类模型具有三个特点:多层感知器02处理单元之间以并行方式连接03处理单元之间的连接是有权重的

这一类模型被称为人工神经网络,多层感知器是最为简单的一种。目录143多层感知器的相关基础概念单层感知器和多层感知器BP神经网络Dropout正则化批标准化第一节第二节第三节第四节第五节第一节基础概念神经元145神经元是基本的信息操作和处理单位。它接受一组输入,将这组输入加权求和后,由激活函数来计算该神经元的输出。输入146

输出147

连接权值

148偏置

149激活函数

150激活函数SoftMax

151Sigmoid

152Tanh

153ReLU

154神经网络155神经网络是一个有向图,以神经元为顶点,神经元的输入为顶点的入边,神经元的输出为顶点的出边。因此神经网络实际上是一个计算图,直观地展示了一系列对数据进行计算操作的过程。神经网络是一个端到端的系统,这个系统接受一定形式的数据作为输入,经过系统内的一系列计算操作后,给出一定形式的数据作为输出;系统内的运算可以被视为一个黑箱子,这与人类的认知在一定程度上具有相似性。通常地,为了直观起见,人们对神经网络中的各顶点进行了层次划分。神经网络的层次划分156输入层接受来自网络外部的数据的顶点,组成输入层。输出层向网络外部输出数据的顶点,组成输出层。隐藏层除了输入层和输出层以外的其他层,均为隐藏层训练157

感知器感知器的概念由RosenblattFrank在1957提出,是一种监督训练的二元分类器。158单层感知器

159单层感知器

160多层感知器

161多层感知器

162BP神经网络在多层感知器被引入的同时,也引入了一个新的问题:由于隐藏层的预期输出并没有在训练样例中给出,隐藏层结点的误差无法像单层感知器那样直接计算得到。为了解决这个问题,后向传播算法被引入,其核心思想是将误差由输出层向前层后向传播,利用后一层的误差来估计前一层的误差。后向传播算法由HenryJ.Kelley在1960和ArthurE.Bryson在1961分别提出。使用后向传播算法训练的网络称为BP神经网络。163梯度下降

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论