梯度下降,向量化,广播
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了梯度下降,向量化,广播相关的知识,希望对你有一定的参考价值。
1.成本函数J(w,b)是一个凸函数
2.梯度下降法就是从初始点开始朝最陡的方向走一步,一次次迭代往下走,
最终会得到一个全局最优解
3.w = w-αdJ(w,b)/dw,α是指学习效率,dJ(w,b)/dw是指w的更变或变化
.在深度学习中会出现很多数据集,如果过通过for循环一次次地遍历会降低
效率,可以通过向量化来进行运算,效率更高,要快300倍左右
4.向量化vectorized
例如:计算n个y = w^Tx+b,可以使用numpy库中的dot()函数
z = np.dot(w,x)+b,其中dot(w,x)就是表示w^T
5.dz^i = a^i - y^i
6.dz求和:
db = 1/m*np.sum(dz^i)7.总体:完成一次训练集m的梯度下降
Z = w^T*X+b =np.dot(w.T,X)+b
A = 符号(Z)
dZ = A-Y
dw = i/m*dZ^T
db = i/m*np.sum(dZ)
w = w - αdw
b = b - αdb8.对矩阵中的每一列求和,并且求每一列占比例
1)先使用np包中的np.array()创建矩阵
A = np.array()
2)再使用 矩阵变量名.sum(axis = 0)求第一列的和,axis=0表示竖立求和
当axis = 1就是水平求和
cal = A.sum(axis = 0)
3)使用100*矩阵变量名/每列和变量.reshape(1,4)#表示矩阵的函数1,4指行列
percentage = 100*A/cal.reshape(1,4)
9.当我们进行矩阵运算时,除法如果不确定矩阵的大小直接使用reshape()函数
就可以10.如果一个向量跟一个数相加,那么将这个数字展开为列向量相加
11.如果后面的一个矩阵的行列阶数比前面一个少,那么会复制自己与前面一样
以上是关于梯度下降,向量化,广播的主要内容,如果未能解决你的问题,请参考以下文章