吴恩达深度学习
然后就去远行吧
我们的目标是星辰大海~
展开
-
改善深层神经网络:超参数调整、正则化以及优化 —— 3.2 为超范围
上一节已经看到,在超参数范围内,随机取值可以提升搜索效率,但随机取值并不是在有效范围内的随机均匀取值,而是选择合适的标尺用于探究超参数。假设要选取隐藏单元的数量n[l]n^{[l]}n[l],对于给定层,假设选择的取值范围是从50到100中某点,这种情况下,对于50-100的数轴,可以随机在其上取点,这是一个搜索特定超参数的很直观的方式。或者如果要选取神经网络的层数,称之为字母L,也许会选择层...原创 2019-12-30 15:19:56 · 359 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化 —— 3.1调试处理
如果想尝试调整一些超参数,该如何选择调试值呢?在早一代的机器学习算法中,如果有两个超参数,常见的做法是在网格中取样点,然后系统的研究这些数值,例如放置5∗55*55∗5的点,实际证明,网格可以是5∗55*55∗5,也可多或可少。对于这个例子,可以尝试所有的25个点,然后选择哪个参数效果最好。当参数的数量相对较少时,这个方法很实用。在深度学习领域,推荐使用下面的做法。随机选择点,可以选择同等数...原创 2019-12-30 12:47:48 · 203 阅读 · 0 评论 -
结构化机器学习项目 —— 1.1 为什么是ML策略
假设你正在调试你的猫类分类器,经过一段时间的调整,你的系统达到了90%的准确率,但对你的应用程序来说还不够好,你可能有很多想法去改善你的系统,比如说收集更多的训练数据;可能训练集的多样性还不够,应该收集更多不同姿势的猫咪图片或者更多样化的反例集;或者你想用梯度下降训练算法,训练久一点;或者你想尝试用一个完全不同的优化算法,比如Adam优化算法;或者尝试使用规模更大或者更小的神经网络;或者你想试试d...原创 2019-12-27 20:38:11 · 188 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.9学习率衰减
加快学习算法的一个办法就是随着时间慢慢减少学习率,我们将之称为学习率衰减。假设要使用mini-batch梯度下降法,mini-batch数量不大,大概64或者128个样本。在迭代过程中会有噪声,迭代会不断向最小值下降,但是不会精确地收敛,所以算法最后在最小值点附近摆动,并不会真正地收敛。这是因为用的α\alphaα是固定值,不同的mini-batch中有噪音,但要慢慢减少学习率α\alphaα的...原创 2019-12-27 11:32:27 · 306 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.8 Adam算法(Adaptive Moment Estimation)
Adam算法是Momentum和RMSprop结合在一起得到的。使用Adam算法,首先要初始化Vdw=0,Sdw=0,Vdb=0,Sdb=0V_{dw}=0,S_{dw}=0,V_{db}=0,S_{db}=0Vdw=0,Sdw=0,Vdb=0,Sdb=0。在第t次迭代中,要计算微分,用当前的mini-batch计算dW,dbdW,dbdW,db,一般会用mini-batch梯度下降法,接...原创 2019-12-27 11:04:53 · 1967 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.7 RMSprop
RMSprop算法全称是root mean square prop算法,该算法可以加速梯度下降,回忆一下之前的例子,如果执行梯度下降,虽然横轴方向正在推进,但纵轴方向会有大幅度的摆动,假设纵轴代表参数b,横轴代表参数W,可能有W1W_1W1,W2W_2W2或者其它重要的参数,为了便于理解,称为b和W。所以如果想减缓b方向的学习,同时加快横轴方向的学习,RMSprop算法可以实现这一点。在第t...原创 2019-12-27 10:11:24 · 927 阅读 · 1 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.6 动量梯度下降法
如果要优化成本函数,函数如下图所示,红点代表最小值的位置。假设从边缘开始梯度下降,如果进行梯度下降法的一次迭代,无论是batch还是mini-batch下降法,都会产生较大的迭代波动,这会导致花费更多的时间。同时为了避免摆动过大,需要用一个较小的学习率。另一个看待问题的角度是,如果,在竖轴上我们希望摆动小一点,同时,在横轴上希望摆动能大一点,所以我们使用Momentum梯度下降法。我们需要做的是...原创 2019-12-27 09:28:52 · 241 阅读 · 1 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.5 指数加权平均的偏差修正
vt=βvt−1+(1−β)θtv_t=\beta v_{t-1}+(1-\beta)\theta_tvt=βvt−1+(1−β)θt在指数加权平均早期,因为设定v0=0v_0=0v0=0,v1=0.98∗v0+0.02∗θ1v_1=0.98*v_0+0.02*\theta_1v1=0.98∗v0+0.02∗θ1,因为v0=0v_0=0v0=0,所以v1=0.02∗θ1v_1=0....原创 2019-12-27 08:40:49 · 246 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.3指数加权平均
指数加权平均:vt=βvt−1+(1−β)θtv_t=\beta v_{t-1}+(1-\beta)\theta_tvt=βvt−1+(1−β)θt;当β=0.9\beta=0.9β=0.9时,得到的结果是红线;当β=0.98\beta=0.98β=0.98时,得到的结果是绿线;当β=0.5\beta=0.5β=0.5时,得到的结果是黄线。我们通过进一步分析来理解如何计算得出每日温度的平...原创 2019-12-26 23:35:18 · 216 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.2 理解Mini-batch梯度下降法
使用batch梯度下降法时,每次迭代都需要遍历整个训练集,可以预期每次迭代的成本都会下降。如果成本函数J是迭代次数的一个函数,它应该会随着每次迭代而减少,如果J在某次迭代中增加了,那肯定出了问题。如果使用mini-batch梯度下降法,如果作出成本函数在整个过程中的图,则并不是每次迭代都是下降的,特别是在每次迭代中要处理的是X{t}X^{\left\{t\right\}}X{t}和Y{t}Y^{...原创 2019-12-26 22:20:37 · 375 阅读 · 0 评论 -
改善深层神经网络:超参数调整、正则化以及优化——2.1 Mini-batch梯度下降
机器学习的应用是一个高度依赖经验的过程,优化算法能够帮助你快速训练模型。深度学习没有在大数据领域发挥最大的效果我们可以利用一个巨大的数据集来训练神经网络,而在巨大的数据集基础上进行训练速度很慢。因此,使用快速的优化算法,使用好用的优化算法能够大大提高效率,现在谈谈mini-batch梯度下降法。向量化能有效地对所有m个例子进行计算,允许处理整个训练集而无需某个明确的公式,所以我们要把训练样本放...原创 2019-12-26 20:52:49 · 214 阅读 · 0 评论 -
改善深层神经网络 —— 第一周:深层学习的实用层面(选择题作业)
1、如果你有10,000,000个例子,你会如何划分训练/开发/测试集?训练集占33%,验证集占33%,测试集占33%.训练集占60%,验证集占20%,测试集占20%.训练集占98%,验证集占1%,测试集占1%.2、开发和测试集应该:来自同一分布来自不同分布每对数据(x,y)彼此相同有相同数量的实例3、如果你的神经网络模型似乎有很高的【偏差】,下列哪个尝试是可能解决问题的?添加...原创 2019-12-06 10:13:39 · 1765 阅读 · 0 评论 -
深度学习的实用层面 —— 1.14 关于梯度检验实现的标记
这里主要介绍在神经网络中实施梯度检验的实用技巧和注意事项。首先,不要在训练中使用梯度检验,它只用于调试,意思是计算所有i值的dθapprox[i]d\theta_{approx^{[i]}}dθapprox[i]是一个非常漫长的计算过程,为了实施梯度下降,你必须使用backprop来计算dθd\thetadθ,并使用backprop来计算导数,只有调试的时候,才会计算它,来确认数值是否接近dθ...原创 2019-12-06 09:21:41 · 206 阅读 · 0 评论 -
深度学习的实用层面 —— 1.13 梯度检验
假设你的网络中含有下列参数W[1]W^{[1]}W[1]和b[1]b^{[1]}b[1],W[2]W^{[2]}W[2]和b[2]b^{[2]}b[2],一直到W[L]W^{[L]}W[L]和b[L]b^{[L]}b[L]。为了执行梯度检验,首先要做的就是把所有参数转换成一个巨大的向量数据,你要做的就是把矩阵WWW转换成一个向量,把所有WWW矩阵转换成向量之后,做连接运算,得到一个巨型向量θ\th...原创 2019-12-06 08:58:58 · 265 阅读 · 0 评论 -
深度学习的实用层面 —— 1.12 梯度的数值逼近
在实施backprop的时候,有一个测试叫做梯度检验,它的作用是确保backprop正确实施。因为有时候,虽然写下了这些方程式,却不能100%确定,执行backprop的所有细节都是正确的。为了逐渐实现梯度检验,我们首先说说如何对计算梯度做数值逼近。我们首先画出函数f,标记为f(θ)f(\theta)f(θ),f(θ)=θ3f(\theta)=\theta^3f(θ)=θ3,假设θ=1\thet...原创 2019-12-05 23:02:22 · 521 阅读 · 0 评论 -
深度学习的实用层面 —— 1.11 神经网络的权重初始化
针对梯度消失或者梯度爆炸问题,我们想出了一个不完整的解决方案,虽然不能彻底解决问题,却很有用。有助于我们为神经网络更谨慎地选择随机初始化参数,为了更好地理解它,我们先举一个神经单元权重初始化的例子,然后再演变到整个神经网络。来看只有一个神经元的情况,然后才是深度网络,如上图,单个神经元可能有4个输入特征,从x1x_1x1到x4x_4x4,经过a=g(z)a=g(z)a=g(z)处理,最终得到...原创 2019-12-05 21:46:34 · 230 阅读 · 0 评论 -
深度学习的实用层面 —— 1.10 梯度消失与梯度爆炸
训练神经网络,尤其是深度神经网络所面临的一个问题是梯度消失或者梯度爆炸,也就是说,当你训练深度网络时导数或坡度有时会变得非常大或非常小,甚至以指数方式变小,这加大了训练的难度,这里我们将会了解梯度爆炸或者梯度消失的真正含义,以及如何更明智地选择随机初始化权重,从而避免这个问题。假设你正在训练一个如下图所示的极深的神经网络,这个神经网络有参数w[1],w[2]w^{[1]},w^{[2]}w[1]...原创 2019-12-05 21:07:26 · 166 阅读 · 0 评论 -
深度学习的实用层面 —— 1.9 正则化输入
训练神经网络,其中一个加速训练的方法就是归一化输入。假设我们有一个训练集,它有两个输入特征,所以输入特征x是二维的,如图是数据集的散点图,归一化输入需要两个步骤,第一步是零均值化,计算公式为μ=1m∑i=1mx[i]\mu=\frac{1}{m}\sum_{i=1}^mx^{[i]}μ=m1i=1∑mx[i]x:=x−μx:=x-\mux:=x−μ通过移动训练集,完成零均值化,如下图所示。...原创 2019-12-05 20:07:25 · 258 阅读 · 0 评论 -
深度学习的实用层面 —— 1.8 其它正则化方法
除了L2正则化和随机失活(dropout正则化),还有几种方法可以减少神经网络中的过拟合。假设你正在拟合猫咪图片分类器,如果你想通过扩增训练数据来解决过拟合,但扩增训练数据代价高,而且有时候我们无法扩增数据,但我们可以通过添加这类图片来增加训练集,例如水平翻转图片,并把它添加到训练集,所以现在训练集中有原图,还有翻转后的这张图片。所以,通过水平翻转图片,训练集可以增大一倍。因为训练集有冗余,这虽...原创 2019-12-05 18:08:43 · 145 阅读 · 0 评论 -
深度学习的实用层面 —— 1.7 理解Dropout
Dropout可以随机删除网络ongoing的神经单元,它为什么可以通过正则化发挥这么大的作用呢?我们来更直观地理解一下。在上一个视频中,我们已经对dropout随机删除网络中的神经单元有了一个直观了解,好像每次迭代之后,神经网络都会变得比以前更小,因此采用一个较小神经网络好像和使用正则化的效果是一样的。第二个直观认识是,我们从单个神经元入手,如下图,这个单元的工作就是输入并生成一些有意义的输...原创 2019-12-04 22:59:17 · 303 阅读 · 0 评论 -
深度学习的实用层面 —— 1.6 Dropout正则化
除了L2正则化,还有一个非常实用的正则化方法——dropout(随机失活),我们看一下它的工作原理。假设你在训练上图这样的神经网络,它存在过拟合,这就是dropout所要处理的,我们复制这个神经网络,dropout会遍历网络的每一层,并设置消除神经网络中节点的概率,假设网络中每一层每个节点都以抛硬币的方式设置概率,每个节点得以保留和消除的概率都是0.5,设置完节点概率,我们会消除一些节点,然后删...原创 2019-12-04 22:16:08 · 226 阅读 · 0 评论 -
深度学习的实用层面 —— 1.5 为什么正则化可以减少过拟合
通过两个例子来直观体会一下,左图是高偏差,右图是高方差,中间是刚刚好。现在我们看一下这个庞大的深度拟合神经网络,这是神经网络的代价函数J(w[l],b)=1m∑i=1mL(y^[i],y[i])J(w^{[l]},b)=\frac{1}{m}\sum_{i=1}^mL(\hat{y}^{[i]},y^{[i]})J(w[l],b)=m1i=1∑mL(y^[i],y[i])在原始损失函数中添加...原创 2019-12-03 16:43:30 · 211 阅读 · 0 评论 -
深度学习的实用层面 —— 1.4 正则化
如果你怀疑神经网络过度拟合了数据,即存在高方差问题,那么最先想到的方法可能就是正则化,另一个解决高方差的方法就是准备更多的数据,这也是非常可靠的办法,但你可能无法时时准备足够多的训练数据,或者获取更多数据的成本更高,但正则化通常有助于避免过度拟合,或减小网络误差,下面讲一下正则化的作用原理。这里使用逻辑回归来实现这些设想,求成本函数J(w,b)J(w,b)J(w,b)的最小值,函数参数包含一些训...原创 2019-12-03 15:56:39 · 164 阅读 · 0 评论 -
深度学习的实用层面 —— 1.3 机器学习基础
初始化模型之后,首先要知道算法的偏差高不高,如果偏差较高,试着评估训练集或者训练数据的性能,如果偏差的确很高,甚至无法拟合训练集,那么你要做的就是选择一个新网络,比如含有更多隐层或者隐藏单元的网络,或者花费更多时间来训练网络,花费更多时间训练算法,或者尝试更先进的优化算法。一旦偏差降低到可接受的数值,检查一下方差有没有问题,为了评估方差,我们要查看验证集性能,我们能从一个性能理想的训练集推断出验...原创 2019-12-03 12:41:14 · 152 阅读 · 0 评论 -
深度学习的实用层面 —— 1.2 偏差/方差
假设有一个数据集,如果给这个数据集拟合一条直线,可能得到一份逻辑回归拟合,但它并不能很好地拟合该数据集,这就是偏差高的情况,我们称为欠拟合。相反地,如果我们拟合一个非常复杂的分类器,比如深度神经网络或含有隐藏单元的神经网络,可能就非常适用于这个数据集,但是这看起来也不是一种很好的拟合方式,分类器方差较高,数据过度拟合。在两者之间,可能还有一些像图中这样的,复杂度适中,数据拟合适度的分类器,这个...原创 2019-12-02 23:10:37 · 313 阅读 · 0 评论 -
深度学习的实用层面 —— 1.1 训练/开发/测试集
在配置训练、验证和测试数据集的过程中做出正确决策会在很大程度上帮助大家创建高效的神经网络。在训练神经网络时,我们需要做出很多决策,例如神经网络分多少层,每层含有多少个隐藏单元,学习速率是多少,各层采用哪些激活函数。创建新应用的过程中,我们不可能从一开始就准确预测出这些信息和其它超级参数。实际上应用型机器学习是一个高度迭代的过程。通常在项目启动时,我们会先有一个初步想法,比如构建一个含有特定层...原创 2019-12-02 21:45:34 · 620 阅读 · 0 评论 -
吴恩达深度学习 ——深层神经网络(选择题)
1、在实现前向传播和反向传播中使用的“cache”是什么?(D)A.它用于跟踪我们正在搜索的超参数,以加速计算。B.用于在训练期间缓存代价函数的中间值。C.我们使用它传递反向传播中计算的变量到相应的前向传播步骤,它包含对于前向传播计算导数有用的变量。D.我们使用它传递前向传播中计算的变量到相应的反向传播步骤,它包含对于反向传播计算导数有用的变量。“缓存”记录来自正向传播单元的值,并将其发...原创 2019-11-29 20:59:14 · 5640 阅读 · 0 评论 -
吴恩达深度学习 —— 4.7 参数 vs. 超参数
想要你的深度神经网络起很好的效果,你还需要规划好你的参数以及超参数,那么什么是超参数呢?我们看一下模型里的参数WWW和bbb,在学习算法中还有其它参数,需要输入到学习算法中,比如学习率α\alphaα,因为我们需要设置α\alphaα来决定你的参数如何进化,或者还有梯度下降法循环的次数,在你的算法中也许也有其它想要设置的参数,比如隐层数L,或是隐层单元数,还可以选择激活函数,在隐层中用修正线性单元...原创 2019-11-29 12:22:28 · 213 阅读 · 0 评论 -
吴恩达深度学习 —— 4.6 前向传播和反向传播
前向传播:Input a[l−1]Input\space a^{[l-1]}Input a[l−1]Output a[l],cache(z[l])Output\space a^{[l]},cache(z^{[l]})Output a[l],cache(z[l])z[l]=W[l]a[l−1]+b[l]z^{[l]}=W^{[l]}a^{[l-1]}+b^{[...原创 2019-11-29 11:27:06 · 407 阅读 · 0 评论 -
吴恩达深度学习 —— 4.5 搭建深层神经网络块
如下图,这是一个层数较少的神经网络,我们选择其中一层,从第二层隐藏层的计算着手,在第l层有参数Wl[]W^{l[]}Wl[]和b[l]b^{[l]}b[l],正向传播里有输入的激活函数,输入的前一层是a[l−1]a^{[l-1]}a[l−1],输出是a[l]a^{[l]}a[l]。z[l]=W[l]a[l−1]+bz^{[l]}=W^{[l]}a^{[l-1]}+bz[l]=W[l]a[l−1]+...原创 2019-11-29 10:19:53 · 244 阅读 · 0 评论 -
吴恩达深度学习 ——4.4 为什么使用深层表示
首先,深度学习究竟在计算什么?如果你在健一个人脸识别,或者是人脸检测系统,深度神经网络所做的事就是当你输入一张脸部的照片,如下图你就可以把深度神经网络的第一层当成一个特征探测器,或者边缘探测器。在这个例子中会建立大概有20个隐藏单元的深度神经网络,看看是怎么针对这张图进行计算的。隐藏单元就是图中的小方块,它会去找这张照片里边缘的方向,那么这个隐藏单元可能是在找水平方向的边缘在哪里。之后的课程...原创 2019-11-29 09:50:43 · 177 阅读 · 0 评论 -
吴恩达深度学习 —— 4.3 核对矩阵的维数
当实现深度神经网络的时候,常用的检验代码是否有错的方法是拿出一张纸,然后过一遍算法中矩阵的维数,下面会向大家展示具体怎么做。在上图的神经网络中,神经网络的层数为5层,总共有4个隐层和一个输出层,如果你想实现正向传播,第一步是z[1]=w[1]x+b[1]z^{[1]}=w^{[1]}x+b^{[1]}z[1]=w[1]x+b[1],现在先忽略偏置项,只关注参数w。图中的第一隐藏层有三个隐藏单元,...原创 2019-11-29 08:30:02 · 559 阅读 · 2 评论 -
吴恩达深度学习 —— 4.2 深层网络中的前向传播
在下图神经网络中,假设有一个训练样本x,在第一层里需要计算z[1]=W[1]x+b[1]z^{[1]}=W^{[1]}x+b^{[1]}z[1]=W[1]x+b[1],其中W[1]W^{[1]}W[1]和b[1]b^{[1]}b[1]是影响第一层的激活函数的参数,然后你要计算第一层的激活函数,表示为a[1]=g(z[1])a^{[1]}=g(z^{[1]})a[1]=g(z[1]),那么激活函数g...原创 2019-11-28 22:38:22 · 210 阅读 · 0 评论 -
吴恩达深度学习 —— 4.1 深层神经网络
什么是深度学习网络,我们已经学过了逻辑回归,并且见过了单隐层神经网络,下图是一个双隐层神经网络,以及一个五隐层的神经网络的例子。我们说逻辑回归是一个浅层模型,浅层或是深层是一个程度的问题,要记住当我们数神经网络的层数的时候不能把输入层数进去,只算上隐层的数量和输出层,技术上来说逻辑回归模型是单层神经网络。有些函数只有非常深层的神经网络能够学习,而浅一些的模型通常无法学习。下图是一个4层的神经...原创 2019-11-28 21:29:05 · 183 阅读 · 0 评论 -
吴恩达深度学习 —— 3.11 随机初始化
当你训练神经网络的时候,随机初始化权重非常重要,对于逻辑回归,可以将权重初始化为零,但如果将神经网络的各参数数组全部初始化为0,再使用梯度下降算法那会完全无效,让我们看看是什么原因。如上图,神经网络有两个输入特征,所以n[0]=2n^{[0]}=2n[0]=2,有两个隐藏单元,所以n[1]=2n^{[1]}=2n[1]=2,所以和隐藏层相关的矩阵W[1]W^{[1]}W[1]是(2,2)(2,2...原创 2019-11-28 16:06:30 · 473 阅读 · 0 评论 -
吴恩达深度学习 —— 3.10 直观理解反向传播
z[1]=W[1]x+b[1]z^{[1]}=W^{[1]}x+b^{[1]}z[1]=W[1]x+b[1]a[1]=σ(z[1])a^{[1]}=\sigma(z^{[1]})a[1]=σ(z[1])z[2]=Wa[1][2]+b[2]z^{[2]}=W^{[2]}_{a^{[1]}}+b^{[2]}z[2]=Wa[1][2]+b[2]a[2]=σ(z[2])a^{[2]}=\sigma (z...原创 2019-11-28 15:23:57 · 558 阅读 · 0 评论 -
吴恩达深度学习 —— 3.8 激活函数的导数
当你对你的神经网络使用反向传播的时候,你真的需要计算激活函数的斜率或者导数,我们看看激活函数的选择,以及如何计算这些函数的斜率。可以看到很熟悉的sigmoid激活函数,所以对于任意给定的z值,也许这个z的函数会有某个对应的斜率和导数。在图上某个点画一条线,用高度除以宽度,有一个小三角形,如果g(z)g(z)g(z)是sigmoidsigmoidsigmoid函数,那么函数的斜率就是ddzg(z)...原创 2019-11-28 08:37:29 · 700 阅读 · 0 评论 -
吴恩达深度学习 —— 3.7 为什么需要非线性激活函数
事实证明,要让神经网络能够计算出有趣的函数,必须使用非线性激活函数。如下图所示是神经网络正向传播的方程,为什么不能直接去掉a[1]=g[1](z[1])a^{[1]}=g^{[1]}(z^{[1]})a[1]=g[1](z[1])呢?去掉函数g(z)g(z)g(z),然后令a[1]=z[1]a^{[1]}=z^{[1]}a[1]=z[1],或者令g[1]=z[1]g^{[1]}=z^{[1]}g...原创 2019-11-27 23:11:56 · 1583 阅读 · 0 评论 -
吴恩达深度学习 —— 3.6 激活函数
要搭建一个神经网络,可以选择的是选择隐层里用哪一个激活函数,还有神经网络的输出单元用什么激活函数。到目前为止,我们一直用的是sigmoid激活函数,但有时候其它函数效果要好得多,我们看看一些可供选择的函数。在神经网络的正向传播步骤中,有两步用了sigmoid函数,就是a=11+e−za = \frac{1}{1+e^{-z}}a=1+e−z1。在更一般的情况下,我们可以使用不同的函数g(z)...原创 2019-11-27 22:44:42 · 354 阅读 · 0 评论 -
吴恩达深度学习—— 3.4 多个例子中的向量化
如图是上一节中的4个方程,用于计算z(1),a(1),z(2),a(2)z^{(1)},a^{(1)},z^{(2)},a^{(2)}z(1),a(1),z(2),a(2),对于输入的特征向量x,对于这单个训练样本,可以用它生成一个a(2)=y^a^{(2)}=\hat{y}a(2)=y^。现在,如果有m个训练样本,你可能需要重复这个过程,比如说,第一个训练样本x(1)x^{(1)}x(1)计算...原创 2019-11-27 21:42:59 · 280 阅读 · 0 评论