初学机器学习西瓜书的概要记录(一)机器学习基础知识篇(已完结)
初学机器学习西瓜书的概要记录(二)常用的机器学习方法篇(持续更新)
初学机器学习西瓜书的概要记录(三)进阶知识篇(待更)
文字公式撰写不易,随意学习,转载请注明!谢谢
(二)常用的机器学习方法篇
- 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),不能太大、也不能太小