手记

深度学习问题记录:具有隐藏层的平面数据分类

准确度公式
# Plot the decision boundary for logistic regression
plot_decision_boundary(lambda x: clf.predict(x), X, Y)
plt.title("Logistic Regression")

# Print accuracy
LR_predictions = clf.predict(X.T)
print ('Accuracy of logistic regression: %d ' % float((np.dot(Y,LR_predictions) + np.dot(1-Y,1-LR_predictions))/float(Y.size)*100) +
       '% ' + "(percentage of correctly labelled datapoints)")

逻辑斯特回归准确度计算式子:

没见过这种计算方法

cross-entropy cost


cost function的意思,为什么这么写?

np.multiply() 与np.dot()详细区分



个人感觉np.dot就是np.multiply后再按行相加

np.squeeze

enumerate
# This may take about 2 minutes to run

plt.figure(figsize=(16, 32))
hidden_layer_sizes = [1, 2, 3, 4, 5, 20, 50]
for i, n_h in enumerate(hidden_layer_sizes):
    plt.subplot(5, 2, i+1)
    plt.title('Hidden Layer of size %d' % n_h)
    parameters = nn_model(X, Y, n_h, num_iterations = 5000)
    plot_decision_boundary(lambda x: predict(parameters, x.T), X, Y)
    predictions = predict(parameters, X)
    accuracy = float((np.dot(Y,predictions.T) + np.dot(1-Y,1-predictions.T))/float(Y.size)*100)
    print ("Accuracy for {} hidden units: {} %".format(n_h, accuracy))

相比于for in 迭代list,使用enumerate迭代还可以得到list的index

提升 0.5 个百分点



这个例子似乎是在说明,模型有时候为了提升0.5个百分点还要训练那么多次实在无必要了。在训练之前给定一个预期准确率就好(对于不执着于调参数的我而言是这样的)
数据量加大,更深的模型---》更好地拟合

3人推荐
随时随地看视频
慕课网APP