一、logistic
① sigmoid(x)
② sigmoid_derivative(x)
③ image2vector(image)——将图像m*x*y*z 用reshape(image.shape[0],-1) 转化为(m,x*y*z)
④ normalizeRows(x)——归一化
⑤ softmax(x)
⑥ L1 / L2
⑦ initialize_with_zeros(dim)——初始化w和b
⑧ propagate(w,b,X,Y)——进行一次前向传播并计算grads和cost
⑨ optimize(w,b,X,Y,num_iterators,learning_rate,print_cost)——用propagate计算的grads和cost更新参数
⑩ predict(w,b,X)
model(x_train,y_train,x_test,y_test,num_iterators,learning_rate,point_cost)
二、浅层NN
① initialize_parameters(n_x, n_h, n_y)——返回parameters 包括W1,W2,b1,b2
② forward_propagation(X, parameters)——返回输出A2 和cache(Z1,A1,Z2,A2) 隐层用的tanh
③ compute_cost(A2, Y, parameters)——用计算出的A2和Y进行cost计算
④ backward_propagation(parameters, cache, X, Y)——反向传播 parameters里有W1,W2,b1,b2 cache里有Z1,A1,Z2,A2 返回grads 包括dW1,db1,dW2,db2
⑤ update_parameters(parameters, grads, learning_rate = 1.2) —— parameters里有W1,W2,b1,b2 grads 包括dW1,db1,dW2,db2 根据lr更新参数
⑥ nn_model(X, Y, n_h, num_iterations = 10000, print_cost=False)——parameters里有W1,W2,b1,b2
三、Deep
① initialize_parameters_deep(layer_dims)——按数组layer_dims初始化网络
② linear_forward(A, W, b)——通过w、b、A计算Z 返回Z和cache(A,W,b)
③ linear_activation_forward(A_prev, W, b, activation)——返回A和cache:包括linear_cache的A,W,b,和activation_cache的With ReLU: A =
④ L_model_forward(X, parameters)——X为输入 parameters里有每层的参数W1 W2 b1 b2 ··· ··· return AL, caches
⑤ compute_cost(AL, Y)——计算损失
⑥ linear_backward(dZ, cache)——得到dA_prev, dW, db
⑦ linear_activation_backward(dA, cache, activation)——dA_prev, dW, db 按激活函数进行反向
⑧ L_model_backward(AL, Y, caches)——grads包括dW1,dW2,db1.db2
⑨ update_parameters(parameters, grads, learning_rate)——parameters 包括W1,W2,b1,b2