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.