commit d38cee1ceaed486c1ba3bed9271008dc82fde331
parent 20a1a01cef9d61ce9dd09995f2c811ab5aca2a9d
Author: Alex Auvolat <alex.auvolat@ens.fr>
Date:   Fri,  8 May 2015 16:17:55 -0400
Add scaling factor between two costs in joint model
Diffstat:
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/config/joint_simple_mlp_tgtcls_1_cswdtx.py b/config/joint_simple_mlp_tgtcls_1_cswdtx.py
@@ -41,6 +41,9 @@ dim_output_dest = len(dest_tgtcls)
 dim_hidden_time = []
 dim_output_time = len(time_tgtcls)
 
+# Cost ratio between distance cost and time cost
+time_cost_factor = 4
+
 embed_weights_init = IsotropicGaussian(0.001)
 mlp_weights_init = IsotropicGaussian(0.01)
 mlp_biases_init = Constant(0.001)
diff --git a/model/joint_simple_mlp_tgtcls.py b/model/joint_simple_mlp_tgtcls.py
@@ -67,9 +67,13 @@ class Model(object):
         dest_cost.name = 'dest_cost'
         dest_hcost = error.hdist(dest_outputs, y_dest).mean()
         dest_hcost.name = 'dest_hcost'
+
         time_cost = error.rmsle(time_outputs.flatten(), y_time.flatten())
         time_cost.name = 'time_cost'
-        cost = dest_cost + time_cost
+        time_scost = config.time_cost_factor * time_cost
+        time_scost.name = 'time_scost'
+
+        cost = dest_cost + time_scost
         cost.name = 'cost'
 
         # Initialization
@@ -83,7 +87,7 @@ class Model(object):
             mlp.initialize()
 
         self.cost = cost
-        self.monitor = [cost, dest_cost, dest_hcost, time_cost]
+        self.monitor = [cost, dest_cost, dest_hcost, time_cost, time_scost]
         self.outputs = tensor.concatenate([dest_outputs, time_outputs[:, None]], axis=1)
         self.outputs.name = 'outputs'
         self.pred_vars = ['destination_longitude', 'destination_latitude', 'travel_time']