分類モデルの改善
演習では、モデルが雪崩をある程度予測できることがわかりましたが、40% 前後ではまだ間違っていました。 このエラー量は、雪崩の原因となるのは、雪の弱い層の数という特徴が唯一の原因ではないからです。
次に、分類モデルのパフォーマンスを向上させる 2 つの主要な方法について説明します。より多くの機能を提供し、モデルに入るものを選択します。
その他の機能を提供する
線形回帰と同様に、ロジスティック回帰を 1 つの入力に制限する必要はありません。 特徴を組み合わせて予測を行うことができます。 たとえば、雪崩や、トレイルを妨げるハイカーの数に基づいて雪崩を予測しようとする場合があります。 これらの両方の特徴を同じモデルに入力して、雪崩の確率を計算できます。
内部的には、ロジスティック回帰は線形回帰と同様に特徴を結合します。 つまり、すべての特徴を 独立として扱います。つまり、特徴が互いに影響を与えないと仮定します。 たとえば、このモデルでは、降雪量によって、トレイルを訪れる人の数は変わらないと想定しています。 既定では、雪降りでは、ハイキングコースを歩いているハイカーの数に関係なく、雪崩のリスクが一定の量増加することも想定されています。
独立した機能の良い面と悪い面
ロジスティック回帰は、機能を組み合わせて、それらがどのように連携するかをモデル化できるように明示的に伝えることができますが、既定では行われません。 ロジスティック回帰は、デシジョン ツリーやニューラル ネットワークなど、他のほとんどの既知の分類アルゴリズムとは異なります。
ロジスティック回帰が特徴を既定で独立として扱うという事実は、強さと制限の両方に留意する必要があります。 たとえば、人 の数を増やすとリスクが高まるなど、単純に明確な予測を行うことができます。他のモデルでは通常実行できません。 また、トレーニング データが過剰に適合する可能性も減ります。 これに対し、現実の 世界で機能が実際に相互作用する場合、モデルは正常に動作しない可能性があります。 たとえば、雪がある場合、山を横断する 5 人のハイカーは危険ですが、雪崩を引き起こす降雪がない場合は 5 人が安全です。 この例では、降雪とハイカーの数の間の 相互作用 を探してこの微妙な差異を把握するように、ロジスティック回帰モデルを明示的に伝える必要があります。
機能について考える
モデルを改善するもう 1 つの方法は、提供される機能とその理由を実際に考える方法です。 一般に、モデルに追加する特徴が多いほど、モデルの動作が向上します。 ただし、この相関関係は、提供する機能が関連性があり、既存の機能では説明されていない場合にのみ当てはまります。
過剰トレーニングの回避
役に立たない機能をさらに提供すると、モデルの トレーニングが過剰に行われる可能性があります。このモデルは、より良く動作するが、実際には現実世界で動作が悪くなるような外観を提供します。
たとえば、 amount_of_snow
、 number_of_hikers
、 temperature
、 number_of_birds_spotted
の毎日の記録があるとします。 発見された鳥の数はおそらく関連性のない情報です。しかし、指定された場合、モデルは雪崩と特定の日に発見された鳥の数との関係をモデル化します。 雪崩の日に鳥がより多く発見された場合、モデルは鳥が雪崩を引き起こす原因になる可能性があることを示唆しています。 その後、雪崩を予測する体系的なバードウォッチング プログラムを設定し、それがまったく機能しないことを確認する必要があります。
トレーニング不足の回避
特徴を単純に使用すると、 トレーニング 不足になり、予測が可能な限り正しく行われなくなります。 たとえば、 temperature
と number_of_hikers
の両方が雪崩と密接に関連している可能性があります。しかし、晴れた日にのみ歩く場合、モデルでは、ハイカーが温度と比較してどの程度重要であるかを区別することが困難になる場合があります。 同様に、number_of_hikers
を正確な訪問者数として提供すると、モデルのトレーニングがより正確な関係を見つけることができ、単にhigh
やlow
と提供するよりもモデルが適切に動作する可能性があります。