KNNが「モデルベース」ではないのはなぜですか?


10

ESL 2.4は、想定しているため、線形回帰を「モデルベース」として分類しているようですが、k最近傍に対して同様の近似は述べられていません。しかし、どちらの方法もについての仮定をしていませんか?F X f(x)xβf(x)

後で2.4でそれは言う:

  • 最小二乗法は、がグローバルな線形関数によって十分に近似されていることを前提としています。f(x)
  • k最近傍は、が局所定数関数によって十分に近似されていると想定しています。f(x)

それはまた、正式にすることができようにKNNの仮定は(必ずそうする場合は考えていないが思わつながると仮定した方法でKNNアルゴリズムに線形回帰にリニアリードです)。f

それで、KNNが実際にモデルベースではないのなら、なぜですか?それともESLを誤解していますか?

回答:


9

kNNと線形回帰は非常に異なるものであるため、直接比較することは非常に困難ですが、ここでの重要なポイントは、「モデリング」と「についての仮定があること」の違いだと思います。f x f(x)f(x)

線形回帰を行う場合、ある具体的モデル、のラインのうち、多くの場合、何かここあるガウス雑音用語。最尤モデルは最小二乗和誤差モデルと同等であることがわかります。f x = w x + ϵ ϵf(x)f(x)=wx+ϵϵ

一方、KNNは、2番目の点が示すように、分布全体を具体的にモデル化することなく、局所的に一定の関数( ses 間の距離測定)によってその関数を近似できると想定しています。x

言い換えると、線形回帰はしばしば、の値だけから見えないの値の良い考えを持っていますが、kNNはについての予測を行うために他の情報(すなわちk近傍)を必要とします、モデルがないため、の値と値自体だけでは何の情報も提供しません。x x f x x f x f(x)xxf(x)xf(x)

編集:これをより明確に表現するために以下にこれを繰り返します(コメントを参照)

線形回帰と最近傍法の両方が新しいの値を予測することを目的としていることは明らかです。現在、2つのアプローチがあります。線形回帰は、データが直線(プラスマイナスノイズ)にあると仮定して続行されます。したがって、yの値は値に直線の傾きを掛けたものに等しくなります。つまり、線形式はデータを直線としてモデル化します。x f x y=f(x)xf(x)

現在、最近傍メソッドは、データがどのように見えるか(データをモデル化していないか)を気にしません。つまり、メソッドが線、放物線、円などであるかどうかを気にしません。とが類似している場合、とは類似しています。この仮定は、上記のすべてのモデルを含め、ほとんどすべてのモデルにほぼ当てはまることに注意してください。しかし、NN法は、の値がどのように伝えることができなかったに関連しているそれは、この関係のないモデルを持っていないので、それはちょうどそれがで近似できると仮定し、(などそれはラインであるかどうか、放物線、)近点を調べます。f x 2x 1 x 2 f x xf(x1)f(x2)x1x2f(x)x


「特にf(x)をモデル化する」これはどういう意味ですか?fが局所的に一定であるという仮定を形式化できるようです。KNNがそのような形式化によって導き出せないのは単にそれだけですか?
アレック

「線形回帰は、xの値だけから、目に見えないxのf(x)の値の良いアイデアを持つことがよくあります」これが何を意味するのかわからない...線形モデルのパラメーターが必要なだけで、 KNNのパラメーターが必要になるため(パラメーターはより複雑ですが)
Alec

良い点、私はそれをより明確にするために私の回答を編集してみて、うまくいけばあなたのポイントに答えようとしました(コメントの文字数制限は低いです)。
Saulius Lukauskas 2014年

+1、これは十分に説明されています。「「f(x)のモデル化」と「f(x)についての仮定を持つ」の違い」は、IMOのアイデアを非常によく捉えています。おそらくこれを置く別の方法は、f(x)のモデリングデータ生成プロセスに関する仮定を行うことになると考えることですが、knnはこれを行わず、特定のデータの値が近くの値に類似している可能性があることを計算するだけですデータ。
ガン-モニカの回復

うーん、大丈夫。あなたの編集は間違いなくそれを少し明確にします、しかし私はまだ正式な区別を見ることに本当に苦労しています。「モデル化」とは「fの形状についてグローバルに良いアイデアを得る」ことを意味するようですが、KNNは局所的な振る舞いのみを考慮します。線形回帰モデリングとKNNではないのは、グローバルとローカルのこの違いですか?
Alec

5

線形回帰は、モデルを生成するためにデータの構造に関する仮定を行うため、モデルベースです。あなたは統計プログラムへのデータ・セットをロードし、出力が実際にモデルである線形回帰を実行するためにそれを使用する場合:。出力変数が実際に生成される方法を想定しているため、新しいデータをこのモデルにフィードして予測出力を取得できます。f^(X)=β^X

KNNを使用すると、実際にはモデルはまったくありません空間で互いに近い観測値は、出力変数に関しておそらく同じように動作するという仮定があります。新しい観測を「KNNモデル」にフィードするのではなく、既存の観測が新しい観測に最も類似していることを特定し、トレーニングデータから新しい観測の出力変数を予測します。X


直感的に私はあなたの意味を理解していますが、その区別はまだ私には不安定です... R ^ dのパーティションとパーティションに割り当てられた重みによってパラメーター化されているとKNNを表示できませんか?
Alec

1
誰かが予測を正当化するように依頼した場合、モデルが想定する入力と出力の間の関係を説明することにより線形回帰を使用した場合、そうすることができます。モデルは、b / w入力と出力の関係を説明しようとします。KNNは入力と出力の関係を説明しようとしないため、モデルはありません。
tjnel 2014年

3

クラスタリングの方法について説明する場合、モデルベースという用語は「分布ベース」と同義です。線形回帰は、分布の仮定を行います(エラーはガウスである)。KNNは分布の仮定を行いません。それが違いです。


1
これまでのところ、ESLはこのように線形回帰を提示していませんでしたが、これは正式な区別という点で私にとって最も理にかなっています。彼らは最初に、(ガウスのMLEを実行する代わりに)任意に一種の二乗誤差コスト関数を最初に導入し、それを使用してf(x)= E(Y | X = x)を予測する必要があることを見つけ、KNNがどのように近似するかを説明しましたこれは、特定の仮定の下で、fが線形回帰であると仮定して線形回帰であると仮定しました。
Alec

興味深い命題ですが、これについていくつかの言及があればもっと良いでしょう。
ivanmp、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.