{
  "id": 302156,
  "title": "Magic Two: We Can Estimate Number of GT Labels on the Public Test Data",
  "url": "/competitions/tensorflow-great-barrier-reef/discussion/302156",
  "author_name": "Bilzard",
  "post_date": "2022-01-21T05:50:16.010000",
  "votes": 7,
  "comment_count": 8,
  "views": 0,
  "content": "<h1>In Short</h1>\n<p>Extending the idea of the previous post[1], we can also estimate the number of GT labels on the public test data as well as TP, FP, FN.</p>\n<p>What we need is:</p>\n<ol>\n<li>Estimate of FN/TP, PN/TP of your model by [1]</li>\n<li>Add certain number of FN to your prediction (watch out you should add it to the public test frame, not the private test frame) and observe F_2</li>\n<li>Estimate TP, FP, FN, GT using equation (5)</li>\n</ol>\n<h1>Detail</h1>\n<p>Given added FN of amount alpha, our new F_2 metrics becomes:</p>\n<p>$$<br>\nF_2^\\alpha = \\frac{5TP}{5TP+4FN+FP + \\alpha}<br>\n$$</p>\n<p>Clearing out denominator, and solve for TP, we get</p>\n<p>$$<br>\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1} \\tag{3}<br>\n$$</p>\n<p>Since we already have estimate of FN/TP and FP/TP, we can estimate TP by above equation.</p>\n<p>And since GT = TP + FN, we can also have an estimate of GT on the public test data.</p>\n<hr>\n<p>Note: From Eq (1) and (2) in [1], <br>\n$$<br>\n4 \\frac{FN}{TP} + \\frac{FP}{TP} = 5 \\left( \\frac{1}{F_2} - 1 \\right) \\tag{4}<br>\n$$</p>\n<p>substituting (4) to (3), we have simpler form of TP estimation:</p>\n<p>$$<br>\n\\frac{TP}{\\alpha} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{5}<br>\n$$</p>\n<p>Since eq (5) has no FN/TP, FP/TP term, we have noise-free form of eq(3).</p>\n<p><a href=\"https://ibb.co/PFghLsF\"><img src=\"https://i.ibb.co/q7psSL7/Screen-Shot-2022-01-21-at-14-34-32.png\" alt=\"Screen-Shot-2022-01-21-at-14-34-32\"></a></p>\n<h1>Reference</h1>\n<p>[1] <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130\" target=\"_blank\">Here is the magic: Estimating recall and precision from your public LB score</a></p>\n<hr>\n<h1>update note</h1>\n<ul>\n<li>2022/1/21 14:59 JST: fix formula mistake</li>\n<li>2022/1/22 22:35 JST: add note of simpler form</li>\n</ul>",
  "messages": [
    {
      "id": 1658547,
      "postDate": "2022-01-21T05:50:16.010Z",
      "content": "<h1>In Short</h1>\n<p>Extending the idea of the previous post[1], we can also estimate the number of GT labels on the public test data as well as TP, FP, FN.</p>\n<p>What we need is:</p>\n<ol>\n<li>Estimate of FN/TP, PN/TP of your model by [1]</li>\n<li>Add certain number of FN to your prediction (watch out you should add it to the public test frame, not the private test frame) and observe F_2</li>\n<li>Estimate TP, FP, FN, GT using equation (5)</li>\n</ol>\n<h1>Detail</h1>\n<p>Given added FN of amount alpha, our new F_2 metrics becomes:</p>\n<p>$$<br>\nF_2^\\alpha = \\frac{5TP}{5TP+4FN+FP + \\alpha}<br>\n$$</p>\n<p>Clearing out denominator, and solve for TP, we get</p>\n<p>$$<br>\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1} \\tag{3}<br>\n$$</p>\n<p>Since we already have estimate of FN/TP and FP/TP, we can estimate TP by above equation.</p>\n<p>And since GT = TP + FN, we can also have an estimate of GT on the public test data.</p>\n<hr>\n<p>Note: From Eq (1) and (2) in [1], <br>\n$$<br>\n4 \\frac{FN}{TP} + \\frac{FP}{TP} = 5 \\left( \\frac{1}{F_2} - 1 \\right) \\tag{4}<br>\n$$</p>\n<p>substituting (4) to (3), we have simpler form of TP estimation:</p>\n<p>$$<br>\n\\frac{TP}{\\alpha} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{5}<br>\n$$</p>\n<p>Since eq (5) has no FN/TP, FP/TP term, we have noise-free form of eq(3).</p>\n<p><a href=\"https://ibb.co/PFghLsF\"><img src=\"https://i.ibb.co/q7psSL7/Screen-Shot-2022-01-21-at-14-34-32.png\" alt=\"Screen-Shot-2022-01-21-at-14-34-32\"></a></p>\n<h1>Reference</h1>\n<p>[1] <a href=\"https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130\" target=\"_blank\">Here is the magic: Estimating recall and precision from your public LB score</a></p>\n<hr>\n<h1>update note</h1>\n<ul>\n<li>2022/1/21 14:59 JST: fix formula mistake</li>\n<li>2022/1/22 22:35 JST: add note of simpler form</li>\n</ul>",
      "rawMarkdown": "# In Short\n\nExtending the idea of the previous post[1], we can also estimate the number of GT labels on the public test data as well as TP, FP, FN.\n\nWhat we need is:\n\n1. Estimate of FN/TP, PN/TP of your model by [1]\n2. Add certain number of FN to your prediction (watch out you should add it to the public test frame, not the private test frame) and observe F_2\n3. Estimate TP, FP, FN, GT using equation (5)\n\n# Detail\n\nGiven added FN of amount alpha, our new F_2 metrics becomes:\n\n$$\nF_2^\\alpha = \\frac{5TP}{5TP+4FN+FP + \\alpha}\n$$\n\nClearing out denominator, and solve for TP, we get\n\n$$\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1} \\tag{3}\n$$\n\nSince we already have estimate of FN/TP and FP/TP, we can estimate TP by above equation.\n\nAnd since GT = TP + FN, we can also have an estimate of GT on the public test data.\n\n---\nNote: From Eq (1) and (2) in [1], \n$$\n4 \\frac{FN}{TP} + \\frac{FP}{TP} = 5 \\left( \\frac{1}{F_2} - 1 \\right) \\tag{4}\n$$\n\nsubstituting (4) to (3), we have simpler form of TP estimation:\n\n$$\n\\frac{TP}{\\alpha} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{5}\n$$\n\nSince eq (5) has no FN/TP, FP/TP term, we have noise-free form of eq(3).\n\n<a href=\"https://ibb.co/PFghLsF\"><img src=\"https://i.ibb.co/q7psSL7/Screen-Shot-2022-01-21-at-14-34-32.png\" alt=\"Screen-Shot-2022-01-21-at-14-34-32\" border=\"0\"></a>\n\n# Reference\n\n[1] [Here is the magic: Estimating recall and precision from your public LB score](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130)\n\n---\n# update note\n\n* 2022/1/21 14:59 JST: fix formula mistake\n* 2022/1/22 22:35 JST: add note of simpler form",
      "votes": 7
    },
    {
      "id": 1660209,
      "postDate": "2022-01-22T13:45:44.060Z",
      "content": "<h2>Tips: How to estimate the number of GT labels per frame?</h2>\n<p>It requires a lot of LB probing to distinguish public test frame from private test frame.<br>\nIf we can simply add one FP prediction to every test frame, the equation (5) become like this:</p>\n<p>$$<br>\n\\frac{TP}{I_{public}} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{6}<br>\n$$</p>\n<p>where I_public is the number of frames in the public test set.</p>\n<p>multiplying FP/TP to the eq(6),</p>\n<p>$$<br>\n\\frac{FP}{I_{public}} = \\frac{FP}{TP} \\frac{TP}{I_{public}}<br>\n$$</p>\n<p>since GT = FP + TP, we obtain</p>\n<p>$$<br>\n\\frac{GT}{I_{public}} = \\left( 1 + \\frac{FP}{TP} \\right) \\frac{TP}{I_{public}} \\tag{7}<br>\n$$</p>\n<p>We can estimate number of GT labels per frame using eq(7).</p>",
      "rawMarkdown": "## Tips: How to estimate the number of GT labels per frame?\n\nIt requires a lot of LB probing to distinguish public test frame from private test frame.\nIf we can simply add one FP prediction to every test frame, the equation (5) become like this:\n\n$$\n\\frac{TP}{I_{public}} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{6}\n$$\n\nwhere I_public is the number of frames in the public test set.\n\nmultiplying FP/TP to the eq(6),\n\n$$\n\\frac{FP}{I_{public}} = \\frac{FP}{TP} \\frac{TP}{I_{public}}\n$$\n\nsince GT = FP + TP, we obtain\n\n$$\n\\frac{GT}{I_{public}} = \\left( 1 + \\frac{FP}{TP} \\right) \\frac{TP}{I_{public}} \\tag{7}\n$$\n\nWe can estimate number of GT labels per frame using eq(7)."
    },
    {
      "id": 1658978,
      "postDate": "2022-01-21T13:00:36.957Z",
      "content": "<p>Here is the simulation result:</p>\n<p>Assumptions in this simulation are:</p>\n<ul>\n<li>FN/TP and FP/TP are perfectly estimated (i.e. error is zero)</li>\n<li>F_2 is rounded at decimal point 3</li>\n</ul>\n<p>In this assumption, the estimated error is highly low when alpha is sufficiently large number.<br>\nIn the real situation, since we have certain amount of variance of estimated FN/TP and FP/TP, the estimated error will become large.</p>\n<p><a href=\"https://ibb.co/PwBg1tr\"><img src=\"https://i.ibb.co/18HTRb0/Screen-Shot-2022-01-21-at-22-20-13.png\" alt=\"Screen-Shot-2022-01-21-at-22-20-13\"></a></p>\n<hr>\n<p>update: The estimation becomes numerically unstable if alpha is too small. In the case of the sample used in the simulation, alpha &lt; TP * 0.25.</p>",
      "rawMarkdown": "Here is the simulation result:\n\nAssumptions in this simulation are:\n* FN/TP and FP/TP are perfectly estimated (i.e. error is zero)\n* F_2 is rounded at decimal point 3\n\nIn this assumption, the estimated error is highly low when alpha is sufficiently large number.\nIn the real situation, since we have certain amount of variance of estimated FN/TP and FP/TP, the estimated error will become large.\n\n<a href=\"https://ibb.co/PwBg1tr\"><img src=\"https://i.ibb.co/18HTRb0/Screen-Shot-2022-01-21-at-22-20-13.png\" alt=\"Screen-Shot-2022-01-21-at-22-20-13\" border=\"0\"></a>\n\n---\nupdate: The estimation becomes numerically unstable if alpha is too small. In the case of the sample used in the simulation, alpha < TP * 0.25.",
      "replies": [
        {
          "id": 1659537,
          "postDate": "2022-01-21T22:27:55.373Z",
          "content": "<p>Here is another simulation result where noise considered.</p>\n<p>Assumptions:</p>\n<ul>\n<li>add Gaussian noise to FN/TP, FP/TP: std=0.022, 0.061 respectively</li>\n</ul>\n<p>If the observed F_2 is sufficiently small, first term of the denominator become large, and it become dominant compared to FN/TN, FP/TN terms. So we can get accurate result if alpha is sufficiently large.<br>\nIn this simulation case, alpha &gt; 2000 is the safe choice.</p>\n<p>$$<br>\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1}<br>\n$$</p>\n<p><a href=\"https://ibb.co/ZzFGMbQ\"><img src=\"https://i.ibb.co/8gfN7Qy/Screen-Shot-2022-01-22-at-8-14-53.png\" alt=\"Screen-Shot-2022-01-22-at-8-14-53\"></a></p>",
          "rawMarkdown": "Here is another simulation result where noise considered.\n\nAssumptions:\n* add Gaussian noise to FN/TP, FP/TP: std=0.022, 0.061 respectively\n\nIf the observed F_2 is sufficiently small, first term of the denominator become large, and it become dominant compared to FN/TN, FP/TN terms. So we can get accurate result if alpha is sufficiently large.\nIn this simulation case, alpha > 2000 is the safe choice.\n\n$$\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1}\n$$\n\n<a href=\"https://ibb.co/ZzFGMbQ\"><img src=\"https://i.ibb.co/8gfN7Qy/Screen-Shot-2022-01-22-at-8-14-53.png\" alt=\"Screen-Shot-2022-01-22-at-8-14-53\" border=\"0\"></a>"
        },
        {
          "id": 1660232,
          "postDate": "2022-01-22T14:09:45.067Z",
          "content": "<p>This simulation result is no more necessary since we have equation (5).<br>\nThis simulation is based on the assumption that the noise in FN/TP and FP/TP are independent, but in reality, the two variables are correlated by equation (4).<br>\nTherefore, we need not to care the noise of FN/TP and TP/TP estimations.</p>",
          "rawMarkdown": "This simulation result is no more necessary since we have equation (5).\nThis simulation is based on the assumption that the noise in FN/TP and FP/TP are independent, but in reality, the two variables are correlated by equation (4).\nTherefore, we need not to care the noise of FN/TP and TP/TP estimations."
        },
        {
          "id": 1662067,
          "postDate": "2022-01-24T01:57:50.310Z",
          "content": "<p>New simulation result is here.<br>\nI estimated TP using eq (5). This time, I considered no noise.</p>\n<p><a href=\"https://ibb.co/BLK7Sd4\"><img src=\"https://i.ibb.co/xh8cRPm/Screen-Shot-2022-01-24-at-11-01-01.png\" alt=\"Screen-Shot-2022-01-24-at-11-01-01\"></a></p>",
          "rawMarkdown": "New simulation result is here.\nI estimated TP using eq (5). This time, I considered no noise.\n\n<a href=\"https://ibb.co/BLK7Sd4\"><img src=\"https://i.ibb.co/xh8cRPm/Screen-Shot-2022-01-24-at-11-01-01.png\" alt=\"Screen-Shot-2022-01-24-at-11-01-01\" border=\"0\"></a>"
        }
      ]
    },
    {
      "id": 1658548,
      "postDate": "2022-01-21T05:50:52.967Z",
      "content": "<p>I didn't verified the detail, so maybe some mistake contained.</p>",
      "rawMarkdown": "I didn't verified the detail, so maybe some mistake contained."
    },
    {
      "id": 1660186,
      "postDate": "2022-01-22T13:25:19.930Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 1658554,
      "postDate": "2022-01-21T06:00:06.713Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 1660209,
      "author_name": "Bilzard",
      "author_url": "",
      "post_date": "2022-01-22T13:45:44.060000",
      "content": "<h2>Tips: How to estimate the number of GT labels per frame?</h2>\n<p>It requires a lot of LB probing to distinguish public test frame from private test frame.<br>\nIf we can simply add one FP prediction to every test frame, the equation (5) become like this:</p>\n<p>$$<br>\n\\frac{TP}{I_{public}} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{6}<br>\n$$</p>\n<p>where I_public is the number of frames in the public test set.</p>\n<p>multiplying FP/TP to the eq(6),</p>\n<p>$$<br>\n\\frac{FP}{I_{public}} = \\frac{FP}{TP} \\frac{TP}{I_{public}}<br>\n$$</p>\n<p>since GT = FP + TP, we obtain</p>\n<p>$$<br>\n\\frac{GT}{I_{public}} = \\left( 1 + \\frac{FP}{TP} \\right) \\frac{TP}{I_{public}} \\tag{7}<br>\n$$</p>\n<p>We can estimate number of GT labels per frame using eq(7).</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1658978,
      "author_name": "Bilzard",
      "author_url": "",
      "post_date": "2022-01-21T13:00:36.957000",
      "content": "<p>Here is the simulation result:</p>\n<p>Assumptions in this simulation are:</p>\n<ul>\n<li>FN/TP and FP/TP are perfectly estimated (i.e. error is zero)</li>\n<li>F_2 is rounded at decimal point 3</li>\n</ul>\n<p>In this assumption, the estimated error is highly low when alpha is sufficiently large number.<br>\nIn the real situation, since we have certain amount of variance of estimated FN/TP and FP/TP, the estimated error will become large.</p>\n<p><a href=\"https://ibb.co/PwBg1tr\"><img src=\"https://i.ibb.co/18HTRb0/Screen-Shot-2022-01-21-at-22-20-13.png\" alt=\"Screen-Shot-2022-01-21-at-22-20-13\"></a></p>\n<hr>\n<p>update: The estimation becomes numerically unstable if alpha is too small. In the case of the sample used in the simulation, alpha &lt; TP * 0.25.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1659537,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2022-01-21T22:27:55.373000",
          "content": "<p>Here is another simulation result where noise considered.</p>\n<p>Assumptions:</p>\n<ul>\n<li>add Gaussian noise to FN/TP, FP/TP: std=0.022, 0.061 respectively</li>\n</ul>\n<p>If the observed F_2 is sufficiently small, first term of the denominator become large, and it become dominant compared to FN/TN, FP/TN terms. So we can get accurate result if alpha is sufficiently large.<br>\nIn this simulation case, alpha &gt; 2000 is the safe choice.</p>\n<p>$$<br>\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1}<br>\n$$</p>\n<p><a href=\"https://ibb.co/ZzFGMbQ\"><img src=\"https://i.ibb.co/8gfN7Qy/Screen-Shot-2022-01-22-at-8-14-53.png\" alt=\"Screen-Shot-2022-01-22-at-8-14-53\"></a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1660232,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2022-01-22T14:09:45.067000",
          "content": "<p>This simulation result is no more necessary since we have equation (5).<br>\nThis simulation is based on the assumption that the noise in FN/TP and FP/TP are independent, but in reality, the two variables are correlated by equation (4).<br>\nTherefore, we need not to care the noise of FN/TP and TP/TP estimations.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1662067,
          "author_name": "Bilzard",
          "author_url": "",
          "post_date": "2022-01-24T01:57:50.310000",
          "content": "<p>New simulation result is here.<br>\nI estimated TP using eq (5). This time, I considered no noise.</p>\n<p><a href=\"https://ibb.co/BLK7Sd4\"><img src=\"https://i.ibb.co/xh8cRPm/Screen-Shot-2022-01-24-at-11-01-01.png\" alt=\"Screen-Shot-2022-01-24-at-11-01-01\"></a></p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1658548,
      "author_name": "Bilzard",
      "author_url": "",
      "post_date": "2022-01-21T05:50:52.967000",
      "content": "<p>I didn't verified the detail, so maybe some mistake contained.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1660186,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-22T13:25:19.930000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1658554,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-01-21T06:00:06.713000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1658547": "# In Short\n\nExtending the idea of the previous post[1], we can also estimate the number of GT labels on the public test data as well as TP, FP, FN.\n\nWhat we need is:\n\n1. Estimate of FN/TP, PN/TP of your model by [1]\n2. Add certain number of FN to your prediction (watch out you should add it to the public test frame, not the private test frame) and observe F_2\n3. Estimate TP, FP, FN, GT using equation (5)\n\n# Detail\n\nGiven added FN of amount alpha, our new F_2 metrics becomes:\n\n$$\nF_2^\\alpha = \\frac{5TP}{5TP+4FN+FP + \\alpha}\n$$\n\nClearing out denominator, and solve for TP, we get\n\n$$\nTP = \\alpha\\left[ 5\\left( \\frac{1}{F_2^\\alpha} - 1 \\right) - 4\\frac{FN}{TP} - \\frac{FP}{TP} \\right]^{-1} \\tag{3}\n$$\n\nSince we already have estimate of FN/TP and FP/TP, we can estimate TP by above equation.\n\nAnd since GT = TP + FN, we can also have an estimate of GT on the public test data.\n\n---\nNote: From Eq (1) and (2) in [1], \n$$\n4 \\frac{FN}{TP} + \\frac{FP}{TP} = 5 \\left( \\frac{1}{F_2} - 1 \\right) \\tag{4}\n$$\n\nsubstituting (4) to (3), we have simpler form of TP estimation:\n\n$$\n\\frac{TP}{\\alpha} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{5}\n$$\n\nSince eq (5) has no FN/TP, FP/TP term, we have noise-free form of eq(3).\n\n<a href=\"https://ibb.co/PFghLsF\"><img src=\"https://i.ibb.co/q7psSL7/Screen-Shot-2022-01-21-at-14-34-32.png\" alt=\"Screen-Shot-2022-01-21-at-14-34-32\" border=\"0\"></a>\n\n# Reference\n\n[1] [Here is the magic: Estimating recall and precision from your public LB score](https://www.kaggle.com/c/tensorflow-great-barrier-reef/discussion/302130)\n\n---\n# update note\n\n* 2022/1/21 14:59 JST: fix formula mistake\n* 2022/1/22 22:35 JST: add note of simpler form",
    "1660209": "## Tips: How to estimate the number of GT labels per frame?\n\nIt requires a lot of LB probing to distinguish public test frame from private test frame.\nIf we can simply add one FP prediction to every test frame, the equation (5) become like this:\n\n$$\n\\frac{TP}{I_{public}} = \\frac{1}{5} \\left( \\frac{1}{F_2^\\alpha} - \\frac{1}{F_2} \\right)^{-1} \\tag{6}\n$$\n\nwhere I_public is the number of frames in the public test set.\n\nmultiplying FP/TP to the eq(6),\n\n$$\n\\frac{FP}{I_{public}} = \\frac{FP}{TP} \\frac{TP}{I_{public}}\n$$\n\nsince GT = FP + TP, we obtain\n\n$$\n\\frac{GT}{I_{public}} = \\left( 1 + \\frac{FP}{TP} \\right) \\frac{TP}{I_{public}} \\tag{7}\n$$\n\nWe can estimate number of GT labels per frame using eq(7).",
    "1658978": "Here is the simulation result:\n\nAssumptions in this simulation are:\n* FN/TP and FP/TP are perfectly estimated (i.e. error is zero)\n* F_2 is rounded at decimal point 3\n\nIn this assumption, the estimated error is highly low when alpha is sufficiently large number.\nIn the real situation, since we have certain amount of variance of estimated FN/TP and FP/TP, the estimated error will become large.\n\n<a href=\"https://ibb.co/PwBg1tr\"><img src=\"https://i.ibb.co/18HTRb0/Screen-Shot-2022-01-21-at-22-20-13.png\" alt=\"Screen-Shot-2022-01-21-at-22-20-13\" border=\"0\"></a>\n\n---\nupdate: The estimation becomes numerically unstable if alpha is too small. In the case of the sample used in the simulation, alpha < TP * 0.25.",
    "1658548": "I didn't verified the detail, so maybe some mistake contained.",
    "1660186": "",
    "1658554": ""
  }
}