基于《机器学习》学习整理- chapter 5

基于《机器学习》学习整理- chapter 5

@(机器学习)[神经网络]
这里写图片描述

神经元模型
神经网络

神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。神经网络中最基本的组成成分是神经元模型。
神经元

激活函数

理想中的激活函数是5.2(a)所示的阶跃函数,它将输入值映射为输出值0或1,然而阶跃函数具有不连续、不光滑等不太友好的性质,因此实际常用sigmoid函数作为激活函数,如图5.2(b)所示,它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此有时也称为挤压函数。
Alt text

感知机与多层网络
感知机

感知机由两层神经元组成,如下5.3图,输入曾接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称阀值逻辑单元(threshold logic unit)
Alt text
更一般地,给定训练集,权重 wi(i=1,2,...,n) 以及阀值 θ 可以通过学习得到。阀值 θ 可看作一个固定输入为-1.0的哑结点,所对应的连接权重 wn+1 ,这样,权重和阀值的学习就可以统一为权重的学习,感知机的学习规则很简单,对训练样例(x,y),若当前感知机的输出为 y ,则感知机权重将如下调整:

wi=wi+wi

wi=η(yy)xi

其中 η 称为学习率,若感知机对训练样例预测正确,则感知机不发生变化,否则将根据错误的程度进行权重调整。
感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元,其学习能力非常有限。要解决非线性可分问题需要用到多层功能神经元。

多层神经网络

输出层与输入层之间的一层神经元,被称为隐层或隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。更一般地,每层神经元与下层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,这样的神经元网络结构被称为”多层前馈神经网络”,如下图,其中输入层神经元接受外界输入,隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出;神经网络的学习过程,就是根据训练数据来调整神经元之间的”连接权”以及每个功能神经元的阀值,换言之,神经网络学到的东西,蕴含在连接权和阀值中。
这里写图片描述

误差逆传播算法
Error BackPropagation BP算法

给定训练集 D={(x1,y1),(x2,y2),...(xm,ym)},xRd,yRl ,即输入实例由d个属性描述,输出l维实值向量,如下图,给出了一个拥有d个输入神经元,l个输出神经元,q个隐层神经元的多层前馈神经网络,其中输出层第j个神经元的阀值用 θj 表示,隐层第h个神经元用神经元的阀值用 γh 表示,输入层第i个神经元与隐层第h个神经元之间的连接权为 vih ,隐层第h个神经元与输出层第j个神经元之间的连接权为 whj ,记隐层第h个神经元获得的输入为 αh=di=1whjbh ,输出层第j个神经元接收到的输入为 βj=qh=1whjbh ,其中 bh 为隐层第h个神经元的输出,假设隐层和输出层都是用sigmoid函数,对训练例 (xk,yk) ,假定神经网络的输出为 yk=(yk1,yk2,...,ykl) ,即

ykj=f(βjθj)
,则网络在 (xk,yk) 上的均方误差为
Ek=12j=1l(ykjykj)2

其中有 (d+l+1)q+l 个参数需要确定。
Alt text
BP算法是一个迭代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计,任意参数 v 的更新估计为:
vv+v
,BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整,对于上述的误差 Ek ,给定学习率 η ,有
whj=ηϑEkϑwhj

注意到 whj 先影响到第j个输出层神经元的输入值 βj ,再影响到其输出值 ykj ,然后影响到 Ek ,有
ϑEkϑwhj=ϑEkϑykjϑykjϑβjϑβjϑwhj

根据 βj 的定义,显然有
ϑβjϑwhj=bh

而sigmoid函数满足
f(x)=f(x)(1f(x))
,则有
gj=ϑEkϑykjϑykjϑβj=(ykjykj)f(βjθj)=ykj(1ykj)(ykjykj)
,最后得到BP算法中 whj 的更新公式
whj=ηgjbh
,类似地,可得到以下:
θj=ηgj
vih=ηehxi
γh=ηeh
,其中 eh=bh(1bh)lj=1whjgj .
学习率 η(0,1) 控制着算法每一轮迭代中的更新步长,若太大则容易震荡,太小则收敛过慢。

缓解BP网络的过拟合
  • 早停:将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阀值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有较小验证集误差的连接权和阀值。
  • 正则化:在误差目标函数中增加一个用于描述网络复杂度的部分,如连接权和阀值的平方和,仍令 Ek 表示第k个训练样例上的误差, wi 表示连接权和阀值,则误差目标函数改变为
    E=λ1mk=1mEk+(1λ)iw2i
    其中 λ(0,1) 用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计。
全局最小与局部极小

