深度学习 专项课程 (一) —— Neural Networks and Deep Learning

Coursera - Neural Networks and Deep Learning - Andrew Ng 学习随笔

Part 1 Introduction to Deep Learning

  • 目前能创收的深度学习基本都是监督学习
  • ReLU: Rectified Linear unit
  • 近年来DL发展的几个驱动力: Data / Computation / Algorithm

Part 2 Neural Networks Basics
2.1 Logistics Regression as a Nerual Network

  • Binary Classification / Logistic Regression
  • b 偏置 叫 inter-spectrum ? 之后的课程都是把w和b分开考虑, 有些课程会表示成w=(w, b), x = (x, 1), 也就不存在变量b
  • loss (error) function 交叉熵 cost function 是各个样本交叉熵的均值
  • GD过程 - 求导问题 - 链式法则
  • Computation Graph: 也是TensorFlow库的构建思路.
  • LR用NN的思路解决:在这里插入图片描述

2.2 Python & Vectorization:

  • Vectorization (矩阵理论, 了解一下): 使代码变得高效的方法, 因为比如python的numpy库, 会用上CPU/GPU里面的SIMD(single instruction multiple data)指令, 能充分利用硬件资源, 并行化处理数据.
  • Whenever Possible, avoid explicit for-loops
  • Numpy库中内置了许多向量化操作函数
  • 很多编程语言的特性: Broadcasting, 即常数和向量间的操作, 常数会自动重复成可以和向量计算的维度进而可以计算. Matlab高版本中如2018a基本完全支持, 而像2016a会不支持自动调整多通道和单通道图像间的运算, 但可以调用bsxfun函数, 更多参考NumPy(Broadcast).
  • Note about Python: 不要用一维的向量, 用二维(1,5)类似的表示, 可以确保他是一个列向量还是行向量, 记得常用reshape函数, 它是个O(1)算法, 也能保证程序少出错
  • Jupyter/IPython Notebooks

Part 3 Shallow Neural Networks

  • 层数右上角[i]表示, 样本序号右上角(i)表示
  • 全连接网路其实就是logistic regression多个级连在这里插入图片描述在这里插入图片描述+ Vectorizing Operation 对于每层的w变量来说: 每行一个样本 每列表示一个隐藏层节点, 共m个; 对于样本集来说就是每列一个样本, 行是特征维度; 算出的z就是每列是一个样本的线性变换结果
  • Activation Function: z接一个激活层得到a, Sigmoid / ReLU / tanh ([exp(z) - exp(-z)] / [exp(z) + exp(-z)]) / Leaking-ReLU(max(0.01z, z))等, sigmoid除非是二分类的输出层才会用到
  • 没有激活层, 再深的网络都只是线性变换, 和一个隐藏层的网络没有区别
  • 各个激活函数的导函数: 可以看看. 看看
  • GD: 在这里插入图片描述
  • Random Initialization: 如果隐藏层各个节点初始化值是相同的(Symmetric), 那么对称的两个同层节点实际上会是相同的结果, 即永远都会是对称的. 所有随机初始化会破坏掉这种对称性, 且随机值不能太大, 否则会陷入激活函数的饱和区, 学习缓慢. 注意传统的逻辑回归没有这个问题, Logistic Regression doesn’t have a hidden layer. If you initialize the weights to zeros, the first example x fed in the logistic regression will output zero but the derivatives of the Logistic Regression depend on the input x (because there’s no hidden layer) which is not zero. So at the second iteration, the weights values follow x’s distribution and are different from each other if x is not a constant vector.
  • 在这里插入图片描述

Part 4 Deep Neural Networks

  • 多个隐藏层 L-layer , L = 隐藏层数 + 1个输出层在这里插入图片描述
  • DNN? 为了将简单到复杂的特征分级分层表示计算;另一个理由就是, Circuit Theory, 解决相同复杂度的问题, 单层的网路需要指数级的节点数目在这里插入图片描述
  • Build Blocks of DNNs, 搭建神经网络的思路框架: Blocks + Forwards/Backwards + Cache (z, 便于反向时的导数计算) 在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 可能算法的复杂度来自于数据, 而不是算法本身
  • Hyperparameters and Parameters: 前者能控制后者的最终结果.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Neural Networks and Deep Learning》这本书被许多人评价为是关于深度学习的一本非常好的入门书。它以清晰易懂的方式解释了深度学习的核心概念,并且使用大量的图片和代码来帮助读者理解。如果您对深度学习感兴趣,那么这本书是一个不错的选择。 ### 回答2: 《Neural Networks and Deep Learning》是一本非常出色的书籍。它由Michael Nielsen撰写,提供了关于神经网络和深度学习的详细而清晰的介绍。 这本书以易于理解和深入的方式解释了神经网络和深度学习的基本概念和原理。它从基础知识开始,逐步引导读者了解神经元、多层神经网络、反向传播和激活函数等关键概念。通过直观的解释和简单的数学推导,读者可以很好地理解这些复杂的概念。 书中还包含了许多实例和示例,帮助读者将理论应用到实际问题中。例如,它详细介绍了如何使用神经网络解决手写数字识别的问题,并提供了相关的代码实现。这些实例不仅使得理论更加易于理解,也为读者提供了实际操作的经验和技能。 此外,《Neural Networks and Deep Learning》还提供了大量的引用文献和进一步阅读的建议,帮助读者进一步深入学习和探索相关领域的研究。这为读者进一步拓宽知识领域提供了便利。 总体而言,这本书不仅适合对神经网络和深度学习感兴趣的初学者,也适合那些已经有一定了解但希望进一步加深理解的读者。它以简洁明了的方式传递了复杂的概念,提供了大量的实例和引用文献,是一本极具价值的学习资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值