smly / kaggle-book-gokui

付録コード
MIT License
110 stars 19 forks source link

p.69-70 chapter3 スコア評価について補足が欲しい #9

Closed yakipudding closed 1 year ago

yakipudding commented 1 year ago

p.69

図3.4のように、0.14040というスコアでした。順位表を見ると…(略)…のスコアが0.69314であり、 それに比べると十分よいスコアとなっているため、

0.14が0.69に対して十分よいスコアという表現が「ん?」と思ってしまいました。 おそらく「1エポックにしては」十分意味のある予測結果が出たという意味合いかと思いますが、そのような補足があると親切だなと思いました。

p.70

結論から言うと、このコンテストにおいては、…(略)…クリップするとスコアが良くなります。

図3.5のスコアを見ると0.08274となっており、「クリップするとスコアが良くなる」と記載があったのに、スコアが0.14よりも小さくなっていて「ん?」と思ってしまいました。

おそらく前段の

損失は0.06程度だったので、それと比較するとやや大きい印象もあります

→もとの0.14のスコアは(後述の原因によって)本来のスコアよりも大きくなってしまっている を意味している

後段の

対数損失という評価指標の特性上、…(略)…スコアが跳ね上がってしまう

→もとの0.14のスコアは大きく跳ね上がった結果であり、クリップした結果、スコアが0.08に(適切に)下がった ということを意味している

のかな、と思いました。

1エポックではなく学習をきちんと回せばスコアが期待通りにあがるのかとは思いますが、 図の例がかえって混乱させてしまう数値になっているような気がします。

こちらももう少し補足が欲しいと思いました。

よろしくお願いします。

upura commented 1 year ago

issue にご記載いただき、ありがとうございます。

もしかすると、評価指標の改善の方向性を正しくお伝えできていないかもしれないと感じました。第 3 章で扱うコンテストの評価指標は p. 57 の数式に示す「対数損失」で、小さいほど性能が高いことを表す指標となっています。以下はコンテストの順位表です。補足ですが、対数損失を小さくする方向でモデルを学習させていくことは p.16-22 でも解説しております。 https://www.kaggle.com/competitions/dogs-vs-cats-redux-kernels-edition/leaderboard

この前提でご覧いただくと、書籍内の説明が分かりやすくなるかもしれません。

yakipudding commented 1 year ago

失礼しました、評価指標が対数損失であり、小さいほど性能が高いという前提が抜けていました。 補足ありがとうございました。