自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 神经网络与深度学习——浅层神经网络——随机初始化

在开始进行迭代时,我们需要给w和b初始值,之前的例子我们是直接初始化为0,但是更复杂的神经网络需要随机化初始原因:这是因为样本的所有特征值初始化相同的值会导致某一层的节点进行的运算一模一样,导致多个节点是没用的初始化方式:注意:Ø 注意这个0.01,我们的习惯是将初始值设的比较小,这样容易落在斜率比较大的地方,保证梯度下降法的效率Ø b的初始化基本不做限制...

2020-08-09 09:31:49 286

原创 神经网络与深度学习——浅层神经网络——神经网络的梯度下降法

3.3节和3.4节介绍了网络的前向输出及其向量化,接下来介绍反向过程左边是前向过程,右边是反向过程,这里直接给出公式注意下面几条Ø 右边求db是python的命令axis表示横向求和,后面那句话keepdims是防止出现秩为1的向量Ø 这里计算每层的参数,都是按照dz,dw,db的顺序计算————————————————————————————-反向传播式子的微积分推导,略...

2020-08-09 09:30:37 198

原创 神经网络与深度学习——浅层神经网络——激活函数的导数

给出这4个激活函数的导数

2020-08-09 09:28:22 149

原创 神经网络与深度学习——浅层神经网络——激活函数,为什么需要非线性激活函数

到目前为止,我们用的激活函数全都是Sigmoid函数(就是中的),接下来介绍其他函数tanh函数:函数值在[-1,1]之间,一般情况下都比Sigmoid函数效果要好,有类似数据中心化的效果Sigmoid函数几乎不再使用,除非最后输出的时候,毕竟它的函数值是在[0,1]之间的ReLU函数:上面两个函数在函数值比较大的时候导数变化很小,这会拖累梯度下降法,而ReLU只要z为正,导数就是1,在z=0的时候可以自己声明导数值带泄露ReLU:z为负时让它有一个小小的坡度改善ReLU导数为负

2020-08-09 09:27:33 385

原创 神经网络与深度学习——浅层神经网络——向量化实现的解释

上节的式子为什么这样写,我们给出推导当每个样本分开算z时,我们得到的是一群列向量,用X算,得到的是列向量的堆叠总结一下m个样本的向量化总结一下就是,将所有样本x,z,a都竖着堆叠,可以将上面的代码行换成下面的代码行,提高效率...

2020-08-09 09:24:18 229

原创 神经网络与深度学习——浅层神经网络——计算神经网络的输出

上节说了只有一个样本的神经网络计算过程,那么扩展到m个嘞简单想法是上面四个语句套个for循环遍历m个样本,如下图接下来我们向量化实现,以去掉for把m个样本堆叠成矩阵,同样堆叠m个Z,m个a,然后用大写字母表示,如下图,直观化理解,矩阵从左到右扫,就扫过了m个样本,从上到下扫就扫过了一层中的左右节点所以表达式就变成...

2020-08-09 09:23:01 173

原创 神经网络与深度学习——浅层神经网络——计算神经网络的输出

在前面的章节中,神经网络的节点是像下图中展示的计算的,有两个运算,一个算z,一个算a在复杂一些的网络里同样,每个节点还是进行这样的运算,只是加上不同的上下标,代表不同层不同节点的运算,如下图表达式向量化:如图,将每个节点的w向量,输入x,每个节点的b纵向堆叠,最后运算就能得出所有z,进而得出所有a向量化经验:一层中不同节点,纵向堆叠向量化后的表达式解释:上面两个式子实现了第一层圆圈,下面是第二层圆圈...

2020-08-09 09:21:11 293

原创 神经网络与深度学习——浅层神经网络——神经网络表示

这节主要是对上图表示的一些解释和符号用法的介绍Ø 该网络有三层,第一层叫输入层,第二层叫隐藏层,第三层是输出层Ø 我们用来具体表示第几层,其中a有激活的意思,表示不同层之间的数值会进行传递Ø 用表示第l层的第i个节点,看图右下角的向量,表示的是整个第二层,是一个4*1的列向量Ø 在每层中的每个节点上有参数w,b,我们用下面的符号表示,它们有各自的维度,下面会说Ø 这个图是双层神经网络,因为我们不把输入层算在内...

2020-08-09 09:18:21 332

原创 神经网络与深度学习——浅层神经网络——神经网络概览

