Skip to content
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

poor performance of diabetes prediction #2

Open
Andy-jqa opened this issue Oct 12, 2017 · 7 comments
Open

poor performance of diabetes prediction #2

Andy-jqa opened this issue Oct 12, 2017 · 7 comments

Comments

@Andy-jqa
Copy link

Why is the performance of using 07_diabetes_logistic.py to predict diabetes pretty poor?

@kopxiong
Copy link

I guess it's due to the optimizer setting, since I modified the update rule to:
optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
the loss decreases dramatically.

@Andy-jqa
Copy link
Author

@kopxiong It makes sense to change the hyperparameters. I've tried your suggestion, but the loss didn't drop to a satisfying level. Have you checked the y_pred of the final model?

@hunkim
Copy link
Owner

hunkim commented Oct 15, 2017

@kopxiong Any thoughts? Since the goal of these tutorials is understanding the concept, I did not pay attention to the accuracy.

@kopxiong
Copy link

kopxiong commented Oct 18, 2017

@Andy-jqa @hunkim Sorry for the late reply. I think we can improve the model's performance from the following aspects:

  1. add more layers or increase the number of nodes in each layer, since more units mean more powerful representation capability, like
    super(Model, self).__init__()
    self.l1 = torch.nn.Linear(8, 32) #(8, 6)
    self.l2 = torch.nn.Linear(32, 16) #(6, 4)
    self.l3 = torch.nn.Linear(16, 1) #(4, 1)
  2. use Adam optimizer to RMSProp instead of SGD
  3. use more epochs for training (like 2000 or more)
  4. sigmoid activation function maybe not good, try ReLU or LeakyReLU (I tried ReLU, but didn't work)

maybe we also should add some regularization terms to avoid overfitting.

@akramsystems
Copy link

set lr = 8 and epoch i set to 10000
got around 2% error

@akramsystems
Copy link

also made more nodes in the hidden layer so i set my layers to
torch.nn.Linear(8, 30)
torch.nn.Linear(30, 10)
torch.nn.Linear(10, 1)

@elcolie
Copy link

elcolie commented Dec 7, 2018

I can not get loss below than 0.6
Any ideas?

file.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants