初学机器学习西瓜书的概要记录(一)机器学习基础知识篇(已完结)
初学机器学习西瓜书的概要记录(二)常用的机器学习方法篇(持续更新)
初学机器学习西瓜书的概要记录(三)进阶知识篇(待更)
文字公式撰写不易,随意学习,转载请注明!谢谢
(二)常用的机器学习方法篇
- 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=1∑∣y∣pklog2pk
计算信息熵时约定:若
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|}
log2∣y∣
信息增益直接以信息熵为基础,计算当前划分对信息熵所造成的变化
离散属性 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=1∑V∣D∣∣Dv∣Ent(Dv)
其中:
E n t ( D ) Ent(D) Ent(D) 为划分前的信息熵
∣ D v ∣ ∣ D ∣ {|D^v|\over |D|} ∣D∣∣Dv∣ 为第 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=1∑V∣D∣∣Dv∣log2∣D∣∣Dv∣
其中
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=1∑∣y∣k′=k∑pkpk′=1−k=1∑∣y∣pk2
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 缺失值的处理
现实生活中,经常会遇到属性值“缺失”现象,仅使用无缺失的样例? 是对数据的极大浪费
使用待缺失值的样例,需解决:
- 如何进行划分属性选择?
- 给定划分属性,若样本在该属性上的值缺失,如何进行划分?
基本思路:样本赋权,权重划分
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∣∣w∣∣2s.t.yi(wTxi+b)≥1,i=1,2,...,m
凸二次规划问题,能用优化计算包求解,但可以有更有效的办法(拉格朗日乘子法)
5.2 对偶问与解的特性
对偶问题
拉格朗日乘子法
第一步:引入拉格朗日乘子
a
i
≥
0
a_i \geq0
ai≥0得到拉格朗日函数
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∣∣w∣∣2+i=1∑mai(1−yi(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=1∑maiyixi,0=i=1∑maiyi
对偶问题:对偶问题得到的最小值,是原目标函数下界,需要求该最小值在原目标函数的最大值
第三步:回代可得
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=1∑mai−21i=1∑mj=1∑maiajyiyjxiTxjs.t.i=1∑maiyi=0,ai≥0,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=1∑maiyixiTxj+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}
⎩
⎨
⎧ai≥0;1−yif(xi)≤0;ai(1−yif(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,ai≥0,aj≥0
用 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=1∑mai−21i=1∑mj=1∑maiajyiyjxiTxj
有闭式解,对任意支持向量 ( 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∣∣w∣∣2s.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=1∑mai−21i=1∑mj=1∑maiajyiyjϕ(xi)Tϕ(xj)s.t.i=1∑maiyi=0,ai≥0,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=1∑maiyiϕ(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 X′AX半正定,即对于任意不为 0 0 0的实列向量 X X X, 都有 X ′ A X ≥ 0 都有X'AX≥0 都有X′AX≥0
任何一个核函数,都隐式地定义了一个 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∣∣w∣∣2+Ci=1∑m(ξi+ξ^i)s.t.f(xi)−yi≤ϵ+ξ^i,yi−f(xi)≤ϵ+ξ^i,ξi≥0,ξ^i≥0,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=1∑myi(a^i−ai)−ϵ(a^i+ai)−21i=1∑mj=1∑m(a^i−ai)(a^j−aj)xiTxjs.t.i=1∑m(a^i−ai)=0,0≤ai,a^i≤C
预测:
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=1∑m(a^i−ai)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)},xi∈Rd,yi∈Rl
输入:
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=1∑l(y^jk−yjk)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
v←v+Δ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=−η∂whj∂Ek注意到
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}}
∂whj∂Ek=∂y^jk∂Ek∂βj∂y^jk∂whj∂β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+e−x1,有
f
′
(
x
)
=
f
(
x
)
(
1
−
f
(
x
)
)
f'(x)=f(x)(1-f(x))
f′(x)=f(x)(1−f(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)
∂βj∂y^jk=f′(βj−θj)=y^jk(1−y^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
∂whj∂Ek=(y^jk−yjk)⋅y^jk(1−y^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^jk∂Ek∂βj∂y^jk=y^jk(1−y^jk)(yjk−y^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=−η∂whj∂Ek=η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=−∂bh∂Ek⋅∂ah∂bh=bh(1−bh)j=1∑lwhjgj
学习率
η
∈
(
0
,
1
)
\eta \in(0,1)
η∈(0,1),不能太大、也不能太小