ZeroHour's Site

Back

智能控制内容总结#

这份笔记按期末复习来整理:先抓课程主线,再分别整理智能控制概论、模糊控制、神经网络、遗传算法。公式统一写成 LaTeX,重点内容用“考点”标出。

说明:实例.ppt 转换后没有可抽取文字,因此本笔记主要依据其余课件文本整理。

0. 课程主线#

智能控制的核心问题是:当被控对象复杂、非线性、时变、不确定,或者难以建立精确数学模型时,如何利用人工智能、自动控制、运筹优化等方法实现较好的控制与决策。

本课程大致有四条主线:

  1. 智能控制概论:智能控制的定义、特点、研究对象、典型类型。
  2. 模糊控制:用模糊集合、模糊规则和模糊推理处理“经验规则”和“不精确概念”。
  3. 神经网络控制基础:用神经网络学习非线性映射,重点是感知器、BP、SOM、Hopfield。
  4. 遗传算法:用群体进化、选择、交叉、变异做全局优化,常用于参数优化和组合优化。

速记关系:

智能控制 = 人工智能思想 + 自动控制结构 + 优化/决策方法
模糊控制:把专家经验规则化
神经网络:把样本映射学习出来
遗传算法:把参数/方案搜索出来
text

1. 智能控制概论#

1.1 智能控制的含义#

智能控制没有唯一标准定义,课件中出现的核心意思可以合并为:

智能控制是研究和模拟人类智能活动及其控制、信息传递规律,并将其用于复杂系统控制的一类控制理论与方法。

它强调系统能在较少人工干预下,面对结构化或非结构化、熟悉或不熟悉的环境,自主或交互地完成控制目标。

1.2 智能控制的三元结构#

经典表述:

IC=AIACORIC = AI \cap AC \cap OR

其中:

  • ICIC:Intelligent Control,智能控制。
  • AIAI:Artificial Intelligence,人工智能,提供知识表示、记忆、学习、推理、信息处理等能力。
  • ACAC:Automatic Control,自动控制,提供系统动力学、反馈、稳定性、动态性能等基础。
  • OROR:Operations Research,运筹学,提供优化、规划、调度、决策、多目标优化等方法。

1.3 智能控制的特点#

考点:常见简答题。

  1. 控制器通常是非线性的。
  2. 控制结构可以是可变结构,不一定固定。
  3. 具有全局自寻优能力。
  4. 能满足多样化、高性能目标。
  5. 是交叉学科,融合控制、AI、优化、系统工程等。
  6. 适合处理复杂、非线性、时变、不确定系统。

1.4 智能控制的研究对象#

智能控制主要面向传统控制难以处理的系统:

  1. 复杂系统、非线性系统、时变系统。
  2. 参数或结构不确定的系统。
  3. 信息不完全、模型难以精确建立的系统。
  4. 传统线性假设不再适用的系统。
  5. 用传统建模方法会过于复杂或可靠性不足的系统。

1.5 智能控制的主要类型#

课件列出的典型类型:

  1. 分级递阶智能控制。
  2. 专家控制。
  3. 神经网络控制。
  4. 模糊控制。
  5. 学习控制。
  6. 集成或混合智能控制。

分级递阶智能控制#

一般分为三层:

层次作用特点
组织级最高层,目标、规划、策略、任务分解智能程度最高,精度要求相对低
协调级协调组织级与执行级,分配任务、反馈协调介于智能与精度之间
执行级完成具体控制动作智能程度低,控制精度高

速记:越往上越智能,越往下越精确。

专家控制#

专家控制把专家知识、经验规则引入控制器。特点:

  • 使用启发式知识。
  • 规则透明,便于解释。
  • 能处理不确定信息。
  • 灵活,但依赖知识库质量。

学习控制#

学习控制强调系统通过重复输入、训练和经验积累改善响应。学习的本质是根据过去经验改变控制策略或参数。

2. 模糊集合基础#

2.1 为什么需要模糊集合#

现实控制中大量概念不是精确二值的,例如:

  • 温度“高”或“低”。
  • 速度“快”或“慢”。
  • 误差“大”或“小”。
  • 控制量“稍微增加”或“明显减小”。

传统集合只允许属于或不属于:

μA(x)={1,xA0,xA\mu_A(x)= \begin{cases} 1, & x \in A \\ 0, & x \notin A \end{cases}

模糊集合允许“部分属于”:

A={(x,μA(x))xX},μA(x)[0,1]A = \{(x,\mu_A(x)) \mid x \in X\}, \quad \mu_A(x)\in[0,1]

其中 μA(x)\mu_A(x)xx 对模糊集合 AA 的隶属度。

2.2 基本概念#

考点:定义题。

概念定义
论域 XX被讨论对象的全体取值范围
隶属函数 μA(x)\mu_A(x)描述元素 xx 属于模糊集 AA 的程度
支撑集{xμA(x)>0}\{x\mid \mu_A(x)>0\}
{xμA(x)=1}\{x\mid \mu_A(x)=1\}
α\alpha 截集{xμA(x)α}\{x\mid \mu_A(x)\ge \alpha\}
交叉点{xμA(x)=0.5}\{x\mid \mu_A(x)=0.5\}
模糊单点支撑集只有一个元素且该点隶属度为 1
凸模糊集μA(λx1+(1λ)x2)min{μA(x1),μA(x2)}\mu_A(\lambda x_1+(1-\lambda)x_2)\ge \min\{\mu_A(x_1),\mu_A(x_2)\}

2.3 模糊集的表示#

离散论域:

A=μA(x1)x1+μA(x2)x2++μA(xn)xnA = \frac{\mu_A(x_1)}{x_1} + \frac{\mu_A(x_2)}{x_2} + \cdots + \frac{\mu_A(x_n)}{x_n}

连续论域:

A=XμA(x)xA = \int_X \frac{\mu_A(x)}{x}

注意:这里的 \sum\int 只是模糊集表示符号,不是真正的求和与积分;μA(x)x\frac{\mu_A(x)}{x} 也不是除法。

2.4 模糊集运算#

子集:

AB    μA(x)μB(x)A \subseteq B \iff \mu_A(x)\le \mu_B(x)

并集:

μAB(x)=max{μA(x),μB(x)}=μA(x)μB(x)\mu_{A\cup B}(x)=\max\{\mu_A(x),\mu_B(x)\}=\mu_A(x)\vee\mu_B(x)

交集:

μAB(x)=min{μA(x),μB(x)}=μA(x)μB(x)\mu_{A\cap B}(x)=\min\{\mu_A(x),\mu_B(x)\}=\mu_A(x)\wedge\mu_B(x)

补集:

μAˉ(x)=1μA(x)\mu_{\bar A}(x)=1-\mu_A(x)

2.5 常见隶属函数#

三角形隶属函数#

tri(x;a,b,c)={0,xaxaba,a<xbcxcb,b<x<c0,xc\operatorname{tri}(x;a,b,c)= \begin{cases} 0, & x\le a \\ \dfrac{x-a}{b-a}, & a<x\le b \\ \dfrac{c-x}{c-b}, & b<x<c \\ 0, & x\ge c \end{cases}

梯形隶属函数#

trap(x;a,b,c,d)={0,xaxaba,a<xb1,b<xcdxdc,c<x<d0,xd\operatorname{trap}(x;a,b,c,d)= \begin{cases} 0, & x\le a \\ \dfrac{x-a}{b-a}, & a<x\le b \\ 1, & b<x\le c \\ \dfrac{d-x}{d-c}, & c<x<d \\ 0, & x\ge d \end{cases}

高斯隶属函数#

g(x;c,σ)=exp[12(xcσ)2]g(x;c,\sigma)=\exp\left[-\frac{1}{2}\left(\frac{x-c}{\sigma}\right)^2\right]

广义钟形隶属函数#

bell(x;a,b,c)=11+xca2b\operatorname{bell}(x;a,b,c)=\frac{1}{1+\left|\frac{x-c}{a}\right|^{2b}}

2.6 模糊语言算子 Hedges#

浓缩:

μconA(x)=[μA(x)]2\mu_{\operatorname{con}A}(x)=[\mu_A(x)]^2

扩张:

μdilA(x)=[μA(x)]1/2\mu_{\operatorname{dil}A}(x)=[\mu_A(x)]^{1/2}

“稍微加强”:

[μA(x)]1.25[\mu_A(x)]^{1.25}

“稍微减弱”:

[μA(x)]0.75[\mu_A(x)]^{0.75}

2.7 T 范式与 S 范式#

T 范式用于表示“交”,常见形式:

Tmin(a,b)=min(a,b)T_{\min}(a,b)=\min(a,b) Tap(a,b)=abT_{ap}(a,b)=ab Tbp(a,b)=max{0,a+b1}T_{bp}(a,b)=\max\{0,a+b-1\}

强积:

Tdp(a,b)={a,b=1b,a=10,a<1, b<1T_{dp}(a,b)= \begin{cases} a, & b=1 \\ b, & a=1 \\ 0, & a<1,\ b<1 \end{cases}

S 范式用于表示“并”,常见形式:

Smax(a,b)=max(a,b)S_{\max}(a,b)=\max(a,b) Sas(a,b)=a+babS_{as}(a,b)=a+b-ab Sbs(a,b)=min{1,a+b}S_{bs}(a,b)=\min\{1,a+b\}

强和:

Sds(a,b)={a,b=0b,a=01,a>0, b>0S_{ds}(a,b)= \begin{cases} a, & b=0 \\ b, & a=0 \\ 1, & a>0,\ b>0 \end{cases}

3. 模糊逻辑推理#

3.1 推理问题的一般形式#

模糊推理的典型规则:

IF X=A THEN Y=B\text{IF } X=A \text{ THEN } Y=B

已知事实:

X=AX=A'

要求推出:

Y=BY=B'

解决思路分两步:

  1. 把规则转换成前件论域与后件论域之间的模糊关系。
  2. 用已知前件 AA' 与模糊关系合成,得到结论 BB'

3.2 Mamdani 与 Larsen 模糊关系#

Mamdani 最小蕴含或最小关系:

RC=AB=A×BR_C=A\to B=A\times B

其隶属度为:

μR(x,y)=μA(x)μB(y)\mu_R(x,y)=\mu_A(x)\wedge\mu_B(y)

Larsen 乘积关系:

μR(x,y)=μA(x)μB(y)\mu_R(x,y)=\mu_A(x)\mu_B(y)

3.3 合成推理#

一般结论:

B=AR=A(AB)B'=A'\circ R=A'\circ(A\to B)

最大-最小合成法:

μB(y)=xX[μA(x)μR(x,y)]\mu_{B'}(y)=\bigvee_{x\in X}\left[\mu_{A'}(x)\wedge\mu_R(x,y)\right]

最大-代数积合成法:

μB(y)=xX[μA(x)μR(x,y)]\mu_{B'}(y)=\bigvee_{x\in X}\left[\mu_{A'}(x)\mu_R(x,y)\right]

3.4 单前件单规则#

规则:

IF x is A THEN y is B\text{IF } x \text{ is } A \text{ THEN } y \text{ is } B

事实:

x is Ax \text{ is } A'

采用 max-min 推理:

μB(y)=x[μA(x)μA(x)μB(y)]\mu_{B'}(y) =\bigvee_x[\mu_{A'}(x)\wedge\mu_A(x)\wedge\mu_B(y)]

令:

ω=x[μA(x)μA(x)]\omega=\bigvee_x[\mu_{A'}(x)\wedge\mu_A(x)]

则:

μB(y)=ωμB(y)\mu_{B'}(y)=\omega\wedge\mu_B(y)

含义:结论 BB 被匹配度 ω\omega 截断。

3.5 多前件单规则#

规则:

IF x=A AND y=B THEN z=C\text{IF } x=A \text{ AND } y=B \text{ THEN } z=C

事实:

x=A,y=Bx=A', \quad y=B'

匹配度:

ω1=x[μA(x)μA(x)]\omega_1=\bigvee_x[\mu_{A'}(x)\wedge\mu_A(x)] ω2=y[μB(y)μB(y)]\omega_2=\bigvee_y[\mu_{B'}(y)\wedge\mu_B(y)]

结论:

μC(z)=(ω1ω2)μC(z)\mu_{C'}(z)=(\omega_1\wedge\omega_2)\wedge\mu_C(z)

3.6 去模糊化#

模糊推理输出通常是一个模糊集合,实际控制需要清晰数值,因此要去模糊化。

常见方法:

  1. 极大隶属度法。
  2. 重心法。
  3. 面积均分法。

重心法连续形式:

y=yμB(y)dyμB(y)dyy^*=\frac{\int y\mu_B(y)\,dy}{\int \mu_B(y)\,dy}

离散形式:

y=i=1lyiμB(yi)i=1lμB(yi)y^*=\frac{\sum_{i=1}^{l}y_i\mu_B(y_i)}{\sum_{i=1}^{l}\mu_B(y_i)}

面积均分法:

ayμB(y)dy=ybμB(y)dy\int_a^{y^*}\mu_B(y)\,dy=\int_{y^*}^{b}\mu_B(y)\,dy

3.7 Mamdani 与 Takagi-Sugeno 推理#

Mamdani 推理的后件仍是模糊集合:

IF x1 is M1 AND x2 is M2 THEN u is M3\text{IF } x_1 \text{ is } M_1 \text{ AND } x_2 \text{ is } M_2 \text{ THEN } u \text{ is } M_3

Takagi-Sugeno 推理的后件是函数:

IF x1 is M1 AND x2 is M2 THEN u=f(x1,x2)\text{IF } x_1 \text{ is } M_1 \text{ AND } x_2 \text{ is } M_2 \text{ THEN } u=f(x_1,x_2)

速记:

  • Mamdani:规则直观,后件是语言变量,常用于控制经验表达。
  • T-S:后件是数学函数,适合建模和优化。

4. 模糊控制系统#

4.1 模糊控制器结构#

模糊控制器通常包括:

  1. 模糊化接口。
  2. 知识库。
  3. 模糊推理机或决策逻辑。
  4. 去模糊化接口。

闭环中常用误差和误差变化率作为输入:

ek=yryke_k=y_r-y_k Δek=ekek1\Delta e_k=e_k-e_{k-1}

规则的一般形式:

Ri: IF x1 is A1i,,xn is Ani THEN y is CiR_i:\ \text{IF } x_1\text{ is }A_{1i},\ldots,x_n\text{ is }A_{ni} \text{ THEN } y\text{ is }C_i

4.2 模糊控制器设计步骤#

考点:流程题。

  1. 确定输入、输出变量,例如 e,Δe,ue,\Delta e,uΔu\Delta u
  2. 确定各变量论域。
  3. 选择语言变量,如 NB、NM、NS、ZE、PS、PM、PB。
  4. 设计隶属函数。
  5. 建立控制规则表。
  6. 选择推理方法。
  7. 选择去模糊化方法,课件示例中使用重心法。
  8. 仿真、调试并修正规则和隶属函数。

4.3 规则设计思想#

模糊控制规则常根据 eeΔe\Delta e 判断控制量变化:

  1. 若误差正在满意地趋近于零,可以令 Δu=0\Delta u=0
  2. 若误差不能自动减小,则根据 eeΔe\Delta e 的符号与大小调整 Δu\Delta u
  3. 若接近设定值,要防止超调。
  4. 若偏差较大,要优先缩短上升时间。

典型规则:

情况控制思想
e=0,Δe=0e=0,\Delta e=0Δu=0\Delta u=0
e>0,Δe<0e>0,\Delta e<0误差正在减小,远离目标时可继续加大控制,接近目标时减小或保持
e<0,Δe<0e<0,\Delta e<0可能继续向负方向偏离,要抑制超调
e<0,Δe>0e<0,\Delta e>0误差正在回升,远离目标时反向调整
e>0,Δe>0e>0,\Delta e>0误差正在增大,应增强修正

4.4 规则完整性与一致性#

完整性:每一种可能的过程状态都应有合适规则覆盖。

ε\varepsilon 完整性:模糊子集的并覆盖论域达到一定程度,通常要求:

ε0.5\varepsilon \ge 0.5

一致性:规则之间不能互相矛盾。例如同一前件组合不应推出明显冲突的控制动作。

4.5 模糊 PID#

常规模糊 PID:

e, Δe, Σe -> 模糊推理 -> u -> 被控对象
text

增量式模糊 PID:

e, Δe, Δ²e -> 模糊推理 -> Δu -> 累加 -> u -> 被控对象
text

速记:

  • 常规式直接输出 uu
  • 增量式输出 Δu\Delta u,再累加得到 uu

5. 神经网络基础#

5.1 生物神经元#

生物神经元由四部分组成:

  1. 细胞体。
  2. 树突。
  3. 轴突。
  4. 突触。

信息处理机制:

  • 信息产生是电化学活动。
  • 静息状态对应极化。
  • 兴奋对应去极化。
  • 抑制对应超极化。
  • 存在空间整合与时间整合。

5.2 人工神经元模型#

人工神经元的三大核心要素:

  1. 节点本身的信息处理能力。
  2. 节点之间的连接拓扑结构。
  3. 节点之间连接强度,即权值,通过学习调整。

神经元模型:

oj(t)=f(i=1nwijxi(tτij)Tj)o_j(t)=f\left(\sum_{i=1}^{n}w_{ij}x_i(t-\tau_{ij})-T_j\right)

忽略时延后:

oj(t+1)=f(i=1nwijxi(t)Tj)o_j(t+1)=f\left(\sum_{i=1}^{n}w_{ij}x_i(t)-T_j\right)

引入偏置输入 x0=1,w0=Tjx_0=-1,w_0=T_j,可写成:

netj=i=0nwijxi=WjTXnet_j=\sum_{i=0}^{n}w_{ij}x_i=W_j^TX

输出:

oj=f(netj)=f(WjTX)o_j=f(net_j)=f(W_j^TX)

5.3 常见转移函数#

阈值函数:

f(x)={1,x00,x<0f(x)= \begin{cases} 1, & x\ge 0 \\ 0, & x<0 \end{cases}

单极性 Sigmoid:

f(x)=11+exf(x)=\frac{1}{1+e^{-x}}

双极性 Sigmoid:

f(x)=1ex1+exf(x)=\frac{1-e^{-x}}{1+e^{-x}}

分段线性函数:

f(x)={0,x0cx,0<xxc1,x>xcf(x)= \begin{cases} 0, & x\le 0 \\ cx, & 0<x\le x_c \\ 1, & x>x_c \end{cases}

概率型转移函数:

P(1)=11+ex/TP(1)=\frac{1}{1+e^{-x/T}}

其中 TT 是温度参数。

5.4 神经网络类型#

按拓扑结构:

  1. 层次型结构。
  2. 互连型结构。
  3. 全互连型结构。
  4. 局部互连型结构。

按信息流向:

  1. 前馈型网络:信息由输入层到隐层再到输出层逐层传播。
  2. 反馈型网络:节点输出会反馈回网络,状态与历史有关。

5.5 神经网络学习#

学习的本质:对可变权值进行动态调整,使网络输出逐渐接近期望输出。

一般权值调整形式:

ΔWj=ηr[Wj(t),X(t),dj(t)]X(t)\Delta W_j=\eta r[W_j(t),X(t),d_j(t)]X(t) Wj(t+1)=Wj(t)+ηr[Wj(t),X(t),dj(t)]X(t)W_j(t+1)=W_j(t)+\eta r[W_j(t),X(t),d_j(t)]X(t)

学习类型:

  1. 有导师学习。
  2. 无导师学习。
  3. 死记式学习。

6. 前馈神经网络:感知器与 BP#

6.1 单层感知器模型#

输入:

X=(x1,x2,,xn)TX=(x_1,x_2,\ldots,x_n)^T

权向量:

Wj=(w1j,w2j,,wnj)TW_j=(w_{1j},w_{2j},\ldots,w_{nj})^T

净输入:

netj=i=1nwijxinet_j=\sum_{i=1}^{n}w_{ij}x_i

输出:

oj=sgn(netjTj)=sgn(WjTX)o_j=\operatorname{sgn}(net_j-T_j)=\operatorname{sgn}(W_j^TX)

二维情况下,分界线为:

w1jx1+w2jx2Tj=0w_{1j}x_1+w_{2j}x_2-T_j=0

三维情况下,分界面为:

w1jx1+w2jx2+w3jx3Tj=0w_{1j}x_1+w_{2j}x_2+w_{3j}x_3-T_j=0

nn 维情况下是超平面。

考点:单层感知器只能解决线性可分问题,不能解决异或 XOR。

6.2 感知器学习规则#

感知器学习属于有导师学习。

权值更新:

Wj(t+1)=Wj(t)+η[djpojp(t)]XpW_j(t+1)=W_j(t)+\eta[d_j^p-o_j^p(t)]X^p

其中:

  • djpd_j^p 是期望输出。
  • ojp(t)o_j^p(t) 是实际输出。
  • η\eta 是学习率,通常 0<η10<\eta\le 1

训练步骤:

  1. 初始化权值为较小非零随机数。
  2. 输入样本对 {Xp,dp}\{X^p,d^p\}
  3. 计算输出 ojp(t)=sgn[WjT(t)Xp]o_j^p(t)=\operatorname{sgn}[W_j^T(t)X^p]
  4. 用学习规则调整权值。
  5. 重复直到所有样本输出与期望输出一致。

6.3 多层感知器#

引入隐层可以解决单层感知器不能解决的线性不可分问题。

分类能力大致为:

网络结构分类能力
无隐层半平面,线性可分
单隐层可形成凸域
双隐层可形成任意复杂形状域

6.4 BP 算法模型#

三层 BP 网络包括输入层、隐层、输出层。

输入向量:

X=(x1,x2,,xn)TX=(x_1,x_2,\ldots,x_n)^T

隐层输出:

Y=(y1,y2,,ym)TY=(y_1,y_2,\ldots,y_m)^T

输出层输出:

O=(o1,o2,,ol)TO=(o_1,o_2,\ldots,o_l)^T

期望输出:

d=(d1,d2,,dl)Td=(d_1,d_2,\ldots,d_l)^T

输出层:

ok=f(netk),k=1,2,,lo_k=f(net_k),\quad k=1,2,\ldots,l netk=j=0mwjkyjnet_k=\sum_{j=0}^{m}w_{jk}y_j

隐层:

yj=f(netj),j=1,2,,my_j=f(net_j),\quad j=1,2,\ldots,m netj=i=0nvijxinet_j=\sum_{i=0}^{n}v_{ij}x_i

6.5 BP 算法误差函数#

单样本输出误差:

E=12k=1l(dkok)2E=\frac{1}{2}\sum_{k=1}^{l}(d_k-o_k)^2

BP 的本质是梯度下降:

Δwjk=ηEwjk\Delta w_{jk}=-\eta\frac{\partial E}{\partial w_{jk}} Δvij=ηEvij\Delta v_{ij}=-\eta\frac{\partial E}{\partial v_{ij}}

6.6 BP 误差信号与权值更新#

单极性 Sigmoid:

f(x)=11+ex,f(x)=f(x)[1f(x)]f(x)=\frac{1}{1+e^{-x}},\quad f'(x)=f(x)[1-f(x)]

输出层误差信号:

δko=(dkok)ok(1ok)\delta_k^o=(d_k-o_k)o_k(1-o_k)

隐层误差信号:

δjy=(k=1lδkowjk)yj(1yj)\delta_j^y=\left(\sum_{k=1}^{l}\delta_k^o w_{jk}\right)y_j(1-y_j)

输出层权值更新:

Δwjk=ηδkoyj\Delta w_{jk}=\eta\delta_k^o y_j

展开为:

Δwjk=η(dkok)ok(1ok)yj\Delta w_{jk}=\eta(d_k-o_k)o_k(1-o_k)y_j

输入层到隐层权值更新:

Δvij=ηδjyxi\Delta v_{ij}=\eta\delta_j^y x_i

展开为:

Δvij=η(k=1lδkowjk)yj(1yj)xi\Delta v_{ij}=\eta\left(\sum_{k=1}^{l}\delta_k^o w_{jk}\right)y_j(1-y_j)x_i

6.7 BP 学习过程#

考点:流程题。

  1. 初始化权值 V,WV,W,设定误差阈值 EminE_{\min} 和学习率 η\eta
  2. 输入训练样本。
  3. 正向传播,计算隐层和输出层输出。
  4. 计算输出误差。
  5. 反向传播误差,计算各层误差信号。
  6. 调整各层权值。
  7. 对所有样本完成一轮训练。
  8. 判断总误差是否满足精度要求,否则继续训练。

6.8 BP 网络能力#

  1. 非线性映射能力:能学习输入到输出之间的非线性关系。
  2. 泛化能力:对未见过的样本也能给出合理输出。
  3. 容错能力:输入样本有误差时,网络输出规律仍可能保持稳定。

6.9 BP 算法局限性#

考点:简答题。

标准 BP 的缺陷:

  1. 易陷入局部极小,不能保证全局最优。
  2. 训练次数多,学习效率低,收敛速度慢。
  3. 隐节点个数缺乏明确理论指导。
  4. 学习新样本可能遗忘旧样本。

从误差曲面看:

  • 存在平坦区域:梯度小,误差下降慢。
  • 存在多个极小点:容易陷入局部最小。

可调参数总数:

nw=m(n+1)+l(m+1)n_w=m(n+1)+l(m+1)

其中 nn 为输入节点数,mm 为隐层节点数,ll 为输出节点数。

6.10 BP 算法改进#

增加动量项#

标准 BP 只看当前梯度,容易振荡。加入动量项:

ΔW(t)=ηδX+αΔW(t1)\Delta W(t)=\eta\delta X+\alpha\Delta W(t-1)

其中:

α(0,1)\alpha\in(0,1)

作用:利用上一次调整方向,减小振荡,提高收敛速度。

自适应调节学习率#

思想:让学习率随误差变化自动调整。

  • 若一次批量调整后总误差增大,则本次调整无效,令:
η=βη,β<1\eta=\beta\eta,\quad \beta<1
  • 若总误差减小,则调整有效,令:
η=θη,θ>1\eta=\theta\eta,\quad \theta>1

引入陡度因子#

在 Sigmoid 中加入陡度因子:

o=11+enet/λo=\frac{1}{1+e^{-net/\lambda}}

当发现 ΔE\Delta E 接近 0 而 dod-o 仍较大时,说明可能进入平坦区,可令 λ>1\lambda>1,压缩净输入,使神经元退出饱和区。退出后再令 λ=1\lambda=1

7. 自组织神经网络 SOM#

7.1 自组织学习#

自组织学习是指网络通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。

SOM 的自组织功能通过竞争学习实现。

7.2 分类与聚类#

分类:有导师信号,把样本分到已知类别。

聚类:无导师分类,把相似样本划为一类,不相似样本分开。

相似性测度可用欧氏距离:

XXi=(XXi)T(XXi)\|X-X_i\|=\sqrt{(X-X_i)^T(X-X_i)}

也可用余弦相似度:

cosψ=XTXiXXi\cos\psi=\frac{X^TX_i}{\|X\|\|X_i\|}

7.3 竞争学习 Winner-Take-All#

竞争学习规则:输出神经元之间互相竞争,每次只有一个输出神经元被激活,被激活者称为获胜神经元。

步骤:

  1. 对输入向量 XX 和竞争层各权向量 WjW_j 归一化。
  2. 找到与输入最相似的权向量。
  3. 获胜神经元输出 1,其余输出 0。
  4. 调整获胜神经元权值。

获胜条件:

W^jTX^=maxj{1,2,,m}(W^jTX^)\hat W_{j^*}^T\hat X=\max_{j\in\{1,2,\ldots,m\}}\left(\hat W_j^T\hat X\right)

等价于欧氏距离最小:

X^W^j=minjX^W^j\|\hat X-\hat W_{j^*}\|=\min_j\|\hat X-\hat W_j\|

输出:

oj(t+1)={1,j=j0,jjo_j(t+1)= \begin{cases} 1, & j=j^* \\ 0, & j\ne j^* \end{cases}

权值调整:

W^j(t+1)=W^j(t)+μ(t)[X^W^j(t)]\hat W_{j^*}(t+1)=\hat W_{j^*}(t)+\mu(t)\left[\hat X-\hat W_{j^*}(t)\right]

非获胜神经元:

W^j(t+1)=W^j(t),jj\hat W_j(t+1)=\hat W_j(t),\quad j\ne j^*

7.4 SOM 网络#

SOM 由 Kohonen 提出,因此也称 Kohonen 网络。它通常包括输入层和输出竞争层。

SOM 与普通竞争学习的区别:不仅获胜神经元调整权值,获胜神经元邻域内的神经元也按距离远近调整权值。

优胜邻域:

  • 以获胜神经元为中心。
  • 初始邻域较大。
  • 随训练次数增加逐渐收缩。
  • 最终可收缩到半径为零。

7.5 Kohonen 学习算法#

  1. 初始化输出层权向量并归一化,设置初始优胜邻域 Nj(0)N_{j^*}(0) 和学习率 η\eta
  2. 从训练集中随机选择输入模式并归一化。
  3. 计算输入与各权向量的点积,找出获胜节点 jj^*
  4. 定义当前优胜邻域 Nj(t)N_{j^*}(t)
  5. 对优胜邻域内的节点调整权值:
wij(t+1)=wij(t)+η(t,N)[xipwij(t)]w_{ij}(t+1)=w_{ij}(t)+\eta(t,N)\left[x_i^p-w_{ij}(t)\right]

其中:

jNj(t)j\in N_{j^*}(t)

学习率规律:

tη,Nηt\uparrow \Rightarrow \eta\downarrow,\quad N\uparrow \Rightarrow \eta\downarrow

课件给出一种形式:

η(t,N)=η(t)eN\eta(t,N)=\eta(t)e^{-N}
  1. 当学习率衰减到 0 或某个预定小值时结束。

8. 反馈神经网络:离散 Hopfield 网络#

8.1 Hopfield 网络概念#

Hopfield 网络是典型反馈神经网络。课件重点讨论离散型 Hopfield 网络,即 DHNN。

DHNN 中每个神经元都有相同功能,神经元输出称为状态:

X=[x1,x2,,xn]TX=[x_1,x_2,\ldots,x_n]^T

初始状态:

X(0)=[x1(0),x2(0),,xn(0)]TX(0)=[x_1(0),x_2(0),\ldots,x_n(0)]^T

状态更新:

xj=f(netj),j=1,2,,nx_j=f(net_j),\quad j=1,2,\ldots,n

8.2 DHNN 转移函数与净输入#

DHNN 常用符号函数:

xj=sgn(netj)={1,netj01,netj<0x_j=\operatorname{sgn}(net_j)= \begin{cases} 1, & net_j\ge 0 \\ -1, & net_j<0 \end{cases}

净输入:

netj=i=1n(wijxiTj)net_j=\sum_{i=1}^{n}(w_{ij}x_i-T_j)

一般要求:

wii=0,wij=wjiw_{ii}=0,\quad w_{ij}=w_{ji}

网络稳定输出:

limtX(t)\lim_{t\to\infty}X(t)

8.3 异步与同步工作方式#

异步方式:每次只更新一个神经元,其余状态保持不变。

xj(t+1)={sgn[netj(t)],j=ixj(t),jix_j(t+1)= \begin{cases} \operatorname{sgn}[net_j(t)], & j=i \\ x_j(t), & j\ne i \end{cases}

同步方式:所有神经元同时更新。

xj(t+1)=sgn[netj(t)],j=1,2,,nx_j(t+1)=\operatorname{sgn}[net_j(t)],\quad j=1,2,\ldots,n

8.4 稳定性与吸引子#

若网络从初态 X(0)X(0) 出发,经有限次递归后状态不再变化:

X(t+1)=X(t)X(t+1)=X(t)

则称网络稳定。

吸引子定义:

X=f(WXT)X=f(WX-T)

满足该式的状态 XX 是网络的吸引子。

直观理解:吸引子就是网络最终收敛到的稳定状态。

8.5 能量函数#

DHNN 的能量函数:

E(t)=12XT(t)WX(t)+XT(t)TE(t)=-\frac{1}{2}X^T(t)WX(t)+X^T(t)T

状态变化:

ΔX(t)=X(t+1)X(t)\Delta X(t)=X(t+1)-X(t)

能量变化:

ΔE(t)=E(t+1)E(t)\Delta E(t)=E(t+1)-E(t)

异步更新且 WW 为对称阵时:

ΔE(t)=Δxj(t)netj(t)0\Delta E(t)=-\Delta x_j(t)net_j(t)\le 0

结论:能量不会增加,并且有下界,因此最终收敛到一个能量极小状态。能量极小状态称为能量井,对应网络吸引子。

8.6 DHNN 稳定性定理#

定理 1:对于 DHNN,若按异步方式调整状态,且连接权矩阵 WW 为对称阵,则对于任意初态,网络最终收敛到一个吸引子。

定理 2:对于 DHNN,若按同步方式调整状态,且连接权矩阵 WW 为非负定对称阵,则对于任意初态,网络最终收敛到一个吸引子。

8.7 吸引子性质#

性质 1:若 XX 是吸引子,阈值 T=0T=0,且任意节点净输入不为零,则 X-X 也是吸引子。

证明思路:

f[W(X)]=f[WX]=f(WX)=Xf[W(-X)]=f[-WX]=-f(WX)=-X

性质 2:若 XaX_a 是吸引子,则与 XaX_a 海明距离为 1 的 XbX_b 一定不是吸引子。

海明距离:

dH(Xa,Xb)d_H(X_a,X_b)

表示两个状态向量中对应分量不同的个数。

8.8 外积和法设计权值#

设给定 PP 个模式样本:

Xp,p=1,2,,PX^p,\quad p=1,2,\ldots,P

其中:

xip{1,1},n>Px_i^p\in\{-1,1\},\quad n>P

若样本两两正交,则权值矩阵可设计为:

W=p=1PXp(Xp)TW=\sum_{p=1}^{P}X^p(X^p)^T

若要求 wjj=0w_{jj}=0,则:

W=p=1P[Xp(Xp)TI]W=\sum_{p=1}^{P}[X^p(X^p)^T-I]

分量形式:

wij={p=1Pxipxjp,ij0,i=jw_{ij}= \begin{cases} \sum_{p=1}^{P}x_i^px_j^p, & i\ne j \\ 0, & i=j \end{cases}

若样本正交,有:

(Xp)TXk={0,pkn,p=k(X^p)^TX^k= \begin{cases} 0, & p\ne k \\ n, & p=k \end{cases}

则:

WXk=(nP)XkWX^k=(n-P)X^k

因为 n>Pn>P,所以:

f(WXk)=Xkf(WX^k)=X^k

说明给定样本是网络吸引子。

9. 遗传算法#

9.1 智能优化算法#

智能优化算法又称现代启发式算法,特点是具有全局优化性能、通用性强、适合并行处理。

常见智能优化算法:

  1. 遗传算法 GA。
  2. 模拟退火 SA。
  3. 禁忌搜索 TS。

共同特点:从任一解出发,按某种机制并以一定概率在整个求解空间中探索最优解,因此具有全局优化性能。

9.2 遗传算法基本思想#

遗传算法由 J. Holland 于 1975 年提出,是借鉴自然选择与自然遗传机制的随机化搜索算法。

搜索机制:

  1. 保留一组候选解,即种群。
  2. 按适应度选择较优个体。
  3. 通过选择、交叉、变异产生新一代。
  4. 重复迭代直到满足收敛指标。

9.3 基本遗传算法 SGA 组成#

  1. 编码与初始种群。
  2. 适应度函数。
  3. 遗传算子:选择、交叉、变异。
  4. 运行参数:种群规模、进化代数、交叉概率、变异概率。

编码#

SGA 通常使用二进制串编码。

例如函数优化:

f(x)=xsin(10πx)+2.0,x[1,2]f(x)=x\sin(10\pi x)+2.0,\quad x\in[-1,2]

若要求 10610^{-6} 精度,区间长度为 3,需要至少满足:

221<3×106<2222^{21}<3\times 10^6<2^{22}

因此二进制编码至少需要 22 位。

适应度函数#

适应度函数评价个体好坏,是遗传算法进化过程的驱动力。适应度越大,个体质量越好。

选择算子#

SGA 使用轮盘赌选择,即个体被选中的概率与适应度成正比:

Pi=Fii=1nFiP_i=\frac{F_i}{\sum_{i=1}^{n}F_i}

其中 FiF_i 是个体 ii 的适应度。

交叉算子#

交叉是对两个配对染色体按交叉概率 PcP_c 交换部分基因,产生新个体。SGA 通常采用单点交叉。

变异算子#

变异按变异概率 PmP_m 改变编码串中的某些基因。二进制编码中,0 变 1,1 变 0。

作用:

  • 增强局部搜索能力。
  • 保持种群多样性。
  • 与交叉共同完成全局与局部搜索。

9.4 SGA 流程#

  1. 产生初始种群。
  2. 判断是否满足停止准则。
  3. 计算个体适应度。
  4. 执行比例选择。
  5. 执行单点交叉。
  6. 执行基本位变异。
  7. 产生新一代种群。
  8. 重复直到停止。

9.5 遗传算法特点#

考点:简答题。

  1. 群体搜索,易于并行化。
  2. 不是盲目穷举,而是启发式搜索。
  3. 适应度函数不要求连续、可微,适用范围广。
  4. 具有较强全局搜索能力。

9.6 模式定理与积木块假设#

模式:种群个体基因串中的相似样板,用来描述某些特征位相同的结构。二进制编码中使用字符集 {0,1,}\{0,1,*\},其中 * 表示任意字符。

例如:

10**1
text

模式阶 O(H)O(H):模式 HH 中确定位置的个数。

O(101)=3O(10**1)=3

定义距 δ(H)\delta(H):模式中第一个确定位置和最后一个确定位置之间的距离。

δ(101)=4\delta(10**1)=4

模式定理:

具有低阶、短定义距、平均适应度高于种群平均适应度的模式,在子代中呈指数增长。

积木块假设:

遗传算法通过短定义距、低阶、高平均适应度的模式,在遗传操作下相互结合,最终接近全局最优解。

9.7 收敛性影响因素#

要实现全局收敛:

  1. 任意初始种群经过有限步应能到达全局最优解。
  2. 要通过保优操作防止最优解丢失。

主要影响因素:

因素影响
种群规模 MM太小采样不足,太大计算量大、收敛慢
选择操作适应度高的个体更易保留;最优保存策略有利于收敛
交叉概率 PcP_c太大破坏优秀个体,太小搜索停滞
变异概率 PmP_m太小难产生新模式,太大退化为随机搜索

9.8 遗传算法改进#

遗传欺骗问题:某些超常个体竞争力过强,控制选择过程,使算法容易陷入局部最优。

改进方向:

  1. 编码方式改进:二进制编码、格雷编码、浮点数编码。
  2. 遗传算子改进:排序选择、均匀交叉、逆序变异。
  3. 控制参数改进:自适应 PcP_cPmP_m
  4. 执行策略改进:混合遗传算法、免疫遗传算法、小生境遗传算法、单亲遗传算法、并行遗传算法。

Schaffer 建议参数范围:

M=20100M=20\sim100 T=100500T=100\sim500 Pc=0.40.9P_c=0.4\sim0.9 Pm=0.0010.01P_m=0.001\sim0.01

9.9 遗传算法应用#

常见应用:

  1. 组合优化。
  2. 函数优化。
  3. 自动控制。
  4. 生产调度。
  5. 图像处理。
  6. 机器学习。
  7. 人工生命。
  8. 数据挖掘。

在 PID 参数优化中,可把 Kp,Ki,KdK_p,K_i,K_d 编码为染色体,适应度函数可由控制性能指标构造,例如 ITAE:

J=te(t)dtJ=\int t|e(t)|\,dt

通常希望 JJ 越小越好,因此可把适应度设计成 1/J1/J 或带惩罚项的函数。

10. 期末复习重点#

10.1 必须会背的概念#

  1. 智能控制的定义、特点、研究对象。
  2. IC=AIACORIC=AI\cap AC\cap OR 的含义。
  3. 模糊集合、隶属函数、支撑集、核、α\alpha 截集。
  4. 模糊推理的一般形式。
  5. 模糊控制器结构。
  6. 神经元模型、转移函数、神经网络学习本质。
  7. 感知器为什么只能解决线性可分问题。
  8. BP 算法正向传播与误差反传流程。
  9. SOM 的竞争学习和 Winner-Take-All。
  10. Hopfield 网络的吸引子、能量函数、稳定性。
  11. 遗传算法的编码、适应度、选择、交叉、变异。
  12. 模式定理、积木块假设。

10.2 必须会写的公式#

模糊集:

A={(x,μA(x))xX},μA(x)[0,1]A=\{(x,\mu_A(x))\mid x\in X\},\quad \mu_A(x)\in[0,1]

模糊并、交、补:

μAB=max(μA,μB),μAB=min(μA,μB),μAˉ=1μA\mu_{A\cup B}=\max(\mu_A,\mu_B),\quad \mu_{A\cap B}=\min(\mu_A,\mu_B),\quad \mu_{\bar A}=1-\mu_A

模糊控制误差:

ek=yryk,Δek=ekek1e_k=y_r-y_k,\quad \Delta e_k=e_k-e_{k-1}

重心去模糊:

y=yμB(y)dyμB(y)dyy^*=\frac{\int y\mu_B(y)\,dy}{\int \mu_B(y)\,dy}

神经元模型:

oj=f(i=0nwijxi)=f(WjTX)o_j=f\left(\sum_{i=0}^{n}w_{ij}x_i\right)=f(W_j^TX)

BP 误差:

E=12k=1l(dkok)2E=\frac{1}{2}\sum_{k=1}^{l}(d_k-o_k)^2

BP 更新:

δko=(dkok)ok(1ok)\delta_k^o=(d_k-o_k)o_k(1-o_k) δjy=(k=1lδkowjk)yj(1yj)\delta_j^y=\left(\sum_{k=1}^{l}\delta_k^o w_{jk}\right)y_j(1-y_j) Δwjk=ηδkoyj,Δvij=ηδjyxi\Delta w_{jk}=\eta\delta_k^o y_j,\quad \Delta v_{ij}=\eta\delta_j^y x_i

SOM 获胜条件:

W^jTX^=maxj(W^jTX^)\hat W_{j^*}^T\hat X=\max_j(\hat W_j^T\hat X)

SOM 权值更新:

wij(t+1)=wij(t)+η(t,N)[xipwij(t)]w_{ij}(t+1)=w_{ij}(t)+\eta(t,N)[x_i^p-w_{ij}(t)]

Hopfield 能量函数:

E(t)=12XT(t)WX(t)+XT(t)TE(t)=-\frac{1}{2}X^T(t)WX(t)+X^T(t)T

外积和法:

W=p=1P[Xp(Xp)TI]W=\sum_{p=1}^{P}[X^p(X^p)^T-I]

轮盘赌选择:

Pi=Fii=1nFiP_i=\frac{F_i}{\sum_{i=1}^{n}F_i}

10.3 最可能考成简答题的内容#

  1. 智能控制与传统控制的区别。
  2. 模糊控制器的组成和设计步骤。
  3. Mamdani 推理与 T-S 推理的区别。
  4. BP 算法的基本思想、流程、优缺点和改进方法。
  5. 为什么单层感知器不能解决异或问题。
  6. SOM 与普通竞争学习的区别。
  7. Hopfield 网络稳定条件、吸引子和能量函数含义。
  8. 遗传算法流程、特点和参数影响。
  9. 模式定理和积木块假设。
  10. 遗传算法如何用于 PID 参数优化。

10.4 临考速通顺序#

  1. 先背第 1、4、6、8、9 章的“流程与概念”。
  2. 再抄写第 10.2 节公式,保证能独立写出。
  3. 最后看模糊推理、BP、Hopfield、GA 四类典型推导。

如果时间很紧,优先级:

模糊控制器结构 > BP公式与流程 > Hopfield能量函数 > 遗传算法流程 > 智能控制概念
text
智能控制内容总结
https://zerohour.fun/blog/intelligent_control/%E6%99%BA%E8%83%BD%E6%8E%A7%E5%88%B6%E5%86%85%E5%AE%B9%E6%80%BB%E7%BB%93
Author ZeroHour
Published at 2026年5月12日
Comment seems to stuck. Try to refresh?✨