前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Neural Networks and Deep Learning》(2)

《Neural Networks and Deep Learning》(2)

作者头像
yiyun
发布2022-04-01 15:47:45
2290
发布2022-04-01 15:47:45
举报
文章被收录于专栏:yiyun 的专栏

分类⼿写数字的⽹络

三层神经网络图

使⽤梯度下降算法进⾏学

我们希望有⼀个算法,能让我们找到权重和偏置,以⾄于⽹络的输出 y(x) 能够拟合所有的训练输⼊ x 。为了量化我们如何实现这个⽬标,我们定义⼀个代价函数:

就是为了求最优的 w,b

代价函数:有时被称为损失或⽬标函数。我们在这本书中使⽤了代价函数这个术语,但是你应该注意其他的术语,因为它经 常被⽤于研究论⽂和其他神经⽹络的讨论中。

训练神经⽹络的⽬的: 找到能最⼩化⼆次代价函数 C(w,b) 的权重和偏置

在真正的实现中,η 通常是变化的, 以⾄⽅程 (9) 能保持很好的近似度,但算法⼜不会太慢

​ 你可以把这个更新规则看做 定义梯度下降算法 。这给我们提供了⼀种⽅式去通过重复改变 v 来找到函数C 的最⼩值。这个规则并不总是有效的——有⼏件事能导致错误,让我们⽆法从梯 度下降来求得函数C 的全局最⼩值,这个观点我们会在后⾯的章节中去探讨。但在实践中,梯 度下降算法通常⼯作地⾮常好,在神经⽹络中这是⼀种⾮常有效的⽅式去求代价函数的最⼩值, 进⽽促进⽹络⾃⾝的学

PS: 柯西-施⽡茨不等式: 两个向量的内积小于它们模的平方的和的开方

Q: 已经解释了当C 是⼆元及其多元函数的情况。那如果C 是⼀个⼀元函数呢?你能给出 梯度下降法在⼀元函数的⼏何解释么? A: 就是求导,求解最小值

Q: 我们怎么在神经⽹络中⽤梯度下降算法去学呢? A: 其思想就是利⽤梯度下降算法去寻找能使 得⽅程 (6) 的代价取得最⼩值的权重wk 和偏置 bl。

梯度下降的更新规则:

有种叫做 随机梯度下降 的算法能够加速学。其思想就是通过 随机选取⼩量训练输⼊样本来 计算∇Cx ,进⽽估算梯度∇C 。通过计算少量样本的平均值我们可以快速得到⼀个对于实际梯度 ∇C 的很好的估算,这有助于加速梯度下降,进⽽加速学过程。

为了将其明确地和神经⽹络的学联系起来,假设 wkbl 表⽰我们神经⽹络中权重和偏置。 随即梯度下降通过随机地选取并训练输⼊的⼩批量数据来⼯作,

在线学(online)概念

实现我们的⽹络来分类数字

Q: 验证集作用? A: 对于解决如何去设置某些神经网络中的 超参数 很有用,例如学速率

代码语言:javascript
复制
class Network(object): 
    def __init__(self, sizes): 
        self.num_layers = len(sizes) 
        self.sizes = sizes self.biases = [np.random.randn(y, 1) for y in sizes[1:]] 
        self.weights = [np.random.randn(y, x)
			for x, y in zip(sizes[:-1], sizes[1:])]

TODO: 32

参考

感谢帮助!

本文作者: yiyun

本文链接: https://moeci.com/posts/分类-读书笔记/NN-DL-notebook-2/

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分类⼿写数字的⽹络
  • 使⽤梯度下降算法进⾏学习
  • 实现我们的⽹络来分类数字
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档