例子:逻辑回归
在逻辑回归还有参数b,同样的进行迭代更新
计算代码实现:
J=0;dw1=0;dw2=0;db=0;
for i = 1 to m
z(i) = wx(i)+b;
a(i) = sigmoid(z(i));
J += -[y(i)log(a(i))+(1-y(i))log(1-a(i));
dz(i) = a(i)-y(i);
dw1 += x1(i)dz(i);
dw2 += x2(i)dz(i);
db += dz(i);
J/= m;
dw1/= m;
dw2/= m;
db/= m;
w=w-alpha*dw
b=b-alpha*db
缺点:
尽量使用numpy内置的向量操作 * 比如向量乘积(dot) * 还有很多其他的:求指数,绝对值,倒数等
(n,)
assert(a.shape == (5,1))
,可以避免其维度是(5,)
的情况