【AI学习笔记】初学机器学习西瓜书概要记录(二)常用的机器学习方法篇

server/2024/9/22 22:54:40/

初学机器学习西瓜书的概要记录(一)机器学习基础知识篇(已完结)
初学机器学习西瓜书的概要记录(二)常用的机器学习方法篇(持续更新)
初学机器学习西瓜书的概要记录(三)进阶知识篇(待更)

文字公式撰写不易,随意学习,转载请注明!谢谢

(二)常用的机器学习方法篇

  • 4.1 决策树的基本流程
  • 4.2 信息增益划分
  • 4.3 其他属性的划分准则
  • 4.4 决策树剪枝
  • 4.5 缺失值的处理
  • 5.1 支持向量机基本型
  • 5.2 对偶问与解的特性
  • 5.3 求解方法(SMO)
  • 5.4 特征空间映射
  • 5.5 核函数
  • 5.6 如何使用SVM
  • 6.1 神经网络模型
  • 6.2 万有逼近性
  • 6.3 BP算法推导

以下内容出自周志华老师亲讲西瓜书

4.1 决策树的基本流程

决策树基于“树”结构进行决策

  • 每个内部结点对应某个属性上的测试
  • 每个分支对应于该测试的一种可能结果(即该属性的某个取值)
  • 每个叶结点对应于一个预测结果
    在这里插入图片描述

学习过程:通过对训练样本的分析来确定“划分属性”(即内部结点所对应的属性)
预测过程:将测试示例从跟结点开始,沿着划分属性所构成的“判定测试序列”下行,直到叶结点
策略:分而治之,自根至叶的递归过程,在每个中间结点寻找一个"划分"属性

对当前某个结点进行划分时,确定递归停止的三种条件:

  • 当前结点包含的样本全属于同一类别,无需划分;
  • 当前属性集为空,或是所以样本在所有属性上取值相同,无法划分;
  • 当前结点包含的样本集为空,不能划分。
    在这里插入图片描述

4.2 信息增益划分

决策树的提出是收到信息论的启发,因此很多东西是以信息论的准测进行判断,而在信息论中最重要的一个量就是“熵”
信息熵是度量样本集合“纯度”最常用的一种指标,假定当前样本集合 D D D 中第 k k k 类样本所占的比例为 p k p_k pk,则 D D D 的信息熵定义为
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=-\sum^{|y|}_{k=1}p_klog_2p_k Ent(D)=k=1ypklog2pk
计算信息熵时约定:若 p = 0 p=0 p=0,则 p l o g 2 p = 0 plog_2p=0 plog2p=0
E n t ( D ) Ent(D) Ent(D) 的值越小,则 D D D 的纯度越高, E n t ( D ) Ent(D) Ent(D) 的最小值为 0,最大值为 l o g 2 ∣ y ∣ log_2{|y|} log2y
信息增益直接以信息熵为基础,计算当前划分对信息熵所造成的变化

离散属性 a a a 的取值: { a 1 , a 2 , . . . , a V } \{a^1,a^2,...,a^V\} {a1,a2,...,aV}
D v D^v Dv D D D a a a 上取值 = a v =a^v =av的样本集合
以属性 a a a 对数据集 D D D 进行划分所获得的新增增益为:
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D) - \sum_{v=1}^V{|D^v|\over |D|}Ent(D^v) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)
其中:
E n t ( D ) Ent(D) Ent(D) 为划分前的信息熵
∣ D v ∣ ∣ D ∣ {|D^v|\over |D|} DDv 为第 v v v个分支的权重,样本越多越重要
E n t ( D v ) Ent(D^v) Ent(Dv) 为划分后的信息熵

4.3 其他属性的划分准则

信息增益如果只考虑了信息量的获得,一定程度上偏好了分支多的属性,因为分支越多,分到分支上样本数量就会越少。

