【机器学习】4.神经网络


神经网络是由具有适应性的简单单元组成的广泛互联并行的网络,它的组织能模拟生物神经系统对真是世界物体所做出的交互反应。

神经元模型

神经元模型接收n个来自其他神经元传递的输出信号,这些输入信号通过带权重的连接进行传递,神经元接受的总输入值将于神经元的阈值进行比较,然后通过激活函数处理,产生神经元的输出。
理想激活函数
s g n ( x ) = { 1 , if x>=0 0 , if z<0 sgn(x) = \begin{cases} 1, & \text {if x>=0} \\ 0, & \text{if z<0} \end{cases} sgn(x)={1,0,if x>=0if z<0
由于该阶跃函数不连续,不平滑所以使用
s i g m o i d ( x ) = 1 1 + e − x sigmoid(x)=\frac{1}{1+e^{-x}} sigmoid(x)=1+ex1

感知机与多层网络

感知机有两层神经元组成,能非常容易的实现逻辑与,非,或的运算。

学习规则:对训练样本(x,y)若当前感知机的输出为y,则
w i = w i + Δ w w_i=w_i+\Delta w wi=wi+Δw
Δ w = η ( y − y ′ ) x i 其中η属于(0,1)称为学习率 \Delta w = \eta (y-y^{'})x_i \text{其中η属于(0,1)称为学习率} Δw=η(yy)xi其中η属于(0,1)称为学习率

单层感知机不能解决非线性可分问题
所以,多层网络被应用于此
我们将神经元不存在同层链接,也不存在跨层链接的神经网络结构称为‘多层前馈神经网络’

误差逆传播算法(BP神经网络)

通常所说的‘BP神经网络’是以BP算法训练的多层前馈神经网络。

给定训练姐D={(x1,y1),(x2,y2),…,(xm,ym)},xi ∈ \in Rd,yi& ∈ \in Rl,即输入示例有d个属性描述,输出l维实值向量。
在这里插入图片描述再上图中:
隐层第h个神经元接受输入为:
α h = ∑ i = 1 d v i h ∗ x i \alpha_h = \sum_{i=1}^d v_{ih} * x_i αh=i=1dvihxi
输出层第j个神经元的接受输入为:
β j = ∑ i = 1 q w h j ∗ b h \beta_j = \sum_{i=1}^qw_{hj} * b_h βj=i=1qwhjbh
对于训练例(xk,yk),假定神经网络的输出为 y ^ k = ( y ^ 1 k , y ^ 2 k , . . . , y ^ l k ) \hat{y}_k=(\hat{y}_1^k,\hat{y}_2^k,...,\hat{y}_l^k) y^k=(y^1k,y^2k,...,y^lk)即:
y ^ j k = f ( β j − θ j ) \hat{y}_j^k = f(\beta_j-\theta_j) y^jk=f(βjθj)
则,神经网络在训练例(xk,yk)上的均方误差为:
E k = 1 2 ∑ j = 1 l ( y ^ j k − y j k ) 2 E_k=\frac{1}{2}\sum_{j=1}^l(\hat{y}_j^k-y_j^k)^2 Ek=21j=1l(y^jkyjk)2
在BP神经网络中有 dq+ql+q+l 个参数需要确认,BP是一个迭代学习算法,任意参数v的更新估计式为:
v ← v + Δ v v\leftarrow v+\Delta v vv+Δv
BP神经网络是基于梯度下降策略,以权值Whj为例,给定学习率 η \eta η
Δ w h j = − η σ E k σ w h j \Delta w_{hj} = -\eta \frac{\sigma E_k}{\sigma w_{hj}} Δwhj=ησwhjσEk
whj是先影响第j个输出层的输入值 β \beta βj,在影响其输出值 y ^ \hat{y} y^ik,在影响EK,所以:
σ E k σ w h j = σ E k σ y ^ j k ∗ σ y ^ j k σ β j ∗ σ β j σ w h j \frac{\sigma E_k}{\sigma w_{hj}} = \frac{\sigma E_k}{\sigma \hat{y}_j^k} * \frac{\sigma \hat{y}_j^k}{\sigma \beta_j} * \frac{\sigma \beta_j}{\sigma w_{hj}} σwhjσEk=σy^jkσEkσβjσy^jkσwhjσβj

β \beta βj的定义

σ E k σ w h j = b ( h ) \frac{\sigma E_k}{\sigma w_{hj}} =b(h) σwhjσEk=b(h)


g i = − σ E k σ y ^ j k ∗ σ y ^ j k σ β j = − ( y ^ j k − y j k ) f ′ ( β j − ϑ j ) = y ^ j k ( 1 − y ^ j k ) ( y j k − y ^ j k ) g_i = -\frac{\sigma E_k}{\sigma \hat{y}_j^k} *\frac{\sigma \hat{y}_j^k}{\sigma \beta_{j}} = -(\hat{y}_j^k - y_j^k)f^{'}(\beta_j - \vartheta_j ) = \hat{y}_j^k(1-\hat{y}_j^k)({y}_j^k-\hat{y}_j^k) gi=σy^jkσEkσβjσy^jk=(y^jkyjk)f(βjϑj)=y^jk(1y^jk)(yjky^jk)

sigmoid函数:
f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f^{'}(x) = f(x)(1-f(x)) f(x)=f(x)(1f(x))

所以:
Δ ϑ i j = η g j b h \Delta \vartheta_{ij} = \eta g_jb_h Δϑij=ηgjbh
同理:
Δ w i j = − η g j \Delta w_{ij} = -\eta g_j Δwij=ηgj
Δ v i j = η e n x i \Delta v_{ij} = \eta e_nx_i Δvij=ηenxi
Δ r h = − η e n \Delta rh = -\eta e_n Δrh=ηen
其中:
e n = − σ E k σ b n ∗ σ b h σ a n = b n ( 1 − b n ) ∑ j = 1 l w h j g j e_n = - \frac{\sigma E_k}{\sigma b_n} * \frac{\sigma b_h}{\sigma a_n} = b_n(1-b_n)\sum_{j=1}^l w_{hj}g_j en=σbnσEkσanσbh=bn(1bn)j=1lwhjgj

BP神经网络经常遭遇过拟合问题,一般用两种方式防止
(1)早停(early stopping):当训练误差减少但经验误差升高时,停止训练,且返回具有最小经验误差的连接值;
(2)正则化(regularization):在误差目标函数上增加一个用于描述网络复杂度的部分,例如连接权和阈值的平方和。
E = λ 1 m ∑ k = 1 m E k + ( 1 − λ ) ∑ i w i 2 E = \lambda \frac{1}{m}\sum_{k=1}^mE_k + (1-\lambda)\sum_iw_i^2 E=λm1k=1mEk+(1λ)iwi2
其中 λ ∈ ( 0 , 1 ) \mathop \lambda \in (0,1) λ(0,1)通常使用交叉验证发估计

局部最小与局部极小

局部最小不一定时全局最小,寻找全局最小的方法即跳出局部最小

  • 以多组不同参数值初始化多个神经网络;
  • 模拟退火,每一步以一定的概率接受比当前解更差的结果;
  • 使用随机梯度下降(SGD),计算过程中加入了随机因素。

其他常见神经网络

(1)RBF网络:通常是一种单隐层前馈神经网络。可表示为:
φ ( x ) = ∑ i = 1 q w i ρ ( s , C i ) \varphi(x) = \sum_{i=1}^q w_i\rho (s,C_i) φ(x)=i=1qwiρ(s,Ci)
ρ ( x , C i ) = e − β i ∣ ∣ x − C i ∣ ∣ 2 \rho(x,C_i) = e^{-\beta_i||x-C_i||^2} ρ(x,Ci)=eβixCi2
其中q为隐层神经元的个数,C_I,W_I为隐层所对应的中心的权重
训练过程分两步:

  • 确认神经元中心Ci
  • 利用BP算法调参

(2)ART网络:竞争型学习的重要代表
竞争学习是神经网络中一种常见的无监督学习,网络的输出神经元相互竞争,每一时刻只有一个竞争神经元被激活,其他神经元被抑制,胜者通吃。
最简单的竞争方法是:计算输出向量与每一个识别层神经元对应的模式类代表向量之间的距离,距离最小的获胜,将两类之间的相似度与误差阈值比较。

(3)SOM网络,竞争学习型无监督网络
将高维输入数据映射到低维空间(通常为二维空间),同时保持输入数据在高维空间的拓扑关系。
训练过程:在接受一个训练样本后,每个输出神经元会计算样本与自身携带的权向量之间的距离,距离最近的神经元获胜,然后最佳匹配的神经元及其相邻单元的权向量会被调整

(4)级联相关网络,结构自适应网络的重要代表
结构自适应网络:将网络结构也作为学习目标的一种,一起在训练过程中找到最符合数据特点的网络结构。

(5)Elman网络,递归神经网络
允许网络中出现环形结构,然一些神经元的输出反馈回来作为输入信号。

(6)Boltzmannn机,基于能量的模型
能量:为网络状态定义的一个名词,能量最小化时网络达到最佳状态。

需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕“需求响应动态冰蓄冷系统与需求响应策略的优化研究”展开,基于Matlab代码实现,重点探讨了冰蓄冷系统在电力需求响应背景下的动态建模与优化调度策略。研究结合实际电力负荷与电价信号,构建系统能耗模型,利用优化算法对冰蓄冷系统的运行策略进行求解,旨在降低用电成本、平衡电网负荷,并提升能源利用效率。文中还提及该研究为博士论文复现,涉及系统建模、优化算法应用与仿真验证等关键技术环节,配套提供了完整的Matlab代码资源。; 适合人群:具备一定电力系统、能源管理或优化算法基础,从事科研或工程应用的研究生、高校教师及企业研发人员,尤其适合开展需求响应、综合能源系统优化等相关课题研究的人员。; 使用场景及目标:①复现博士论文中的冰蓄冷系统需求响应优化模型;②学习Matlab在能源系统建模与优化中的具体实现方法;③掌握需求响应策略的设计思路与仿真验证流程,服务于科研项目、论文写作或实际工程方案设计。; 阅读建议:建议结合提供的Matlab代码逐模块分析,重点关注系统建模逻辑与优化算法的实现细节,按文档目录顺序系统学习,并尝试调整参数进行仿真对比,以深入理解不同需求响应策略的效果差异。
综合能源系统零碳优化调度研究(Matlab代码实现)内容概要:本文围绕“综合能源系统零碳优化调度研究”,提供了基于Matlab代码实现的完整解决方案,重点探讨了在高比可再生能源接入背景下,如何通过优化调度实现零碳排放目标。文中涉及多种先进优化算法(如改进遗传算法、粒子群优化、ADMM等)在综合能源系统中的应用,涵盖风光场景生成、储能配置、需求响应、微电网协同调度等多个关键技术环节,并结合具体案(如压缩空气储能、光热电站、P2G技术等)进行建模与仿真分析,展示了从问题建模、算法设计到结果验证的全流程实现过程。; 适合人群:具备一定电力系统、能源系统或优化理论基础,熟悉Matlab/Simulink编程,从事新能源、智能电网、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展综合能源系统低碳/零碳调度的科研建模与算法开发;②复现高水平期刊(如SCI/EI)论文中的优化模型与仿真结果;③学习如何将智能优化算法(如遗传算法、灰狼优化、ADMM等)应用于实际能源系统调度问题;④掌握Matlab在能源系统仿真与优化中的典型应用方法。; 阅读建议:建议结合文中提供的Matlab代码与网盘资源,边学习理论模型边动手调试程序,重点关注不同优化算法在调度模型中的实现细节与参数设置,同时可扩展应用于自身研究课题中,提升科研效率与模型精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值