1

Ich benutze DNNRegressor, um mein Modell zu trainieren. Ich suche in der Dokumentation, was die Verlustfunktion ist, die von diesem Wrapper verwendet wird, aber ich finde es nicht. Auf der anderen Seite ist es möglich, diese Verlustfunktion zu ändern.Was ist die Verlustfunktion, die den DNNRegressor verwendet?

Vielen Dank für Ihre Vorschläge.

Antwort

3

Es verwendet L2 Verlust (quadratische Fehler bedeuten), wie in target_column.py definiert:

def regression_target(label_name=None, 
         weight_column_name=None, 
         target_dimension=1): 
    """Creates a _TargetColumn for linear regression. 
    Args: 
    label_name: String, name of the key in label dict. Can be null if label 
     is a tensor (single headed models). 
    weight_column_name: A string defining feature column name representing 
     weights. It is used to down weight or boost examples during training. It 
     will be multiplied by the loss of the example. 
    target_dimension: dimension of the target for multilabels. 
    Returns: 
    An instance of _TargetColumn 
    """ 
    return _RegressionTargetColumn(loss_fn=_mean_squared_loss, 
           label_name=label_name, 
           weight_column_name=weight_column_name, 
           target_dimension=target_dimension) 

und derzeit API unterstützt keine Änderungen hier. Da es sich jedoch um Open Source handelt, können Sie den Konstruktor immer ändern, um verschiedene Funktionen intern mit anderen Verlusten aufzurufen.

Verwandte Themen