信息增益:可对取值数目较多的属性有所偏好,有明显弱电,例如:考虑将“编号”作为一个属性
增益率:
G a i n r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) 其中 I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g 2 ∣ D v ∣ ∣ D ∣ Gain_ratio(D,a)={Gain(D,a)\over IV(a)} \\ 其中 IV(a)=-\sum^V_{v=1}{|D^v|\over |D|} log_2{|D^v|\over |D|} Gainratio(D,a)=IV(a)Gain(D,a)其中IV(a)=v=1VDDvlog2DDv
其中 a a a 的可能取值数目越多(即 V V V 越大),则 I V ( a ) IV(a) IV(a) 的值通常即越大

启发式:先从候选划分属性中找出信息增益高于平均水平的,再从中选取增益率最高的

没有办法对信息增益和增益率做绝对正确的权衡,但对于分支多的情况被解决了,像上式这种情况叫做规范化。归一化是规范化的特殊形式,更多情况下规范化是将不可比较的东西变得可比较。

基尼指数(Gini index)
反应了从D中随机抽取两个样例,其类别标记不一致的概率

在多个类别 y y y 中,抽取样例某一个类 k k k 的概率为为 p k p_k pk ,再抽取样例为另一个类 k ′ ≠ k k' \not= k k=k 的概率为 p k ′ p_k' pk,如果这两个概率相乘很大,则证明这个集合 D D D 中不太“干净”
G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ = 1 − ∑ k = 1 ∣ y ∣ p k 2 Gini(D)=\sum^{|y|}_{k=1}\sum_{k' \not= k}p_kp_k'=1-\sum^{|y|}_{k=1}p^2_k Gini(D)=k=1yk=kpkpk=1k=1ypk2
G i n i ( D ) Gini(D) Gini(D) 越小,数据集 D D D 的纯度越高

属性 a a a 的基尼指数: G i n i i n d e x ( D , a ) = ∑ v = 1 V G i n i ( D v ) Gini_index(D,a)=\sum^V_{v=1}Gini(D^v) Giniindex(D,a)=v=1VGini(Dv)
在候选属性集合中,选取那个使划分后基尼指数最小的属性(CART算法中使用)

关键是如何去衡量,经过一个操作后,后面的东西比原来更“纯净”!

4.4 决策树剪枝

划分选择 vs. 剪枝
研究表明:划分选择的各种准则虽然对决策树的尺寸有较大影响,但对泛化性能的影响很有限
例如信息增益与基尼指数产生的结果,仅在约2%的情况下不同,剪枝方法和程度对决策树泛化性能的影响更显著,在数据带噪声时甚至可能将泛化性能提升25%

剪枝是决策树对付“过拟合”的主要手段

现阶段,在单决策树时,一定是需要剪枝的

为了尽可能正确分类训练样本,有可能造成分支过多(过拟合),可通过主动去掉一些分支来降低过拟合的风险

基本策略:

  • 预剪枝:提前终止某些分支的生长
  • 后剪枝:生成一颗完全树,再“回头”剪枝

剪枝过程中需评估剪枝前后决策树的优劣(详情见模型的评估)

4.5 缺失值的处理

现实生活中,经常会遇到属性值“缺失”现象,仅使用无缺失的样例? 是对数据的极大浪费

使用待缺失值的样例,需解决:

  1. 如何进行划分属性选择?
  2. 给定划分属性,若样本在该属性上的值缺失,如何进行划分?

基本思路:样本赋权,权重划分

5.1 支持向量机基本型

在这里插入图片描述

离正类和负类距离差不多的最好!

间隔与支持向量
在这里插入图片描述最大间隔:寻找参数 w w w b b b,使得 γ \gamma γ 最大
a r g m a x w , b 2 ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m \underset{w,b}{argmax}{2\over ||w||} \\ s.t. \quad y_i(w^Tx_i+b)\geq1,i=1,2,...,m w,bargmax∣∣w∣∣2s.t.yi(wTxi+b)1,i=1,2,...,m

a r g m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m \underset{w,b}{argmin}{1\over2} ||w||^2 \\ s.t. \quad y_i(w^Tx_i+b)\geq1,i=1,2,...,m w,bargmin21∣∣w2s.t.yi(wTxi+b)1,i=1,2,...,m
凸二次规划问题,能用优化计算包求解,但可以有更有效的办法(拉格朗日乘子法)

5.2 对偶问与解的特性

对偶问题
拉格朗日乘子法
第一步:引入拉格朗日乘子 a i ≥ 0 a_i \geq0 ai0得到拉格朗日函数
L ( w , b , a ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m a i ( 1 − y i ( w T x i + b ) ) L(w,b,a)={1\over 2}||w||^2+\sum^m_{i=1}a_i(1-y_i(w^Tx_i+b)) L(w,b,a)=21∣∣w2+i=1mai(1yi(wTxi+b))
第二步:令 L ( w , b , a ) L(w,b,a) L(w,b,a) w w w b b b 求偏导为零可得
w = ∑ i = 1 m a i y i x i , 0 = ∑ i = 1 m a i y i w=\sum^m_{i=1}a_iy_ix_i,0=\sum^m_{i=1}a_iy_i w=i=1maiyixi,0=i=1maiyi
对偶问题:对偶问题得到的最小值,是原目标函数下界,需要求该最小值在原目标函数的最大值
第三步:回代可得
m a x a = ∑ i = 1 m a i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j x i T x j s . t . ∑ i = 1 m a i y i = 0 , a i ≥ 0 , i = 1 , 2 , . . . , m \underset{a}{max}=\sum^m_{i=1}a_i-{1\over 2}\sum^m_{i=1}\sum^m_{j=1}a_ia_jy_iy_jx_i^Tx_j \\ s.t. \quad \sum^m_{i=1}a_iy_i=0,a_i\geq0,i=1,2,...,m amax=i=1mai21i=1mj=1maiajyiyjxiTxjs.t.i=1maiyi=0,ai0,i=1,2,...,m

解的特性
最终模型
f ( x ) = w T x + b = ∑ i = 1 m a i y i x i T x j + b f(x)=w^Tx+b=\sum_{i=1}^ma_iy_ix_i^Tx_j+b f(x)=wTx+b=i=1maiyixiTxj+b
KKT条件:

{ a i ≥ 0 ; 1 − y i f ( x i ) ≤ 0 ; a i ( 1 − y i f ( x i ) ) = 0 \begin{cases} a_i\geq0; & \\ 1-y_if(x_i)\leq0;\\ a_i(1-y_if(x_i)) = 0\\ \end{cases} ai0;1yif(xi)0;ai(1yif(xi))=0
必有 a i = 0 a_i=0 ai=0 y i f ( x i ) = 1 y_if(x_i)=1 yif(xi)=1

解的稀疏性:训练完成后,最终模型仅于支持向量有关,支持向量机因此而得名

5.3 求解方法(SMO)

基本思路:不断执行如下两个步骤直至收敛

  • 第一步:选取一对需更新的变量 a i a_i ai a j a_j aj
  • 第二步:固定 a i a_i ai a j a_j aj 以外的参数,求解对偶问题更新 a i a_i ai a j a_j aj ,仅考虑 a i a_i ai a j a_j aj 时,对偶问题的约束 0 = ∑ i = 1 m a i y i 0=\sum^m_{i=1}a_iy_i 0=i=1maiyi,变为
    a i y i + a j y j = c , a i ≥ 0 , a j ≥ 0 a_iy_i+a_jy_j=c,a_i \geq0,a_j\geq 0 aiyi+ajyj=c,ai0,aj0
    a i a_i ai 表示 a j a_j aj 代入对偶问题
    m a x a = ∑ i = 1 m a i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j x i T x j \underset{a}{max}=\sum^m_{i=1}a_i-{1\over 2}\sum^m_{i=1}\sum^m_{j=1}a_ia_jy_iy_jx_i^Tx_j amax=i=1mai21i=1mj=1maiajyiyjxiTxj
    有闭式解,对任意支持向量 ( x s , y s ) (x_s,y_s) (xs,ys) y s f ( x s ) = 1 y_sf(x_s)=1 ysf(xs)=1,由此可解出 b b b

找最初两个点时,先把违背 KKT 条件最多的点找出来,理论上第二个点也是寻找违背KKT条件最多的点,但是计算量太大,因此第二个点找离它间隔最远的点,为提高鲁棒性,通常使用所有支持向量求解的平均值

5.4 特征空间映射

若不存在一个能正确划分两类样本的超平面,怎么办?
将样本从原始空间映射到一个更高维的特征空间,使样本在这个特征空间内线性可分
在这里插入图片描述
如果原始空间是有限维(属性数有限),那么一定存在一个高维特征空间使样本线性可分

设样本 x x x 映射后的向量为 ϕ ( x ) \phi(x) ϕ(x) ,划分超平面 f ( x ) = w T ϕ ( x ) + b f(x)=w^T\phi(x)+b f(x)=wTϕ(x)+b
原始问题:
a r g m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 , i = 1 , 2 , . . . , m \underset{w,b}{argmin}{1\over2} ||w||^2 \\ s.t. \quad y_i(w^T\phi(x_i)+b)\geq1,i=1,2,...,m w,bargmin21∣∣w2s.t.yi(wTϕ(xi)+b)1,i=1,2,...,m
对偶问题:
m a x a = ∑ i = 1 m a i − 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j ϕ ( x i ) T ϕ ( x j ) s . t . ∑ i = 1 m a i y i = 0 , a i ≥ 0 , i = 1 , 2 , . . . , m \underset{a}{max}=\sum^m_{i=1}a_i-{1\over 2}\sum^m_{i=1}\sum^m_{j=1}a_ia_jy_iy_j\phi(x_i)^T\phi(x_j) \\ s.t. \quad \sum^m_{i=1}a_iy_i=0,a_i\geq0,i=1,2,...,m amax=i=1mai21i=1mj=1maiajyiyjϕ(xi)Tϕ(xj)s.t.i=1maiyi=0,ai0,i=1,2,...,m
有一个计算上的问题,原来的 x x x 是一个低维的,而现在的 ϕ ( x ) \phi(x) ϕ(x) 是一个非常高维的,甚至可能是无限维,计算两个高维向量的内积代价巨大。
预测:
f ( x ) = w T ϕ ( x ) + b = ∑ i = 1 m a i y i ϕ ( x i ) T ϕ ( x j ) + b f(x)=w^T\phi(x)+b=\sum_{i=1}^ma_iy_i\phi(x_i)^T\phi(x_j)+b f(x)=wTϕ(x)+b=i=1maiyiϕ(xi)Tϕ(xj)+b
观察发现 ϕ ( x i ) T ϕ ( x ) \phi(x_i)^T\phi(x) ϕ(xi)Tϕ(x)只以内积的形式出现,因此可以通过另一种东西去代替(核函数)。

5.5 核函数

基本思路:
κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa(x_i,x_j)=\phi(x_i)^T\phi(x_j) κ(xi,xj)=ϕ(xi)Tϕ(xj)
绕过显式考虑特征映射、以及计算高维内积的困难

Mercer定理:若一个对称函数所对应的核矩阵半正定,则它能作为核函数来使用
半正定矩阵,是正定矩阵的推广。实对称矩阵A称为半正定的,如果二次型 X ′ A X X'AX XAX半正定,即对于任意不为 0 0 0的实列向量 X X X 都有 X ′ A X ≥ 0 都有X'AX≥0 都有XAX0

任何一个核函数,都隐式地定义了一个 R K H S RKHS RKHS(再生核希尔伯特空间)

核函数选择 成为决定支持向量机性能的关键!

5.6 如何使用SVM

以回归学习为例

分类和回归的区别在于输出变量的类型。
定量输出称为回归,或者说是连续变量预测;
定性输出称为分类,或者说是离散变量预测。

基本思路:运行模型输出与实际输出间存在 2 ϵ 2\epsilon 2ϵ 的差别
在这里插入图片描述
落入 2 ϵ 2\epsilon 2ϵ 间的不计算损失
在这里插入图片描述
原始问题:
a r g m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) s . t . f ( x i ) − y i ≤ ϵ + ξ ^ i , y i − f ( x i ) ≤ ϵ + ξ ^ i , ξ i ≥ 0 , ξ ^ i ≥ 0 , i = 1 , 2 , . . . , m \underset{w,b}{argmin}{1\over2} ||w||^2 +C\sum^m_{i=1}(\xi_i+\hat\xi_i) \\ s.t. \quad f(x_i)-y_i\leq \epsilon+\hat\xi_i,\\ \quad \quad y_i-f(x_i) \leq \epsilon+\hat\xi_i,\\ \xi_i\geq 0, \hat\xi_i\geq 0, i=1,2,...,m w,bargmin21∣∣w2+Ci=1m(ξi+ξ^i)s.t.f(xi)yiϵ+ξ^i,yif(xi)ϵ+ξ^i,ξi0,ξ^i0,i=1,2,...,m
对偶问题:
m a x a = ∑ i = 1 m y i ( a ^ i − a i ) − ϵ ( a ^ i + a i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( a ^ i − a i ) ( a ^ j − a j ) x i T x j s . t . ∑ i = 1 m ( a ^ i − a i ) = 0 , 0 ≤ a i , a ^ i ≤ C \underset{a}{max}=\sum^m_{i=1}y_i(\hat a_i-a_i)-\epsilon(\hat a_i+a_i)-{1\over 2}\sum^m_{i=1}\sum^m_{j=1}(\hat a_i-a_i)(\hat a_j-a_j)x_i^Tx_j\\ s.t. \quad \sum^m_{i=1}(\hat a_i-a_i)=0,0\leq a_i,\hat a_i\leq C amax=i=1myi(a^iai)ϵ(a^i+ai)21i=1mj=1m(a^iai)(a^jaj)xiTxjs.t.i=1m(a^iai)=0,0ai,a^iC

预测:
f ( x ) = ∑ i = 1 m ( a ^ i − a i ) x i T x + b f(x)=\sum_{i=1}^m(\hat a_i-a_i)x_i^Tx+b f(x)=i=1m(a^iai)xiTx+b

6.1 神经网络模型

什么是神经网络:

  • 神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应
  • 神经网络是一个很大的学科领域,本课程仅讨论神经网络与机器学习的交集,即“神经网络学习”亦称"连接主义"学习
    在这里插入图片描述

神经元的“激活函数”

  • 理想激活函数是阶跃函数,0表示抑制神经元而1表示激活神经元
  • 阶跃函数具有不联系、不光滑等不好的性质,常用的是 Sigmoid 函数

在这里插入图片描述

多层前馈网络结构
多层网络:包含隐层的网络
前馈网络:神经元之间不存在同层连接也不存在跨层连接
在这里插入图片描述

隐层和输出层神经元亦称“功能单元”
多层前馈网络具有强大的表示能力(“万有逼近性”)

6.2 万有逼近性

仅需一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数。

但是,如何设置隐层神经元数是未决问题,实际常用“试错法”

6.3 BP算法推导

BP(BackPropagation)误差逆传播算法

给定训练集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . ( x m , y m ) } , x i ∈ R d , y i ∈ R l D=\{(x_1,y_1),(x_2,y_2),...(x_m,y_m)\}, x_i\in \mathbb{R^d}, y_i\in \mathbb{R^l} D={(x1,y1),(x2,y2),...(xm,ym)},xiRd,yiRl
输入: d d d 维特征向量
输出: l l l 个输出值
隐层:假定使用 q q q 个隐层神经元
假定功能函数均使用 Sigmoid 函数
在这里插入图片描述
对于训练例 ( x k , y k ) (x_k,y_k) (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^k_j=f(\beta_j-\theta_j) y^jk=f(βjθj)其中 j j j 表示第 j j j 个神经元,而 k k k 为在第 k k k 个样例上, θ \theta θ 为输出层阈值
则网络在 ( x k , y k ) (x_k,y_k) (xk,yk) 上的均方误差为:
E k = 1 2 ∑ j = 1 l ( y ^ j k − y j k ) 2 E_k={1\over 2}\sum^l_{j=1}(\hat y^k_j -y^k_j)^2 Ek=21j=1l(y^jkyjk)2 需要通过学习确定的参数数目: ( d + l + 1 ) q + l (d+l+1)q+l (d+l+1)q+l
输出层 → \rightarrow 隐层: d × q d\times q d×q 连接权
隐层 → \rightarrow 输出层: q × l q\times l q×l 连接权
功能神经元拥有自己的阈值,隐层有 q q q 个阈值,输出层有 l l l 个阈值

BP算法是一个迭代学习算法,在迭代的每一轮中采用广义感知机学习规则
v ← v + Δ v v \leftarrow v+\Delta v vv+Δv
BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整,以 w h j w_{hj} whj为例
对误差 E k E_k Ek,给定学习 η \eta η,有:
Δ w h j = − η ∂ E k ∂ w h j \Delta w_{hj}=-\eta{\partial E_k \over\partial w_{hj}} Δwhj=ηwhjEk注意到 w h j w_{hj} whj 先影响到 β j \beta_j βj,再影响到 y ^ j k \hat y^k_j y^jk,然后才影响到 E k E_k Ek,有:
∂ E k ∂ w h j = ∂ E k ∂ y ^ j k ∂ y ^ j k ∂ β j ∂ β j ∂ w h j {\partial E_k \over\partial w_{hj}}={\partial E_k \over\partial \hat y^k_j}{\partial \hat y^k_j \over\partial \beta_j}{\partial \beta_j \over\partial w_{hj}} whjEk=y^jkEkβjy^jkwhjβj
其中 y ^ j k = f ( β j − θ j ) \hat y^k_j=f(\beta_j - \theta_j) y^jk=f(βjθj),对 s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) ={1\over 1+e^{-x}} sigmoid(x)=1+ex1,有 f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x)=f(x)(1-f(x)) f(x)=f(x)(1f(x)),因此 ∂ y ^ j k ∂ β j = f ′ ( β j − θ j ) = y ^ j k ( 1 − y ^ j k ) {\partial \hat y^k_j \over\partial \beta_j}=f'(\beta_j-\theta_j)=\hat y^k_j(1-\hat y^k_j) βjy^jk=f(βjθj)=y^jk(1y^jk)
∂ E k ∂ w h j = ( y ^ j k − y j k ) ⋅ y ^ j k ( 1 − y ^ j k ) ⋅ b h {\partial E_k \over\partial w_{hj}}=(\hat y^k_j-y^k_j)\cdot \hat y^k_j(1-\hat y^k_j)\cdot b_h whjEk=(y^jkyjk)y^jk(1y^jk)bh
g i = − ∂ E k ∂ y ^ j k ∂ y ^ j k ∂ β j = y ^ j k ( 1 − y ^ j k ) ( y j k − y ^ j k ) g_i=-{\partial E_k \over\partial \hat y^k_j}{\partial \hat y^k_j \over\partial \beta_j}=\hat y^k_j(1-\hat y^k_j)( y^k_j -\hat y^k_j ) gi=y^jkEkβjy^jk=y^jk(1y^jk)(yjky^jk)
于是:
Δ w h j = − η ∂ E k ∂ w h j = η g i b h \Delta w_{hj}=-\eta{\partial E_k \over\partial w_{hj}}=\eta g_ib_h Δwhj=ηwhjEk=ηgibh类似地,有:
Δ θ j = − η g j Δ v i h = η e h x i Δ γ h = − η e h \Delta \theta_j=-\eta g_j \\ \Delta v_{ih}=\eta e_hx_i \\ \Delta \gamma_h=-\eta e_h Δθj=ηgjΔvih=ηehxiΔγh=ηeh
其中:
e h = − ∂ E k ∂ b h ⋅ ∂ b h ∂ a h = b h ( 1 − b h ) ∑ j = 1 l w h j g j e_h=-{\partial E_k\over \partial b_h}\cdot{\partial b_h \over \partial a_h}\\=b_h(1-b_h)\sum^l_{j=1}w_{hj}g_j eh=bhEkahbh=bh(1bh)j=1lwhjgj
学习 η ∈ ( 0 , 1 ) \eta \in(0,1) η(0,1),不能太大、也不能太小


http://www.ppmy.cn/server/120507.html

相关文章

研究生如何利用 ChatGPT 帮助开展日常科研工作?

ChatGPT科研 一、 如何精读论文“三步提问法”1.为什么要做这个研究?这个研究是否值得我们做?2.他们怎么做这个研究3.他们发现了什么? 二、如何利用ChatGPT快速精读论文?首先,“三步走之第一步”--为什么要做这个研究&…

uni-app生命周期

目录 一、页面生命周期 1、onLoad 【常用】 2、onShow【常用】 3、onReady【常用】 4、onHide【常用】 5、onPullDownRefresh【常用】 6、onReachBottom【常用】 二、应用生命周期 1、onLaunch【常用】 2、onShow【常用】 3、onHide【常用】 三、组件生命周期 1、…

Spring Service中的@Service注解的使用

Service注解是Spring框架中用于标识业务逻辑层(Service层)的注解。它是Spring组件扫描机制的一部分,表明这个类包含业务逻辑,并且应该由Spring容器管理为一个Spring Bean。它与Component类似,都是标识一个类为Spring管…

安卓沉浸式状态栏遇到的问题

1.顶部状态栏黑条问题 解决方案①:   在Activuty的onCreate方法中设置如下代码。 WindowManager.LayoutParams lp getWindow().getAttributes();if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {lp.layoutInDisplayCutoutMode WindowManager.LayoutPar…

IPsec-VPN中文解释

一 IPsec-VPN 实操 (点到点) 网络括谱图 IPSec-VPN 配置思路 1 配置IP地址 FWA:IP地址的配置 [FW1000-A]interface GigabitEthernet 1/0/0 [FW1000-A-GigabitEthernet1/0/0]ip address 10.1.1.1 24 //配置IP地址 [FW1000-A]interface GigabitEthernet 1/0/2 [FW10…

c#的委托、事件

程序目的:实现对一个bool型变量的监视,当数据变化时,调用某一个函数,引申出委托、事件等基础概念。 方法一、在form1的类定义中,定义如下代码,这样定义是最直接的,也非常简单,没有涉…

涛思数据库安装和卸载

安装 cd opt/taos/TDengine-server-2.4.0.5 sudo ./install.sh 启动taos​ 安装后,请使用 systemctl 命令来启动 TDengine 的服务进程 systemctl start taosd检查服务是否正常工作: systemctl status taosd 升级 3.0 版在之前版本的基础上&#x…

rabbitmq整合skywalking并编写自定义插件增强

rabbitmq整合skywalking 首先先下载准备好skywalking 的服务端和ui控制台,java-agent https://skywalking.apache.org/downloads/ 整合skywalking 我的流程是在生产者和消费者服务中去引入一个mq的sdk,具体SDK的内容可以查看这篇文章 在sdk的pom文件…