{
  "id": 173613,
  "title": "Ensembling and Networks outputs",
  "url": "/competitions/siim-isic-melanoma-classification/discussion/173613",
  "author_name": "",
  "post_date": "2020-08-10T02:56:11.754841200Z",
  "votes": 1,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Hello everyone, I am quite new to Machine learning and deep learning. I understand the fundamentals. Essentially I have 2 questions:</p>\n<p>1) I was tinkering around with some of the notebooks released, for example there was one using Resnet. and I dont understand how come the output for images are negative values like -5 or -16. This was a network that got an AUC of 0.89 so it was performing quite well. I thought the output values should be either 1 or 0..?</p>\n<p>2) Which ensembling techniques should we use here. I have 0 experience with ensembling and I googled it a bit, but all of the stuff I found had to do with boosting and decision trees that seemed irrelevant. To get a higher AUC are we supposed to train for example 3 networks and then use ensembling on their outputs or something..? Also which library is typically used for ensembling..? Scikit-learn?</p>",
  "messages": [
    {
      "id": "964574",
      "postDate": "08/10/2020 02:56:11",
      "content": "<p>Hello everyone, I am quite new to Machine learning and deep learning. I understand the fundamentals. Essentially I have 2 questions:</p>\n<p>1) I was tinkering around with some of the notebooks released, for example there was one using Resnet. and I dont understand how come the output for images are negative values like -5 or -16. This was a network that got an AUC of 0.89 so it was performing quite well. I thought the output values should be either 1 or 0..?</p>\n<p>2) Which ensembling techniques should we use here. I have 0 experience with ensembling and I googled it a bit, but all of the stuff I found had to do with boosting and decision trees that seemed irrelevant. To get a higher AUC are we supposed to train for example 3 networks and then use ensembling on their outputs or something..? Also which library is typically used for ensembling..? Scikit-learn?</p>",
      "rawMarkdown": "Hello everyone, I am quite new to Machine learning and deep learning. I understand the fundamentals. Essentially I have 2 questions:\n\n1) I was tinkering around with some of the notebooks released, for example there was one using Resnet. and I dont understand how come the output for images are negative values like -5 or -16. This was a network that got an AUC of 0.89 so it was performing quite well. I thought the output values should be either 1 or 0..?\n\n2) Which ensembling techniques should we use here. I have 0 experience with ensembling and I googled it a bit, but all of the stuff I found had to do with boosting and decision trees that seemed irrelevant. To get a higher AUC are we supposed to train for example 3 networks and then use ensembling on their outputs or something..? Also which library is typically used for ensembling..? Scikit-learn?",
      "votes": null
    },
    {
      "id": "965034",
      "postDate": "08/10/2020 10:40:55",
      "content": "<p>Hello,\nFor your first question, it doesn't matter if the output value a negative number as there is probably a function to mapping this numbers to meaningful range (softmax, sigmoid or tanh) check the code again. For the second question, as you mentioned you have to train multiple networks for the same task with different parameters/hyper-parameters. Then, you can takes the output by majority vote or the highest confident output as you get the better results. It doesn't required a specific library to do this step. However, as you mention you are new in the field I don't recommend to use ensembling now. Try to focus on one model, play around with the parameters to learn how it works.  </p>",
      "rawMarkdown": "Hello,\nFor your first question, it doesn't matter if the output value a negative number as there is probably a function to mapping this numbers to meaningful range (softmax, sigmoid or tanh) check the code again. For the second question, as you mentioned you have to train multiple networks for the same task with different parameters/hyper-parameters. Then, you can takes the output by majority vote or the highest confident output as you get the better results. It doesn't required a specific library to do this step. However, as you mention you are new in the field I don't recommend to use ensembling now. Try to focus on one model, play around with the parameters to learn how it works.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 965034,
      "author_name": "nourahmad",
      "author_url": "",
      "post_date": "08/10/2020 10:40:55",
      "content": "<p>Hello,\nFor your first question, it doesn't matter if the output value a negative number as there is probably a function to mapping this numbers to meaningful range (softmax, sigmoid or tanh) check the code again. For the second question, as you mentioned you have to train multiple networks for the same task with different parameters/hyper-parameters. Then, you can takes the output by majority vote or the highest confident output as you get the better results. It doesn't required a specific library to do this step. However, as you mention you are new in the field I don't recommend to use ensembling now. Try to focus on one model, play around with the parameters to learn how it works.  </p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "964574": "Hello everyone, I am quite new to Machine learning and deep learning. I understand the fundamentals. Essentially I have 2 questions:\n\n1) I was tinkering around with some of the notebooks released, for example there was one using Resnet. and I dont understand how come the output for images are negative values like -5 or -16. This was a network that got an AUC of 0.89 so it was performing quite well. I thought the output values should be either 1 or 0..?\n\n2) Which ensembling techniques should we use here. I have 0 experience with ensembling and I googled it a bit, but all of the stuff I found had to do with boosting and decision trees that seemed irrelevant. To get a higher AUC are we supposed to train for example 3 networks and then use ensembling on their outputs or something..? Also which library is typically used for ensembling..? Scikit-learn?",
    "965034": "Hello,\nFor your first question, it doesn't matter if the output value a negative number as there is probably a function to mapping this numbers to meaningful range (softmax, sigmoid or tanh) check the code again. For the second question, as you mentioned you have to train multiple networks for the same task with different parameters/hyper-parameters. Then, you can takes the output by majority vote or the highest confident output as you get the better results. It doesn't required a specific library to do this step. However, as you mention you are new in the field I don't recommend to use ensembling now. Try to focus on one model, play around with the parameters to learn how it works."
  },
  "source": "meta"
}