在上一周课程中我们学的是上面个两个图,这周会讲下面两个图解释:Ø 上图中小圆圈指的是一个z和a的计算,下图中也是Ø 在下图中,加入层的概念,用方括号表示Ø 下图的神经网络对应最下面的计算图,可以看到由于有两层,所以标明两个z和a的运算Ø 同样也会有反向传播的步骤,下面的课程中会说明...

2020-08-09 09:16:28 445

原创 神经网络与深度学习——神经网络基础——python中的广播,关于python/numpy向量的说明

原则:当一个mn的矩阵加减乘除一个1n的矩阵,广播机制会将1n的矩阵扩成mn的矩阵,然后进行正常的运算,同理对m1的的矩阵也会扩成mn的——————————————————————————————-这里主要是介绍一个小技巧在构建向量的时候,用这样的语句a=np.random.randn(5)会创建形状为(5,)这样的向量,这种向量在运算的过程中会出现一些奇奇怪怪的bug,所以在构建的时候,我们这样声明a=np.random.randn(5,1),当不确定矩阵具体形状时,我们可以reshape或用ass

2020-08-07 17:29:56 195

原创 神经网络与深度学习——神经网络基础——向量化logistic回归,向量化logistic回归的梯度输出

回顾logistic回归,当有m个样本时,我们要按下图依次算出预测值正向传播向量化:根据其中X是用python代码表示为Z=np.dot(w.T,X)+b,只需一行代码就算出所有的z接下来也直接用一行代码对Z进行运算算出所有的a————————————————————————————————————————-回顾logistic回归,当有m个样本时,我们要按下面式子依次算出梯度值反向传播向量化:将dZ,A声明为m*1的向量,根据dZ=A-Y可以直接算出所有dzdb只需dw只需是根

2020-08-07 17:27:17 195

原创 神经网络与深度学习——神经网络基础——向量化,向量化的更多例子

上节的代码中存在两个for循环,严重影响代码性能,运用python中的numpy能实现向量化运算,性能显著提升——————————————————————————————————————————————————————————————————————————-python中的numpy可以进行向量化操作矩阵乘法u=Av代码可写为u=np.dot(A,v)...

2020-08-07 17:21:48 130

原创 神经网络与深度学习——神经网络基础——m个样本的梯度下降

上一节是将梯度下降法应用在只有一个样本的问题中,接下来讨论m个样本首先复习一下m个样本的相关公式可以推算出基于上面的公式,我们可以写出下面的代码,这里我们还是认为一个样本只有两个特征值,所以w的个数是2个代码解释:首先将参数初始化,遍历m个样本,算出每一个样本的预测值,求出该样本预测值的损失函数并累加。接下来是反向传播过程,求出中间函数的导数,进而求得三个参数的导数并累加。遍历结束之后,将J成本函数和三个参数除以m,就能得出全部样本的成本函数和参数导数。...

2020-08-06 23:41:47 369

原创 神经网络与深度学习——神经网络基础——logistic回归中的梯度下降法

这里用上面说的计算流程图的方式实现一下logistic回归复习一下logistic回归中的重要公式我们这里假设一个样本只有两个特征值的情况,这里复现一下反向传播的过程Ø 首先来到从右往左第二个方框,求导得Ø 接下来是左边第一个方框,Ø 接下来是下图,同理求得其他参数的导数Ø 进一步迭代...

2020-08-06 23:39:25 126

原创 神经网络与深度学习——神经网络基础——计算图的导数运算

核心是求导数以及链式法则求出最终输出变量对中间变量的导数并存储,一步一步向回推,通过链式法则求出对输入变量的导数Ø 注:编程时我们用dvar具体表示最终变量对某一变量的导数

2020-08-06 20:43:07 286

原创 神经网络与深度学习——神经网络基础——计算图

2.5导数和2.6更多导数的例子在大一的时候学过,这里不做赘述神经网络的计算都是按照前向或反向传播来计算的,首先通过前向传播计算出预测值以及成本函数,再通过反向传播,计算出梯度或导数,用计算图表示如下以简单式子J(a,b,c)=3(a+bc)为例根据每个值的取值,从前到后计算出J的值...

2020-08-06 20:41:18 1102

原创 神经网络与深度学习——神经网络基础——梯度下降法

梯度下降法是我们训练参数的途径,这里还是以logistic回归函数为例首先回顾一下logistic回归函数,其中J(w,b)表示成本函数我们的目的是要找到使成本函数尽可能小的参数w和b梯度下降法:从初始点开始,向最陡的下坡走一步,使参数尽可能快的接近最优点参数沿导数方向下降最快一个参数时我们得到下面的公式其中Ø 导数之后写代码的时候用dw变量声明Ø α是学习率,表示每次迭代的步长两个参数时我们得到...

2020-08-06 20:39:15 193

原创 神经网络与深度学习——神经网络基础——logistic回归损失函数

为了训练参数????和????,这里定义两个函数首先回顾一下logistic回归函数损失函数或误差函数:损失函数针对单个训练样例计算误差,表示的是预测和期望之间的差异训练中我们不用平方差误差函数,因为这种情况下可能是梯度下降法陷入一个局部优化解,我们通常用的是上图中的误差函数,这样会使梯度下降法得到全局优化成本函数:成本函数是整个训练集损失函数的平均值。我们认为使整体成本函数最小化的参数w和b就是最优的...

2020-08-06 18:33:10 238

原创 神经网络与深度学习——神经网络基础——logistic回归

logistic回归是当输出????为0或1时在监督学习问题中使用的学习算法。例如:给定一张图片,这个算法得出的结果是这张图片是猫的概率,logistic回归中的参数:Ø 输入向量x:x是n维向量Ø 标签y:0或1Ø 参数w:n维向量,可以理解为x各分量的权值Ø 参数bØ 输出:ØSigmoid函数对logistic的解释:由于线性函数的范围不符合我们对概率∈[0,1]这个要求,所以我们用Sigmoid函数加以限制,使函数值很好地落在[0,1]

2020-08-06 09:44:20 251

原创 神经网络与深度学习——神经网络基础——二分分类

二分分类结果是映射到离散的值上,比如给你一张图片,得到结果这张图片是猫(1)还是不是(0)图片在计算机里的存储方式:一张6464像素大小的图片,在计算机中会有3个6464大小的矩阵来存储红绿蓝三个通道的亮度信息将所有像素值取出放入特征向量中,得到一个长度为64643的向量一些符号表示Ø 用(x,y)表示一个样本,其中x是维的特征向量,y是标签值0或1Ø 训练集大小为mØ 有时为区分训练集和测试集,会标明test和trainØ X表示训练集矩阵,将特征向量按列

2020-08-06 09:07:18 327

原创 神经网络与深度学习——深度学习概论——为什么深度学习会兴起

深度学习之所以兴起,是因为社会数字化可提供大量数据,以及神经网络算法开发中更快的计算能力和创新能力对于上图几点说明:Ø 要获得高水平的性能1.要训练规模足够大的神经网络2.需要大量标记数据Ø 在少量数据上每种模型性能高低不确定训练神经网络的过程是迭代的,如下图,训练神经网络可能会花费大量时间,这会影响生产率,更快的计算有助于迭代和改进新算法。...

2020-08-05 22:47:59 345

原创 神经网络与深度学习——深度学习概论——用神经网络进行监督学习

机器学习根据获取y的不确定性分为很多种,如下图,但其中创造最大经济效益的是监督学习监督学习中,我们已知数据集和对应的输出y,根据这两个信息来找出它们之间的关系。监督学习可以分为回归问题和分类问题,在回归问题中,我们将输入变量映射到某个连续函数。而在分类问题中,我们预测离散输出的结果。上图中不同的监督学习例子要用到不同的神经网络,例如卷积神经网络(CNN)经常用于图像应用,循环神经网络(RNN)用于一维序列数据(例如将英语翻译成中文)或时间成分(例如文本记录)。自动驾驶则一种混合神经网络架构。结构化

2020-08-05 18:14:27 464

原创 神经网络与深度学习——深度学习概论——什么是神经网络?

以房价预测问题为例:单神经网络:要求是给你房子的面积来预测房子价格。可以自然联想到用线性回归去拟合这个函数,由于价格不可能为负,这里引出ReLU函数,这个函数在开始时取值为0用神经网络表示如下,这个神经网络实现了上面的ReLU函数,其中中间的小圆圈是单位神经元,它承担的作用就是输入x,进行线性运算,然后输出预测价格y多元神经网络:要求给你多个可能影响房子价格的因素x来预测房价y,比如面积,卧室个数,邮编以及街区富裕程度,这多个因素又自发地构成隐藏单元,如家庭人口(受面积和卧室人口影响),学校质量(

2020-08-05 17:24:20 255 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除