11 2023 档案
摘要:深层网络中的前向传播 先说对其中一个训练样本\(x\)如何应用前向传播,之后讨论向量化的版本。 第一层需要计算\({{z}^{[1]}}={{w}^{[1]}}x+{{b}^{[1]}}\),\({{a}^{[1]}}={{g}^{[1]}} {({z}^{[1]})}\)(\(x\)可以看做\({
阅读全文
摘要:深层神经网络(Deep L-layer neural network) 复习下前面的内容: 1.逻辑回归,结构如下图左边。一个隐藏层的神经网络,结构下图右边: 注意,神经网络的层数是这么定义的:从左到右,由0开始定义,比如上边右图,\({x}_{1}\)、\({x}_{2}\)、\({x}_{3}\
阅读全文
摘要:当训练神经网络时,权重随机初始化是很重要的。对于逻辑回归,把权重初始化为0当然也是可以的。但是对于一个神经网络,如果把权重或者参数都初始化为0,那么梯度下降将不会起作用。 来看看这是为什么。 有两个输入特征,\(n^{[0]} = 2\),2个隐藏层单元\(n^{[1]}\)就等于2。 因此与一个隐
阅读全文
摘要:详细推导反向传播 下图是逻辑回归的推导: 回想一下逻辑回归的公式(参考公式1.2、公式1.5、公式1.6、公式1.15) 公式1.38: \[\left. \begin{array}{l} {x }\\ {w }\\ {b } \end{array} \right\} \implies{z={w}^
阅读全文
摘要:神经网络的梯度下降 在这篇博客中,讲的是实现反向传播或者说梯度下降算法的方程组 单隐层神经网络会有\(W^{[1]}\),\(b^{[1]}\),\(W^{[2]}\),\(b^{[2]}\)这些参数,还有个\(n_x\)表示输入特征的个数,\(n^{[1]}\)表示隐藏单元个数,\(n^{[2]}
阅读全文
摘要:激活函数的导数 在神经网络中使用反向传播的时候,真的需要计算激活函数的斜率或者导数。针对以下四种激活,求其导数如下: 1)sigmoid activation function 图1.8.1 其具体的求导如下: 公式3.25: \(\frac{d}{dz}g(z) = {\frac{1}{1 + e
阅读全文
摘要:为什么需要非线性激活函数? 为什么神经网络需要非线性激活函数?事实证明:要让的神经网络能够计算出有趣的函数,必须使用非线性激活函数,证明如下: 这是神经网络正向传播的方程,现在去掉函数\(g\),然后令\(a^{[1]} = z^{[1]}\),或者也可以令\(g(z)=z\),这个有时被叫做线性激
阅读全文
摘要:激活函数 使用一个神经网络时,需要决定使用哪种激活函数用隐藏层上,哪种用在输出节点上。到目前为止,之前的博客只用过sigmoid激活函数,但是,有时其他的激活函数效果会更好。 在神经网路的前向传播中,\(a^{[1]} = \sigma(z^{[1]})\)和\(a^{[2]} =\sigma(z^
阅读全文
摘要:向量化实现的解释 先对几个样本计算一下前向传播,看看有什么规律: 公式1.16: \(z^{[1](1)} = W^{[1]}x^{(1)} + b^{[1]}\) \(z^{[1](2)} = W^{[1]}x^{(2)} + b^{[1]}\) \(z^{[1](3)} = W^{[1]}x^{
阅读全文
摘要:多样本向量化 与上篇博客相联系的来理解 逻辑回归是将各个训练样本组合成矩阵,对矩阵的各列进行计算。神经网络是通过对逻辑回归中的等式简单的变形,让神经网络计算出输出值。这种计算是所有的训练样本同时进行的,以下是实现它具体的步骤: 图1.4.1 上篇博客中得到的四个等式。它们给出如何计算出\(z^{[1
阅读全文
摘要:一个神经网络的输出 首先,回顾下只有一个隐藏层的简单两层神经网络结构: 图1.3.1 其中,\(x\)表示输入特征,\(a\)表示每个神经元的输出,\(W\)表示特征的权重,上标表示神经网络的层数(隐藏层为1),下标表示该层的第几个神经元。这是神经网络的符号惯例,下同。 神经网络的计算 关于神经网络
阅读全文
摘要:神经网络概述(Neural Network Overview) 先开始快速浏览一下如何实现神经网络。上篇博客了解了逻辑回归,了解了这个模型(见图1.1.1)如何与下面公式1.1建立联系。 图1.1.1 : 公式1.1: \[\left. \begin{array}{l} x\\ w\\ b \end
阅读全文
摘要:详解 logistic 损失函数 在本篇博客中,将给出一个简洁的证明来说明逻辑回归的损失函数为什么是这种形式。 回想一下,在逻辑回归中,需要预测的结果\(\hat{y}\),可以表示为\(\hat{y}=\sigma(w^{T}x+b)\),\(\sigma\)是熟悉的\(S\)型函数 \(\sig
阅读全文
摘要:关于 python_numpy 向量的说明 主要讲Python中的numpy一维数组的特性,以及与行向量或列向量的区别。并说一下在实际应用中的一些小技巧,去避免在coding中由于这些特性而导致的bug Python的特性允许使用广播(broadcasting)功能,这是Python的numpy程序
阅读全文
摘要:Python 中的广播 这是一个不同食物(每100g)中不同营养成分的卡路里含量表格,表格为3行4列,列表示不同的食物种类,从左至右依次为苹果,牛肉,鸡蛋,土豆。行表示不同的营养成分,从上到下依次为碳水化合物,蛋白质,脂肪。 那么,现在想要计算不同食物中不同营养成分中的卡路里百分比。 现在计算苹果中
阅读全文
摘要:向量化逻辑回归 讨论如何实现逻辑回归的向量化计算。这样就能处理整个数据集,甚至不会用一个明确的for循环就能实现对于整个数据集梯度下降算法的优化 首先回顾一下逻辑回归的前向传播步骤。所以,如果有 \(m\) 个训练样本,然后对第一个样本进行预测,需要这样计算。计算 \(z\),正在使用这个熟悉的公式
阅读全文
摘要:向量化 向量化是非常基础的去除代码中for循环的艺术,在深度学习安全领域、深度学习实践中,会经常发现自己训练大数据集,因为深度学习算法处理大数据集效果很棒,所以的代码运行速度非常重要,否则如果在大数据集上,代码可能花费很长时间去运行,将要等待非常长的时间去得到结果。所以在深度学习领域,运行向量化是一
阅读全文
摘要:逻辑回归中的梯度下降 本篇讲解怎样通过计算偏导数来实现逻辑回归的梯度下降算法。它的关键点是几个重要公式,其作用是用来实现逻辑回归中梯度下降算法。但是在本博客中,将使用计算图对梯度下降算法进行计算。必须要承认的是,使用计算图来计算逻辑回归的梯度下降算法有点大材小用了。但是,认为以这个例子作为开始来讲解
阅读全文

浙公网安备 33010602011771号