机器学习多层感知机梯度推导

机器学习多层感知机梯度推导

在我的前一篇文章中,已经推导出了单层感知机梯度的计算公式
单层感知机梯度推导

在这里插入图片描述
φ E φ w j 0 = ( O − t ) σ ( x 0 1 ) ) ( 1 − σ ( x 0 1 ) ) ) x j 0 \frac {\varphi_E} {\varphi_{w_{j_0}}} = (O - t) \sigma(x_0^1))(1 - \sigma(x_0^1))) {x_j^0} \\ φwj0φE=(Ot)σ(x01))(1σ(x01)))xj0

激活函数不变:
s i g m o i d = 1 1 + e − x sigmoid = \frac 1 {1 + e^{-x}} sigmoid=1+ex1
激活函数求导:
s i g m o i d ′ = σ ( x ) ( 1 − σ ( x ) ) ( 具 体 过 程 参 照 上 面 链 接 ) sigmoid' = \sigma(x)(1 - \sigma(x)) \\ (具体过程参照上面链接) sigmoid=σ(x)(1σ(x))()
损失函数:MSE
E = 1 2 Σ i = 0 m ( O k − t k ) 2 E = {\frac 1 2}\Sigma_{i=0}^m(O_k - t_k)^2 E=21Σi=0m(Oktk)2
多层感知机:
在这里插入图片描述
设 置 前 一 层 对 后 一 层 的 权 值 为 W j k j 为 前 一 层 的 结 点 位 置 , k 为 后 一 层 的 结 点 位 置 , 如 图 : 设置前一层对后一层的权值为W{_j}{_k}\\j为前一层的结点位置,k为后一层的结点位置,如图: Wjkjk
在这里插入图片描述
即 求 解 φ E φ W j k 即求解 \frac {\varphi_E} {\varphi_{W_{j_k}}} φWjkφE
φ E φ W j k = φ 1 2 Σ i = 0 m ( O k − t k ) 2 φ W j k \frac {\varphi_E} {\varphi_{W_{j_k}}} = \frac {\varphi{{\frac 1 2}\Sigma_{i=0}^m(O_k - t_k)^2}} {\varphi_{W_{j_k}}} φWjkφE=φWjkφ21Σi=0m(Oktk)2
只 有 当 i = k 时 导 数 不 为 0 所 以 φ E φ W j k = φ 1 2 ( O k − t k ) 2 φ W j k 只有当i = k时导数不为0所以\\ \frac {\varphi_E} {\varphi_{W_{j_k}}} = \frac {\varphi{{\frac 1 2}(O_k - t_k)^2}} {\varphi_{W_{j_k}}} i=k0φWjkφE=φWjkφ21(Oktk)2
例 如 ( 0 0 − t 0 ) 2 + ( 0 1 − t 1 ) 2 对 W 0 1 求 导 从 图 中 可 以 看 出 W 0 1 对 ( 0 0 − t 0 ) 2 并 没 有 贡 献 所 以 相 当 于 常 数 项 求 导 例如 (0_0 - t_0)^2 + (0_1 - t_1)^2对W{_0}{_1}求导从图中可以看出\\W{_0}{_1}对(0_0 - t_0)^2并没有贡献所以相当于常数项求导 (00t0)2+(01t1)2W01W01(00t0)2
φ E φ W j k = ( O k − t k ) φ O k φ W j k \frac {\varphi_E} {\varphi_{W_{j_k}}} = (O_k - t_k){\frac {\varphi{O_k }} {\varphi_{W_{j_k}}}} φWjkφE=(Oktk)φWjkφOk
σ ( x ) = O k \sigma(x) = O_k σ(x)=Ok
φ E φ W j k = ( O k − t k ) φ σ ( x k 1 ) φ W j k \frac {\varphi_E} {\varphi_{W_{j_k}}} = (O_k - t_k){\frac {\varphi{\sigma(x_k^1) }} {\varphi_{W_{j_k}}}} φWjkφE=(Oktk)φWjkφσ(xk1)
这 里 使 用 链 式 法 则 φ E φ W j k = ( O k − t k ) φ σ ( x k 1 ) φ x k 1 φ x k 1 φ W j k 这里使用链式法则\\ \frac {\varphi_E} {\varphi_{W_{j_k}}} = (O_k - t_k){\frac {\varphi{\sigma(x_k^1) }} {\varphi{x_k^1}}} {\frac {\varphi{x_k^1}} {\varphi_{W_{j_k}}} } 使φWjkφE=(Oktk)φxk1φσ(xk1)φWjkφxk1
结 合 前 面 的 对 激 活 函 数 求 导 公 式 : φ E φ W j k = ( O k − t k ) σ ( x k 1 ) ( 1 − σ ( x k 1 ) ) φ x k 1 φ W j k 结合前面的对激活函数求导公式:\\ \frac {\varphi_E} {\varphi_{W_{j_k}}} = (O_k - t_k) \sigma(x_k^1)(1 - \sigma(x_k^1)) {\frac {\varphi{x_k^1}} {\varphi_{W_{j_k}}} } :φWjkφE=(Oktk)σ(xk1)(1σ(xk1))φWjkφxk1
φ E φ W j k = ( O k − t k ) O k ( 1 − O k ) φ ( Σ i = 0 n x j 0 W j k ) φ W j k \frac {\varphi_E} {\varphi_{W_{j_k}}} = (O_k - t_k)O_k(1 - O_k) \frac {\varphi (\Sigma_{i=0}^nx_j^0 W{_j}{_k})} {\varphi_{W_{j_k}}} φWjkφE=(Oktk)Ok(1Ok)φWjkφ(Σi=0nxj0Wjk)
这 里 同 单 层 感 知 机 一 样 , 导 数 部 分 结 果 为 W j 0 所 以 最 终 结 果 为 : φ E φ W j k = ( O k − t k ) O k ( 1 − O k ) x j 0 这里同单层感知机一样,导数部分结果为W_j^0 \\ 所以最终结果为:\frac {\varphi_E} {\varphi_{W_{j_k}}} = (O_k - t_k)O_k(1 - O_k) x_j^0 ,Wj0φWjkφE=(Oktk)Ok(1Ok)xj0
其 实 , 这 里 不 光 是 完 成 了 一 次 多 层 感 知 器 梯 度 的 求 导 , 也 是 完 成 了 一 次 反 向 传 播 的 求 解 。 这 里 我 们 知 道 了 O k , t k , W j 0 来 更 新 W j k , 不 这 是 通 过 结 果 反 过 来 更 新 梯 度 吗 其实,这里不光是完成了一次多层感知器梯度的求导,也是完成了一次反向传播的求解。\\这里我们知道了O_k, t_k, W_j^0 来更新W{_j}{_k},不这是通过结果反过来更新梯度吗 Ok,tk,Wj0Wjk,
注:以上图片素材来源龙良曲老师的tensorflow课程讲解

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值