適用例:有権者パーティー登録
もう少し現実的な例を見てみましょう。 有権者の登録、有権者の富、および有権者の宗教性の定量的尺度でタグ付けされた有権者のトレーニングデータセットがあると仮定します。 これらのシミュレートされたデータは、以下の2つにプロットされています。 X軸は富の増加を示し、y軸は宗教性の増加を示し、赤い円は共和党の有権者を表し、青い円は民主的な投票を表しています。 富と宗教を予測変数として使用して有権者登録を予測したいと考えています。/th> 宗教性(y軸)と富(x軸)にプロットされています。
k-最近傍アルゴリズム
このモデリングタスクについては、多くの方法があります。 私たちのようなバイナリデータでは、ロジスティック回帰がよく使用されます。 しかし、変数間の関係に非線形性があると考えるならば、より柔軟でデータ適応的なアプローチが望まれるかもしれません。 非常に柔軟な機械学習技術の1つは、k-Nearest Neighborsと呼ばれる方法です。
k-Nearest Neighborsでは、特定の有権者のパーティー登録は、他の有権者と平面上に彼または彼女をプロットすることによって発見されます。
k-Nearest Neighborsでは、指定された投票者のパーティー登録が見つかります。 彼または彼女に最も近いk他の有権者は、距離の地理的尺度を使用して発見され、その登録の平均は、彼または彼女の登録を予測するために使用され したがって、(富と宗教の点で)彼に最も近い有権者が民主党である場合、s/彼はまた民主党であると予測されます。
次の図は、元の有権者のそれぞれの最寄りの近隣を示しています。 Kが1として指定された場合、新しい投票者のパーティー登録は、トレーニングデータセットの各ポイントの赤または青の領域
k-Nearest Neighborhood algorithmの重要な部分は、kの選択です。これまでは、kに1の値を使用してきました。 ただし、kは調整可能な値であり、1からトレーニングセット内のデータポイントの数までの任意の値に設定できます。 以下では、これらのプロットを生成するために使用されるkの値を調整できます。 調整すると、kが変化したときに予測がどのように変化するかを示すために、次のプロットと前のプロットの両方が更新されます。
k-最近傍: 1
新しいトレーニングデータを生成するkの最良の値は何ですか? このシミュレートされたケースでは、元の有権者を共和党員または民主党員として分類するために使用された実際のモデルを知っている点で幸運です。 単純な分割が使用され、分割線が上の図にプロットされています。 ラインの北の有権者は共和党に分類され、ラインの南の有権者は民主党に分類された。 その後、いくつかの確率的ノイズが追加され、有権者の登録のランダムな割合が変更されました。 また、新しい学習データを生成して、結果が元の学習データにどのように敏感であるかを確認することもできます。
黒の境界線とよく一致する最良の予測アルゴリズムを見つけるために、kの値を試してみてください。
バイアスと分散
kを増加させると、各予測でより多くの有権者が平均化されます。 これにより、より滑らかな予測曲線が得られます。 Kが1の場合、民主党と共和党の分離は非常にギザギザです。 さらに、一般的に共和党の領土には民主党の”島”があり、その逆もあります。 Kが例えば20に増加すると、移行はより滑らかになり、島は消え、民主党と共和党の間の分割は境界線をたどるのに良い仕事をします。 Kが非常に大きくなると、例えば80、二つのカテゴリの区別がよりぼやけてしまい、境界予測線はまったくうまく一致しません。
小さなkでは、jaggednessとislandsは分散の兆候です。 新しいデータが収集されるにつれて、島の位置と境界の正確な曲線は根本的に変化します。 一方、大規模なkでは、遷移は非常に滑らかであるため、あまり分散はありませんが、境界線との一致がないことは、高いバイアスの兆候です。ここで観察しているのは、kを増やすと分散が減少し、バイアスが増加するということです。
ここでは、kを増やすと分散が減少し、バイアスが増 Kを減少させると、分散が増加し、バイアスが減少します。 低いkで異なるデータセットの予測がどのように変数であるかを見てみましょう。kが増加するにつれて、この変動性は減少します。 しかし、kをあまりにも大きくすると、真の境界線に従わなくなり、高いバイアスが観察されます。 これがバイアス-分散のトレードオフの性質です。
分析的バイアスと分散
k-最近傍の場合、バイアスと分散の合計として総誤差の明示的な分析式を導出できます。
分析的バイアスと分散
:$ $f(x)=\frac{1}{k}\sum\limits_{i=1}k k f(x_i)\right)2 2+\frac{\sigma_\epsilon^2}{k}+\sigma_\epsilon^2$ $er f(X)=\mathrm{バイアス}^2+\mathrm{分散}+\mathrm{既約\エラー}Error/er er er er irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre irre分散項は、既約誤差とkの関数であり、kが増加するにつれて分散誤差が着実に減少する。 バイアス項は、モデル空間がどれほど荒いかの関数です(例えば、異なる富と宗教の空間を移動するにつれて、実際には値がどのくらい速く変化するか)。 空間が粗いほど、さらに離れた近傍が推定値に持ち込まれるにつれて、バイアス項がより速く増加する。