データリーケージData Leakage
採点用の情報が学習側へ入り込む事故
- データリーケージは分けておくべきだった情報が学習側へ入り込んでしまう事故です。
- 表に出る症状は一つです。点数が異常なほど良く出ます。 そして実際に使うと、その点数は消えてしまいます。
- 過学習とは原因が違います。過学習は覚えすぎたことで、リーケージは見てはいけないものを見てしまったことです。
- いちばん多い通り道は順序です。分ける前に手入れをしてしまうと、その瞬間に情報が渡ってしまいます。
- リーケージは性能を下げません。性能を膨らませます。 だから気づくのがずっと難しいのです。
目次
1たとえで理解する
新しく買った暖房器具がどれくらい暖かいか調べようと、寝室のドアを閉めて温度計を置いておきました。一時間後に見てみると、温度計の数字がぐんぐん上がっています。良い暖房器具を買ったなと思うでしょう。
ところがドアの隙間が指一本分ほど開いていました。居間のエアコンが暖めた空気が、その隙間からずっと流れ込んでいたのです。温度計の数字は本物でしたが、その数字は寝室の暖房器具が作ったものではありませんでした。データリーケージがこの開いた隙間です。
隙間にすきま風防止テープをしっかり貼って測り直すと、数字はがくんと下がります。がっかりしますが、それがこの暖房器具の本当の実力です。開いた隙間に気づかないまま良い品だと信じていたら、まさに寒い日に困っていたはずです。
2くわしく
入り込んだ情報は点数を膨らませる
モデルを作るときは資料を学習用と採点用に分けておきます。学習用で学ばせて、採点用は手を付けないまま最後に取り出して実力を測ります。採点用はモデルが初めて見る資料であってこそ、点数に意味が生まれるからです。
ところが採点用の資料が少しでも学習側へ渡ってしまうと、モデルは答えを知った状態で採点を受けます。点数はとても良く出て、みんな良いモデルを作ったと信じます。問題は実際の場面に出す瞬間です。そのときは渡ってくる情報がないので、性能ががくんと落ちます。
この失敗が怖いのは向きです。ほかの問題はたいてい点数を下げて自分の存在を知らせますが、リーケージは点数を上げて自分を隠します。結果があまりに良いと、喜ぶ前に隙間を探すべき理由です。
どこに隙間ができるのか
一つ目の隙間は順序です。資料全体を見て空欄を平均値で埋めたり値の範囲をそろえたりしたあとで学習用と採点用を分けると、採点用の資料の値がすでにその平均の中に混ざり込んでいます。手入れは分けたあとに、学習用だけを見て決めた基準で行わなければなりません。
二つ目の隙間は同じものが両方に入る場合です。一人の記録が複数の行に散らばっているのに行単位で分けてしまうと、同じ人が学習用にも採点用にも入ってしまいます。同じ商品の写真を角度だけ変えて何枚も撮った場合も同じです。こういうときは人単位、物単位でまとめてから分けなければなりません。
三つ目の隙間は時間です。先のことを当てる問題なのに資料を無作為に混ぜて分けると、あとで起きたことを学んでその前のことを当てる形になってしまいます。時間が絡む問題は、必ずある時点を基準に前後を分けなければなりません。
答えが別の名前で入り込んだ欄
いちばん気づきにくい隙間は、答えが別の名前で入り込んでいる欄です。病気にかかっているかを当てる問題に「処方された薬の名前」の欄が入っていたら、モデルは病気を見分ける代わりに薬の名前を読んでしまいます。解約する客を当てる問題に「解約処理日」が入っているのも同じことです。
こういう欄は人が見ても自然に見えます。だから各欄がいつ作られる値なのかを確かめる必要があります。当てたい瞬間より後にできる値なら、実際に使うときには存在しない値なので、学習に入れてはいけません。
漏れる場所を見つける方法
いちばん良い手がかりは、良すぎる点数です。難しい問題なのにほとんど全部当てるなら、喜ぶ前に疑います。ある欄を抜くと点数ががくんと落ちる欄があれば、その欄が漏れる場所である可能性が高いです。
資料を扱う順序を一つの流れにまとめておくことも助けになります。分ける、手入れする、学習する、採点するを人の手でそのつど行うと、順序がこんがらがりやすくなります。順序を固定しておけば、隙間ができる場所そのものが減ります。
3もう少し正確に
リーケージは過学習とよく混同されます。過学習は学習用の資料を覚えすぎて新しい資料の前で崩れることで、このとき採点の点数は低く出ます。リーケージは採点の点数まで高く出るのが特徴です。採点用がもはや新しい資料ではなくなっているからです。
たとえがずれる点もあります。ドアの隙間は手で触れば風を感じられますが、資料の隙間はたいてい目に見えません。何度も分けて採点する方法を使うと、隙間が繰り返し現れるせいで、むしろすべての回で点数がそろって良く見えてしまいます。だからリーケージは点数を眺めるより、資料が作られた過程をたどるほうから見つけます。
リーケージという言葉が二つの意味で使われる点も知っておくとよいでしょう。一つは今まで話してきた採点用の情報が渡ってしまう場合で、もう一つは実際に使うときには手に入らない情報が学習に入ってしまった場合です。前者は点数だけ信じられなくなりますが、後者はモデルそのものを使えなくしてしまいます。
4やってみる
5よくある誤解
リーケージがあると性能が悪くなると思われがちですが、実際には性能が良く見えるようにするので、むしろ発見が遅れます。
資料をよく混ぜて分ければリーケージはないと思われがちですが、実際にはよく混ぜる行動そのものが、時間の順序がある問題ではリーケージを作ります。
リーケージは採点用の資料を誤って学習に入れたときだけ起きると思われがちですが、実際には資料を分ける前に行った手入れや、あとでできる値が入った欄のほうがずっと多く起きます。
7ひとこと要約
つまりデータリーケージは分けておくべきだった情報が学習側へ漏れ込む事故で、点数を膨らませて自分を隠すので、結果が良すぎるときにいちばん先に疑うべきです。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02