用E表示神经网络在训练集上的误差,则它显然是关于连接权w和阀值 θ 的函数。此时,神经网络的训练过程可看作是一个参数寻优过程,即在参数空间中,寻找一组最优参数使得E最小。
直观地看,局部极小解是参数空间中的某个点,其领域点的误差函数值均不小于该点的函数值。全局最小解则是指参数空间中所有的点的误差函数值均不小于该点的误差函数值。两者对应的 E(w;θ) 分别称为误差函数的局部最小值和全局最小值。
这里写图片描述
基于梯度的搜索是使用最为广泛的参数寻优方法,在该类方法中,我们从某些初始解开始了,迭代寻找最优参数值。每次迭代中,我们先计算误差函数在当前点的梯度,然后根据梯度确定搜索方向。
跳出局部极小
- 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数,这相当于从多个不同的初始点开始搜索,这样就可能陷入不同的局部极小,从中选择有可能获得更接近全局最小的结果。
- 使用模拟退火技术(simulated annealing),在每一步都以一定的概率接受比当前解更差的结果,从而有助于跳出局部极小,在每次迭代过程中,接受”次优解”的概率要随着时间的推移而逐渐降低,从而保证算法稳定。
- 使用梯度下降,与标准梯度下降法精确计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素,于是即便陷入了局部极小点,它计算出的梯度仍可能不为0,这样就有机会跳出局部极小继续搜索。

其他常见神经网络
RBF网络

RBF(Radial Basis Function, 径向基函数)网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元的激活函数,而输出层是对隐层神经元输出的线性组合,假定输入为d维向量x,输出为实值,则RBF网络可表示为:

φ(x)=i=1qwiρ(x,ci)

其中q为隐层神经元的个数, ci wi 分别是第i个隐层神经元所对应的中心和权重, ρ(x,ci) 是径向基函数,这是某种沿径向对称的标量函数,通常定义为样本x到数据中 ci 之间欧式距离的单调函数,常用高斯径向基函数形如:
ρ(x,ci)=eβi||xci||2

具有足够多隐层神经元的RBF网络能以任意精度逼近任意连续函数。

训练RBF网络
- 确定神经元中 ci ,常用的方式包括随机采样,聚类等;
- 利用BP算法等来确定参数 wi βi .

ART网络

竞争型学习是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制,这种机制亦称”胜者通吃”.
ART(Adaptive Resonance Theory,自适应谐振理论)网络是竞争学习的重要代表。该网络由比较层、识别层、识别阀值和重置模块构成。其中,比较层负责接收输入样本,并将其传递给识别层神经元,识别层每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类。竞争的最简单方式是,计算输入向量与每个识别层神经元所对应的模式类代表的向量之间的距离,距离最小者胜。
若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阀值,则当前输入样本将被归为该代表向量所属类别,同时,网络连接权将会更新,使得以后再收到相似样本时该模式类会计算出更大的相似度,从而使该获胜神经元有更大可能获胜;若相似度不大于识别阀值,则重置模块将在识别层增设一个新的神经元,其代表向量就设置为当前输入向量。

SOM网络

SOM(self-organizing map,自组织映射)网络是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常是二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的邻近神经元。
SOM网络中的输出层神经元以矩阵方式排列在二维空间中,每个神经元都拥有一个权向量,网络在接受输入向量后,将会确定输出层获胜神经元,它决定了该输入向量在低维空间中的位置。SOM的训练目标就是为每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的。
Alt text
SOM训练过程:在接受到一个训练样本后,每个输出层神经元会计算该样本与自身携带的权向量之间的距离。距离最近的神经元成为竞争获胜者,称为最佳匹配单元,然后最佳匹配单元及其邻近神经元的权向量将被调整,以使得这些权向量与当前输入样本的距离缩小,这个过程不断迭代,直至收敛。

级联相关网络

一般的神经网络模型通常假定网络结构使事先固定的,训练的目的是利用训练样本来确定合适的连接权、阀值等参数。结构自适应网络则将网络结构也当作学习的目标之一,并且希望能在训练过程中找到最符合数据特点的网络结构,级联相关网络是结构自适应网络的重要代表。
这里写图片描述
级联相关网络有两个主要成分,”级联”和”相关”,级联是指建立层次连续的层次结构,在开始训练时,网络只有输入层和输出层,处于最小拓扑结构;随着训练的进行,新的隐层神经元逐渐加入,从而创建起层级结构。当新的隐层神经元加入时,器输入端连接权值是冻结固定的,相关是指通过最大化神经元输出与网络误差之间的相关性来训练相关参数。

Elman网络

与前馈神经网络不同,递归神经网络RNN允许网络中出现环形结构,从而可让一些神经元的输出反馈回来最为输入信号,这样的结构与信息反馈过程,使得网络在t时刻的输出状态不仅与t时刻的输入有关,还与t-1时刻的网络状态有关,从而能处理与时间有关的动态变化。
Alt text
它的结构与多层前馈网络很相似,但隐层神经元的输出被反馈回来,与下一时刻输入层神经元提供的信号一起,作为隐层神经元在下一时刻的输入,隐层神经元通常采用Sigmoid激活函数,而网络的训练则常通过推广的BP算法进行。

Boltzmann机

有一类模型是为网络状态定义一个能量,能量最小化时网络达到理想状态,而网络的训练就是在最小化这个能量函数。Boltzmann机就是一种基于能量的模型,其神经元分为两层:显层和隐层。显层用于表示数据的输入与输出,隐层则被理解为数据的内在表达,Boltzmann机中的神经元都是布尔型的,即只能取0、1两种状态,1表示激活,0表示抑制。
Alt text

令向量 s{0,1}n 表示n个神经元的状态, wij 表示神经元i与j之间的连接权, θi 表示神经元i的阀值,则状态向量s所对应的Boltzmann机能量定义为:

E(s)=i=1n1j=i+1nwijsisji=1nθisi

若网络中的神经元以任意不依赖于 输入值得顺序进行更新,则网络最终将达到Boltzmann分布。此时状态向量s出现的概率将仅由其能量与所有可能状态向量的能量确定:
P(s)=eE(s)teE(t)

Boltzmann机的训练过程就是将每个训练样本视为一个状态向量,使其出现的概率尽可能大,标准Boltzmann机是一个全连接图,训练网络的复杂度很高,这使其难以用于解决现实任务。现实中一般采用受限Boltzmann机(RBM).受限Boltzmann机仅保留显层与隐层之间的连接,从而讲Boltzmann机结构由完全图简化为二部图。

深度学习

模型的复杂度可以通过单纯增加隐层神经元的数目来实现,因为增加隐层数不仅增加了拥有激活函数的神经元数目,还增加了激活函数嵌套的层数。然而,多隐层神经网络难以直接用经典算法进行训练,因为误差在多隐层内逆传播时,往往会发散而不能收敛到稳定状态。

预训练+微调

无监督逐层训练时多隐层网络训练的有效手段,其基本思想是每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入,这称为预训练;在训练全部结束后,在对整个网络进行微调训练。
预训练+微调可视为将大量参数分组,对每组先找到局部比较好的设置,然后再基于这些局部较优的结果联合起来进行全局寻优。这样就在利用了模型大量参数所提供的自由度的同时,有效地节省了训练开销。

权共享

让一组神经元使用相同的连接权,这个策略在卷积神经网络CNN中发挥了重要作用。如下图:
Alt text
CNN复合多个卷积层和采样层对输入信号进行加工,然后子啊连接层实现与输出目标之间的映射,每个卷积层都包括了多个特征映射,每个特征映射都是一个由多个神经元构成的平面,通过一种卷积滤波器提取输入的一种特征。

无论是DBN还是CNN,其多隐层堆叠、每层对上一层的输出进行处理的机制,可看作是在对输入信号进行逐层加工,从而把初始的、与输出目标之间联系不太密切的输入表示,转化成语输出目标联系更密切的表示。简言之,通过多层处理,逐渐将初始的低层特征表示转化为高层特征表示后,用简单模型即可完成复杂的分类等学习任务,因此可将深度学习理解成特征学习或表示学习。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于机器学习的Wi-Fi流量是通过使用机器学习算法来分析和优化Wi-Fi网络的流量。随着互联网的快速发展,Wi-Fi成为我们日常生活中不可或缺的一部分,因此提高Wi-Fi网络的性能和效率对于用户体验至关重要。 通过机器学习算法,我们可以对Wi-Fi网络中的流量进行深入的分析和预测。首先,通过收集和监测Wi-Fi网络中的数据流量,我们可以使用机器学习算法来识别和分析网络中的流量模式和行为。这些算法可以帮助我们确定哪些应用程序或设备正在消耗网络带宽,并识别可能存在的网络瓶颈或问题。 基于这些分析结果,我们可以采取相应的措施来优化网络流量。例如,根据不同应用程序的需求,我们可以使用机器学习算法来调整网络带宽的分配,以确保重要的应用程序获得足够的网络资源。此外,我们还可以根据预测模型来优化Wi-Fi网络的容量和配置,以适应不同时间段和需求变化。 通过机器学习算法的优化,基于机器学习的Wi-Fi流量可以提供更快的速度、更稳定的连接和更好的用户体验。此外,基于机器学习的Wi-Fi流量还可以提高网络安全性。通过分析和监测流量模式,我们可以识别和阻止可能的网络攻击和入侵。 总之,基于机器学习的Wi-Fi流量分析和优化可以提供更高效和可靠的Wi-Fi网络连接。这将对我们的日常生活、工作和娱乐产生积极的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值