| 
                         设置1个隐藏层,隐藏层节点数为5,隐藏层使用Sigmoid激活函数。 
- # 采用Sigmoid激活函数 
 - NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
 -  ITERNUM = 200000, gfunc = 'Sigmoid') 
 - NN.fit(X_train,y_train) 
 - # 绘制目标函数迭代曲线 
 - %matplotlib inline 
 - NN.dfJ.plot(figsize = (12,8)) 
 - # 测试在验证集的auc得分 
 - from sklearn.metrics import roc_auc_score 
 - Y_prob = NN.predict_prob(X_test) 
 - roc_auc_score(list(y_test),list(Y_prob)) 
 
  
 
隐藏层使用Tanh激活函数。 
- # 采用 Tanh激活函数 
 - NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
 -  ITERNUM = 200000, gfunc = 'Tanh') 
 - NN.fit(X_train,y_train) 
 - # 绘制目标函数迭代曲线 
 - %matplotlib inline 
 - NN.dfJ.plot(figsize = (12,8)) 
 - # 测试在验证集的auc得分 
 - from sklearn.metrics import roc_auc_score 
 - Y_prob = NN.predict_prob(X_test) 
 - roc_auc_score(list(y_test),list(Y_prob)) 
 
  
 
隐藏层使用ReLu激活函数。 
- # 采用 ReLu激活函数 
 - NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
 -  ITERNUM = 200000, gfunc = 'ReLu') 
 - NN.fit(X_train,y_train) 
 - # 绘制目标函数迭代曲线 
 - %matplotlib inline 
 - NN.dfJ.plot(figsize = (12,8)) 
 - # 测试在验证集的auc得分 
 - from sklearn.metrics import roc_auc_score 
 - Y_prob = NN.predict_prob(X_test) 
 - roc_auc_score(list(y_test),list(Y_prob)) 
 
  
 
隐藏层使用LeakyReLu激活函数。 
- # 采用 LeakyReLu激活函数 
 - NN = NNClassifier(n = [np.nan,5,1],alpha = 0.02, 
 -  ITERNUM = 200000, gfunc = 'LeakyReLu') 
 - NN.fit(X_train,y_train) 
 - # 绘制目标函数迭代曲线 
 - %matplotlib inline 
 - NN.dfJ.plot(figsize = (12,8)) 
 - # 测试在验证集的auc得分 
 - from sklearn.metrics import roc_auc_score 
 - Y_prob = NN.predict_prob(X_test) 
 - roc_auc_score(list(y_test),list(Y_prob)) 
 
  
 
以上试验似乎表明,在当前的数据集上,隐藏层采用ReLu激活函数是一个最好的选择,AUC最高得分为0.99958。 
06 
双隐层神经网络                         (编辑:泰州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |