2016-08-28 8 views
1

SkFlow estimatorsで正規化方法を実装する簡単な方法はありますか?SkFlow - 分類器と回帰子によるドロップアウトまたはL2正規化の実装

SkFlowにドロップアウトを実装するのはexampleですが、見積もりを実装していません。ここで

は、私が働いているコードです:

regressor = skflow.TensorFlowDNNRegressor(
    hidden_units=[ 
     20, 
     30, 
     30, 
     30, 
     20 
    ], 
    steps=steps, 
    learning_rate=0.3, 
    batch_size=32) 

regressor.fit(X_train, y_train) 

これらSkFlowはまだ推定器と正則を実装する任意の簡単な方法が存在しない場合には、誰かが示すことができれば、その後、私が説明し、感謝、または基本的にTensorFlowDNNRegressorと同じ効果を与えるものを指しますが、私はそれに正則化を追加できます。

答えて

0

このソリューションでは、ドロップアウトとオプティマイザの両方を可能にする新しいtf.contrib.learn apiを使用しています。

val_monitor = learn.monitors.ValidationMonitor(
    X_validate, 
    y_validate, 
    every_n_steps=100, 
    early_stopping_metric="loss", 
    early_stopping_metric_minimize=True, 
    early_stopping_rounds=1000) 

feature_columns = [contrib.layers.real_valued_column("", dimension=2)] 

regressor = learn.DNNRegressor(
    feature_columns=feature_columns, 
    hidden_units=[1024, 512, 256], 
    model_dir="tmp/network_model", 
    config=tf.contrib.learn.RunConfig(save_checkpoints_secs=10), 
    optimizer=tf.train.ProximalAdagradOptimizer(
    learning_rate=0.1, 
    #l2_regularization_strength=0.0001 
), 
    dropout=0.1) 

regressor.fit(X_train, y_train, steps=500000, batch_size=32, monitors=[val_monitor]) 

decaying learning rateでこれを動作させる方法はまだわかりません。

さらに詳しい情報はvalidation monitoringおよびapiです。

関連する問題