Hi !
I am starting to use theano and I find myself currently having problems 
with the following issue:
I am dealing with a very simple classifier :  my only layer is the 
LinearRegression one, which is responsible for calculating the output. I am
dealing with a binary classification problem and I try two approaches for 
training the classifier : 
*(First approach : MSerror is computed with the activation of the output 
neuron .)*
Whenever I compute this layer's output as 

        self.output = T.dot(input, self.W) + self.b

and I use a mean squared error of the form 

        ((self.output-y)**2.).sum()

everything goes fine and the model is trained, gradients are computed and 
error is minimized.

(*Second approach : MSerror is computed with the binary transformation of 
the activation from the output neuron )*
However, if I try to use a self.y_pred for this binary classification 
problem as

         self.y_pred = T.gt(self.output, 0.5)

with a mserror

         ((self.y_pred-y)**2.).sum()

Nothing happens : gradients are insensitive to the y variable ( here 
meaning the true sampled y points),

error is not minimized and my classifier stops working. I already tried to 
use scan as something like

theano.scan(lambda x: ifelse(T.gt(x,0.5),1.,0.), sequences=[self.output]) 

but the same applies in this case.

Do you guys think you could provide me with a hint on how to 
understand/solve this issue?

Many thanks!

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to