{
  "id": 12930,
  "title": "Other Solutions",
  "url": "/competitions/datasciencebowl/writeups/deepsea-challenger-other-solutions",
  "author_name": "",
  "post_date": "2015-03-19T23:41:11.110Z",
  "votes": 4,
  "comment_count": 3,
  "views": 1296,
  "content": "<p>It is very impressive to read about the top 3 winning solutions. They have pulled away from the rest of the pack by a wide gap.</p>\n<p>Some other solutions may still have complimentary components that in combination could offer additional improvement. </p>\n<p>Our team came #5.&nbsp; As others we used CNN. One thing that we found helpful was to vary the aspect ratio of the image. We used both resize preserving and non-preserving aspect ratio, and combined in ensemble. Each alone gave similar scores, but in combination improved by 0.1-0.15.<br>Others also mentioned using one or the other method. I think this helps for planktons because some of them are very long and thin,&nbsp; so when resizing with correct AR, not much detail left on the narrow side.</p>\n<p>Another method, we used the hierarchical structure to define 4 levels of higher hierarchy labels,.so that the highest level has the fewer number of labels. We trained same network on the separate label sets. We then combined them using the conditioned probability and enforcing some of lower level labels to sum to that of higher ones. An ensemble of such models improved our scores for a given network structure by about 0.1-0.15.</p>\n<p>It will be interesting to hear from teams that got improvements from other ideas.</p>\n<p>In particular we noticed that in our solution, it did not do as well for classes &quot;unknown&quot; and various &quot;others&quot;.&nbsp; It makes sense, since these are not normal classes but collections of exceptions. Did anyone try a method focused specifically on this aspect, that helped? I was thinking of trying some kind of novelty detection methods, but did not get to that.</p>",
  "messages": [
    {
      "id": "67338",
      "postDate": "03/19/2015 23:41:11",
      "content": "<p>It is very impressive to read about the top 3 winning solutions. They have pulled away from the rest of the pack by a wide gap.</p>\n<p>Some other solutions may still have complimentary components that in combination could offer additional improvement. </p>\n<p>Our team came #5.&nbsp; As others we used CNN. One thing that we found helpful was to vary the aspect ratio of the image. We used both resize preserving and non-preserving aspect ratio, and combined in ensemble. Each alone gave similar scores, but in combination improved by 0.1-0.15.<br>Others also mentioned using one or the other method. I think this helps for planktons because some of them are very long and thin,&nbsp; so when resizing with correct AR, not much detail left on the narrow side.</p>\n<p>Another method, we used the hierarchical structure to define 4 levels of higher hierarchy labels,.so that the highest level has the fewer number of labels. We trained same network on the separate label sets. We then combined them using the conditioned probability and enforcing some of lower level labels to sum to that of higher ones. An ensemble of such models improved our scores for a given network structure by about 0.1-0.15.</p>\n<p>It will be interesting to hear from teams that got improvements from other ideas.</p>\n<p>In particular we noticed that in our solution, it did not do as well for classes &quot;unknown&quot; and various &quot;others&quot;.&nbsp; It makes sense, since these are not normal classes but collections of exceptions. Did anyone try a method focused specifically on this aspect, that helped? I was thinking of trying some kind of novelty detection methods, but did not get to that.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67340",
      "postDate": "03/20/2015 00:06:44",
      "content": "<p>Well, on the subject of the &quot;unknown&quot; and &quot;others&quot; I did try a soft label approach. &nbsp;Basically I accumulated the predictions of each example in these categories and then added 1 to the correct label&nbsp;and renormalized. &nbsp;It seemed to me many of these were simply mislabeled examples. &nbsp;However, soft labeling did not help and slightly hurt my score.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67364",
      "postDate": "03/20/2015 04:58:44",
      "content": "<p>[quote=SR;67338]</p>\n<p>It is very impressive to read about the top 3 winning solutions. They have pulled away from the rest of the pack by a wide gap.</p>\n<p>Some other solutions may still have complimentary components that in combination could offer additional improvement.</p>\n<p>Our team came #5.&nbsp; As others we used CNN. One thing that we found helpful was to vary the aspect ratio of the image. We used both resize preserving and non-preserving aspect ratio, and combined in ensemble. Each alone gave similar scores, but in combination improved by 0.1-0.15.<br>Others also mentioned using one or the other method. I think this helps for planktons because some of them are very long and thin,&nbsp; so when resizing with correct AR, not much detail left on the narrow side.</p>\n<p>Another method, we used the hierarchical structure to define 4 levels of higher hierarchy labels,.so that the highest level has the fewer number of labels. We trained same network on the separate label sets. We then combined them using the conditioned probability and enforcing some of lower level labels to sum to that of higher ones. An ensemble of such models improved our scores for a given network structure by about 0.1-0.15.</p>\n<p>It will be interesting to hear from teams that got improvements from other ideas.</p>\n<p>In particular we noticed that in our solution, it did not do as well for classes &quot;unknown&quot; and various &quot;others&quot;.&nbsp; It makes sense, since these are not normal classes but collections of exceptions. Did anyone try a method focused specifically on this aspect, that helped? I was thinking of trying some kind of novelty detection methods, but did not get to that.</p>\n<p>[/quote]</p>\n<p>Can you explain how you dealt with classes containing less number of images? I was getting very low class-wise for those classes hence I trained a model by equalizing images per classes with various augmentation then took an ensemble with model without having equalized so on the overall I could get class-accuracy of 70+ percentage per each of the classes except the last 2.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "67374",
      "postDate": "03/20/2015 06:02:37",
      "content": "<p>For us, we just used the original image/class distribution. <br>Yes, we noticed some rare classes were hard .</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 67340,
      "author_name": "iamthep",
      "author_url": "",
      "post_date": "03/20/2015 00:06:44",
      "content": "<p>Well, on the subject of the &quot;unknown&quot; and &quot;others&quot; I did try a soft label approach. &nbsp;Basically I accumulated the predictions of each example in these categories and then added 1 to the correct label&nbsp;and renormalized. &nbsp;It seemed to me many of these were simply mislabeled examples. &nbsp;However, soft labeling did not help and slightly hurt my score.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67364,
      "author_name": "sachinvernekar",
      "author_url": "",
      "post_date": "03/20/2015 04:58:44",
      "content": "<p>[quote=SR;67338]</p>\n<p>It is very impressive to read about the top 3 winning solutions. They have pulled away from the rest of the pack by a wide gap.</p>\n<p>Some other solutions may still have complimentary components that in combination could offer additional improvement.</p>\n<p>Our team came #5.&nbsp; As others we used CNN. One thing that we found helpful was to vary the aspect ratio of the image. We used both resize preserving and non-preserving aspect ratio, and combined in ensemble. Each alone gave similar scores, but in combination improved by 0.1-0.15.<br>Others also mentioned using one or the other method. I think this helps for planktons because some of them are very long and thin,&nbsp; so when resizing with correct AR, not much detail left on the narrow side.</p>\n<p>Another method, we used the hierarchical structure to define 4 levels of higher hierarchy labels,.so that the highest level has the fewer number of labels. We trained same network on the separate label sets. We then combined them using the conditioned probability and enforcing some of lower level labels to sum to that of higher ones. An ensemble of such models improved our scores for a given network structure by about 0.1-0.15.</p>\n<p>It will be interesting to hear from teams that got improvements from other ideas.</p>\n<p>In particular we noticed that in our solution, it did not do as well for classes &quot;unknown&quot; and various &quot;others&quot;.&nbsp; It makes sense, since these are not normal classes but collections of exceptions. Did anyone try a method focused specifically on this aspect, that helped? I was thinking of trying some kind of novelty detection methods, but did not get to that.</p>\n<p>[/quote]</p>\n<p>Can you explain how you dealt with classes containing less number of images? I was getting very low class-wise for those classes hence I trained a model by equalizing images per classes with various augmentation then took an ensemble with model without having equalized so on the overall I could get class-accuracy of 70+ percentage per each of the classes except the last 2.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 67374,
      "author_name": "shaironen",
      "author_url": "",
      "post_date": "03/20/2015 06:02:37",
      "content": "<p>For us, we just used the original image/class distribution. <br>Yes, we noticed some rare classes were hard .</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "67338": "",
    "67340": "",
    "67364": "",
    "67374": ""
  },
  "source": "existing_discussion",
  "complete": true,
  "competition_id": 3978,
  "competition_slug": "datasciencebowl",
  "team_id": 136040,
  "solution_url": "/competitions/datasciencebowl/writeups/deepsea-challenger-other-solutions"
}