您的位置:首页 > 理论基础 > 计算机网络

吴恩达深度学习与神经网络课程学习——logistic回归神经网络计算过程向量化

2018-11-29 22:14 381 查看

logistic回归神经网络计算过程向量化

有了对之前对logistic回归神经网络计算过程,现在讨论向量化的运算,向量化运算对于大数据的运算

有着很重要的作用,向量化计算提供了并行运算,大大加快了运算速度。想要了解之前的logistic回归

神经网络计算过程可以访问以下我的另外一篇博客https://blog.csdn.net/jmu_sxc/article/details/84638106

向量化实现的工具是python和nunpy,里面的库提供了很多的并行运算,特别是对于矩阵的运算。

所谓的向量化就是将可以并行处理的数据或者运算,通过将数据组织成矩阵,在矩阵进行相关运算

下图是logistic回归对于m个样本的计算过程:

 找到可并行处理的计算是z=wT*x+b;a=sigmod(z)

        ..........

 数据x表示每个样本的特征,比如图像的三通道的像素组成一个列向量:

我们用X表示m个样本的所有特征,行数是n_x:每个样本的特征个数

列数是m表示样本的数量。

 对样本向量化

 

 对权值w向量化:w可以扩充成一个用矩阵表示,维度根据情况修改

 对z向量化:用Z表示z的矩阵

 

 最后表示成Z=wT*X+b,python代码:Z=np.dot(w.T,X)+b;

 

 类似地用A表示a的矩阵:

 对偏导数dz,dw向量化:用矩阵向量表示所有样本中的dz,每个元素表示一个样本的dz,对矩阵的所

 有元素相加np.sum(dz)。db如下图;dw矩阵将矩阵X于dz矩阵的转置相乘。而dw表示一个dw1,dw2,

  dw3...的集合,该向量的运算满足dw矩阵的意义。

 

 这样向量化后的运算如下:

 (1)Z=wT*X+b,

 (2)A=sigmod(Z)

 (3)dz=A-Y          Y表示m个样本标签的向量化

 (4)dw=(1/m)*X*dz.T

 (5)db=(1/m)*sum(dz)

 以上是运算过程向量化后的公式,这些公式代替了之前的for循环遍历运算,上面的公式一样完成了对于

 m个样本的处理,即完成了前向传播和反向传播。如果在这些公式的外层加上一层迭代次数的循环,这样

一般就表示了神经网络的整体的计算过程。

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