-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOLPHIN-94] Show both training/cross-validation error to check overfiting #95
Conversation
Hi, @beomyeol . Could you review the design of this PR? I think you're the right person. I changed your |
@dongjoon-hyun, I'll take a look at this. |
@dongjoon-hyun, This looks good. I'm wondering if there is any chance to have difference between training validation and cross validation. If not, we don't need two separate |
Ur, I've heard that we need separate classes for REEF parameter injection. |
@dongjoon-hyun is right, if we're going to use two separate classes. However, for this case I think we should just |
Oh, I see. |
Hi, @jsjason , @beomyeol . I merged into one. But, as a single Validator class, REEF complains like this again. How can I resolve this with this
|
@dongjoon-hyun Oh, now I understand why you used two separate classes. I didn't know two arguments of the same classes cannot be injected. We can make a copy in the constructor of |
What I suggested was to create a Abstract classes are not preferred because having an abstract class means some classes share the same features, and this means it can be extracted to a separate class. The unshared part can be turned into an interface. |
You could even do this: declare a class that wraps two |
Oh, thank you. @jsjason . I will apply the first suggestion! |
What about the second method of using |
Okay. No problem. Thank you for quick response! By the way, I have a question. |
@dongjoon-hyun If you prefer to store |
Thank you for your advice and pointer, @bgchun . REEF-31 looks like the best way. REEF 0.13 will have that? The fix version of REEF-31 is not assigned yet. |
@jsjason . I hope I changed the code as your advice. Please correct me if I'm wrong. By the way, the result shows us overfitting status.
|
My student's implementing it. I don't think it's ready for 0.13, which we On Sun, Aug 30, 2015 at 1:19 PM, Dongjoon Hyun [email protected]
Byung-Gon Chun |
LOG.log(Level.INFO, "# of validation inputs: {0}", String.valueOf(validator.getTotalNum())); | ||
LOG.log(Level.INFO, "Training Error: {0}", String.valueOf(trainingValidator.getError())); | ||
LOG.log(Level.INFO, "Cross Validation Error: {0}", String.valueOf(crossValidator.getError())); | ||
LOG.log(Level.INFO, "# of validation inputs: {0}", String.valueOf(crossValidator.getTotalNum())); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could use a line that shows us the number of training inputs, too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right!
@dongjoon-hyun Could the training error be too low because the number of training inputs is too small? |
Right. The values means that current neural network configuration is much more complex and the data is too small. That's overfitting. But, this PR does not have anything to handle that. |
@dongjoon-hyun Thank you for your experiment. To avoid overfitting, we can apply various techniques such as weight decaying and dropout later. |
Sure, @beomyeol . And that's the reason why I'm implementing convolutional layers and pooling layers. |
@dongjoon-hyun The current changes look good for now. I don't think being unable to store |
My comment is a bit misleading. I meant that if we assume a certain model replica does not exist across more than one task in a given evaluator, then we wouldn't have to maintain a Context-level |
Yep. I'm sure about that. It's my concern due to lack of knowledges. ;) |
+1 |
@jsjason I am good, too. Please merge this PR. :) |
[DOLPHIN-94] Show both training/cross-validation error to check overfiting
Thank you! Close #94 . |
This is the first draft described in #94 .
I will test and amend again after merging #88 .