「次のテスト、何点取れるか予測してみた」
陸が自信満々に言った。
「どうやって?」由紀が聞いた。
「過去5回のテストの点数から、トレンドを計算した」
葵が興味を持った。「どんなモデル?」
「直線回帰。だんだん上がってるから、次は85点!」
「面白い試みだね。でも、過学習していないか?」
「過学習?」
「訓練データに適合しすぎて、新しいデータで失敗すること。オーバーフィッティングとも言う」
由紀がノートを見た。「5回だけのデータで、予測できるんですか?」
「データが少ないと、ノイズを学習してしまう危険がある」
ミラが図を描いた。曲線がデータ点をくねくね通っている。
「これが過学習」葵が説明した。「全ての点を完璧に通るけど、次の点は予測できない」
「複雑すぎるモデルは、一般化しない」
陸が反論した。「でも、俺のは単純な直線だぜ?」
「それでも、5点だけでトレンドを確定するのは危険だ」
葵が質問した。「その5回、どんな科目?」
「えーと、全部違う。国語、数学、英語...」
「それは予測できない」葵が断言した。
「なんで?」
「科目が違えば、分布が違う。同じトレンドが続く保証がない」
由紀が理解した。「テストの種類が違うんですね」
「そう。予測モデルは、同じ条件下でのみ有効だ」
ミラが書いた。「i.i.d. - independent and identically distributed」
「独立同分布」葵が訳した。「同じ分布から独立に抽出されたデータ。これが機械学習の前提」
「陸のデータは、i.i.d.じゃない」
陸がしょんぼりした。「じゃあ、予測できないのか」
「できなくはないけど、精度は低い」
由紀が励ました。「でも、アプローチは良かったと思いますよ」
「ありがとう」
葵が続けた。「予測と真実は、必ずしも一致しない」
「モデルは所詮、現実の近似だ」
ミラがノートに書いた。「All models are wrong, but some are useful」
「全てのモデルは間違っているが、役に立つものもある」葵が引用した。
「統計学者ボックスの言葉だ」
由紀が考えた。「じゃあ、どうすれば良いモデルを作れますか?」
「検証データで評価する。訓練データと別のデータで、性能を測る」
「それで、過学習を検出する」
葵が説明した。「訓練誤差は小さいのに、検証誤差が大きければ過学習」
「モデルが訓練データを暗記しているだけ」
陸が納得した。「じゃあ、俺も次のテストで検証すればいいのか」
「そうだね。予測と実際の点数を比較する」
「でも」由紀が指摘した。「テストが終わったら、予測の意味がないですよね」
「鋭い。予測の価値は、未来を知ることにある」
葵が補足した。「でも、検証は必要だ。モデルの信頼性を確かめるために」
ミラが新しい図を描いた。予測値と真値のグラフ。
「理想的には、対角線上に並ぶ」葵が解説した。
「予測と真実が一致している状態」
「でも、現実は散らばる」
由紀が質問した。「散らばりが小さいほど、良いモデル?」
「そう。平均二乗誤差(MSE)とか、決定係数(R²)で評価する」
「数値で、モデルの質を測る」
陸がふと言った。「でも、人間の予測って、数式より複雑だよな」
「確かに。直感、経験、文脈。数値化できない要素が多い」
葵が認めた。「だから、人間の判断は機械に置き換えられない部分もある」
「でも、逆もある。機械の方が正確な領域も」
ミラが頷いた。そして書いた。「補完し合う」
「人間と機械、それぞれの強みを活かす」
由紀がまとめた。「予測は完璧じゃない。でも、何もしないよりは良い」
「そして、真実と照らし合わせて、改善する」
陸が笑った。「じゃあ、俺もテスト頑張るよ。予測が外れないように」
「それは因果が逆だ」葵が笑った。
「でも、良い動機づけだね」
予測は伝わらない。でも、真実は伝わる。
だから、人は検証し、学び続ける。