{
  "id": 72572,
  "title": "CNN Tree",
  "url": "/competitions/quickdraw-doodle-recognition/discussion/72572",
  "author_name": "omallo",
  "post_date": "2018-11-24T19:28:59.898000",
  "votes": 4,
  "comment_count": 2,
  "views": 0,
  "content": "<p>The following paper describes the idea of building up a tree of CNN models which are trained on different subsets of the classification categories and then combined at prediction time: <a href=\"https://arxiv.org/pdf/1511.04534.pdf\">https://arxiv.org/pdf/1511.04534.pdf</a></p>\n\n<p>I did a first attempt at implementing the paper as follows:</p>\n\n<ol>\n<li>train a model on all the categories</li>\n<li>compute the confusion matrix based on the previous model</li>\n<li>compute confusion sets as described in the paper (see Algorithm 2)</li>\n<li>train separate models on the confusion sets</li>\n<li>predict using the tree of models as described in the paper (see Algorithm 1)</li>\n</ol>\n\n<p>When training separate models on the confusion sets, I get a better accuracy than on the overall model which is trained on all the categories. However, the prediction which uses the complete CNN tree does not perform better (actually a bit worse).</p>\n\n<p>Has anyone successfully implemented a similar idea where a tree of CNN models is employed?</p>",
  "messages": [
    {
      "id": 427164,
      "postDate": "2018-11-24T19:28:59.900Z",
      "content": "<p>The following paper describes the idea of building up a tree of CNN models which are trained on different subsets of the classification categories and then combined at prediction time: <a href=\"https://arxiv.org/pdf/1511.04534.pdf\">https://arxiv.org/pdf/1511.04534.pdf</a></p>\n\n<p>I did a first attempt at implementing the paper as follows:</p>\n\n<ol>\n<li>train a model on all the categories</li>\n<li>compute the confusion matrix based on the previous model</li>\n<li>compute confusion sets as described in the paper (see Algorithm 2)</li>\n<li>train separate models on the confusion sets</li>\n<li>predict using the tree of models as described in the paper (see Algorithm 1)</li>\n</ol>\n\n<p>When training separate models on the confusion sets, I get a better accuracy than on the overall model which is trained on all the categories. However, the prediction which uses the complete CNN tree does not perform better (actually a bit worse).</p>\n\n<p>Has anyone successfully implemented a similar idea where a tree of CNN models is employed?</p>",
      "rawMarkdown": "The following paper describes the idea of building up a tree of CNN models which are trained on different subsets of the classification categories and then combined at prediction time: https://arxiv.org/pdf/1511.04534.pdf\n\nI did a first attempt at implementing the paper as follows:\n\n1. train a model on all the categories\n2. compute the confusion matrix based on the previous model\n3. compute confusion sets as described in the paper (see Algorithm 2)\n4. train separate models on the confusion sets\n5. predict using the tree of models as described in the paper (see Algorithm 1)\n\nWhen training separate models on the confusion sets, I get a better accuracy than on the overall model which is trained on all the categories. However, the prediction which uses the complete CNN tree does not perform better (actually a bit worse).\n\nHas anyone successfully implemented a similar idea where a tree of CNN models is employed?",
      "votes": 4
    },
    {
      "id": 427509,
      "postDate": "2018-11-25T16:51:26.710Z",
      "content": "<p>Just thanks for sharing this idea :) I won't be of any help here but I will definitely try this method !</p>",
      "rawMarkdown": "Just thanks for sharing this idea :) I won't be of any help here but I will definitely try this method !"
    },
    {
      "id": 427671,
      "postDate": "2018-11-25T23:55:16.510Z",
      "content": "<p><a href=\"/omallo\">@omallo</a>, thanks for sharing.</p>",
      "rawMarkdown": "@omallo, thanks for sharing."
    }
  ],
  "comments": [
    {
      "id": 427509,
      "author_name": "Pierre-Nicolas Piquin",
      "author_url": "",
      "post_date": "2018-11-25T16:51:26.710000",
      "content": "<p>Just thanks for sharing this idea :) I won't be of any help here but I will definitely try this method !</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 427671,
      "author_name": "YaGana Sheriff-Hussaini",
      "author_url": "",
      "post_date": "2018-11-25T23:55:16.510000",
      "content": "<p><a href=\"/omallo\">@omallo</a>, thanks for sharing.</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "427164": "The following paper describes the idea of building up a tree of CNN models which are trained on different subsets of the classification categories and then combined at prediction time: https://arxiv.org/pdf/1511.04534.pdf\n\nI did a first attempt at implementing the paper as follows:\n\n1. train a model on all the categories\n2. compute the confusion matrix based on the previous model\n3. compute confusion sets as described in the paper (see Algorithm 2)\n4. train separate models on the confusion sets\n5. predict using the tree of models as described in the paper (see Algorithm 1)\n\nWhen training separate models on the confusion sets, I get a better accuracy than on the overall model which is trained on all the categories. However, the prediction which uses the complete CNN tree does not perform better (actually a bit worse).\n\nHas anyone successfully implemented a similar idea where a tree of CNN models is employed?",
    "427509": "Just thanks for sharing this idea :) I won't be of any help here but I will definitely try this method !",
    "427671": "@omallo, thanks for sharing."
  }
}