Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在损失没有改善的某个时期停止训练过程?_Python_Python 3.x_Machine Learning_Logistic Regression - Fatal编程技术网

Python 如何在损失没有改善的某个时期停止训练过程?

Python 如何在损失没有改善的某个时期停止训练过程?,python,python-3.x,machine-learning,logistic-regression,Python,Python 3.x,Machine Learning,Logistic Regression,我试图用python实现逻辑回归,我想在训练和测试错误没有改善的时期停止训练过程。我做了以下工作: def train(X_train,y_train,X_test,y_test,epochs,alpha,eta0): N = len(X_train) dim = X_train[0] w,b = initialize_weights(dim) for i in tqdm(range(epochs)): for x,y in zip(X_train

我试图用python实现逻辑回归,我想在训练和测试错误没有改善的时期停止训练过程。我做了以下工作:

def train(X_train,y_train,X_test,y_test,epochs,alpha,eta0):
    N = len(X_train)
    dim = X_train[0]
    w,b = initialize_weights(dim)
    for i in tqdm(range(epochs)):
        for x,y in zip(X_train,y_train):
            dw = gradient_dw(x,y,w,b,alpha,1)
            db = gradient_db(x,y,w,b)
            w = w + (eta0*dw)
            b = b + (eta0*db)
            
        train_prob=[sigmoid((np.dot(w.T,x))+b) for x in X_train]
        train_loss=logloss(y_train,train_prob)
        test_prob=[sigmoid((np.dot(w.T,x))+b) for x in X_test]
        test_loss=logloss(y_test,test_prob)
        
    return w,b,train_loss,test_loss
我能够在最后得到损失,但我希望在损失没有改善的时期停止。 这里定义了initialize_weights()、gradient_dw()、gradient_dw()、sigmoid()和logloss()方法