タグ付けされた質問 「k-nearest-neighbour」

k-Nearest-Neighbor Classifiersこれらの分類器はメモリベースであり、適合させるためのモデルを必要としません。クエリポイントx0を指定すると、x(r)、r = 1、...、kのxに最も近いトレーニングポイントを見つけ、k個の近傍間で多数決を使用して分類します。

1
カーネル化k最近傍
私はカーネルに不慣れで、kNNをカーネル化しようとしているときに障害に遭遇しました。 予選 私は多項式カーネルを使用しています: K(X、Y)= (1 + ⟨ X、Y ⟩ )dK(x,y)=(1+⟨x,y⟩)dK(\mathbf{x},\mathbf{y}) = (1 + \langle \mathbf{x},\mathbf{y} \rangle)^d 典型的なユークリッドkNNは次の距離計量を使用します: d(x、y)= | | x − y | |d(x,y)=||x−y||d(\mathbf{x}, \mathbf{y}) = \vert\vert \mathbf{x} - \mathbf{y} \vert\vert ましょうマップいくつかの高次元特徴空間に。次に、ヒルベルト空間における上記の距離計量の2乗は、内積で表すことができます x d 2(f (x )、f (y ))= K (x、x)− 2 K (x、y)+ K (y、y)f(x)f(x)f(\mathbf{x})バツx\mathbf{x}d2(f(x )、f(y))= K(x、x)− 2 …

3
単位ボールからのN個のサンプルの原点に最も近い中央値の式の説明
統計的学習の要素、問題は、高次元空間におけるK-NNとハイライトの問題に導入されます。次元の単位ボールに均一に分布するデータポイントがあります。pNNNppp 原点から最も近いデータポイントまでの距離の中央値は、次の式で与えられます。 d(p,N)=(1−(12)1N)1pd(p,N)=(1−(12)1N)1pd(p,N) = \left(1-\left(\frac{1}{2}\right)^\frac{1}{N}\right)^\frac{1}{p} 場合は、ボールの半径の半分にダウン式の休憩、と私は最も近い点として国境に近づく方法を見ることができため、高い次元でのKNNブレークダウンの後ろに直感を作り、。しかし、なぜこの式がNに依存するのか理解できません。誰かが明確にしていただけませんか?p → ∞N=1N=1N=1p→∞p→∞p \rightarrow \infty また、この本は、「...予測はトレーニングサンプルのエッジ近くでははるかに困難です。隣接するサンプルポイント間を補間するのではなく、それらから外挿する必要がある」と述べて、この問題についてさらに取り上げています。これは深遠な発言のようですが、私はそれが何を意味するのか理解できません。誰かが言い直すことができますか?


1
Jeffries Matusitaの距離の長所
私が読んでいるいくつかの論文によると、ジェフリーズとマツシタの距離が一般的に使用されています。しかし、私は以下の式を除いてそれについて多くの情報を見つけることができませんでした JMD(X、Y)= ∑(xi−−√2−yi−−√2)2−−−−−−−−−−−−−√2∑(xi2−yi2)22\sqrt[2]{\sum(\sqrt[2]{x_i}-\sqrt[2]{y_i})^2} 平方根以外はユークリッド距離に似ています E(X、Y)= ∑(xi−yi)2−−−−−−−−−−√2∑(xi−yi)22\sqrt[2]{\sum(x_i-y_i)^2} 分類の点では、JM距離はユークリッド距離よりも信頼性が高いとされています。なぜこの違いがJM距離を改善するのか、誰か説明できますか?

4
次元の呪い:kNN分類器
私はケビンマーフィーの本「機械学習-確率論的展望」を読んでいます。最初の章では作者が次元の呪いを説明していて、わからない部分があります。例として、著者は次のように述べています。 入力がD次元の単位立方体に沿って均一に分布していることを考慮してください。データポイントの目的の割合が含まれるまで、xの周りにハイパーキューブを成長させることにより、クラスラベルの密度を推定するとします。この立方体の予想されるエッジの長さはe D(f )= f 1です。fff。eD(f)=f1DeD(f)=f1De_D(f) = f^{\frac{1}{D}} それは私が頭を動かすことができない最後の式です。あなたがカバーしたいなら、エッジの長さは各次元に沿って0.1でなければならないよりもポイントの10%を言うように思われますか?私の推論が間違っていることはわかっていますが、その理由は理解できません。

1
k最近傍のVC次元
kが使用されるトレーニングポイントの数と等しい場合、k最近傍アルゴリズムのVCディメンションは何ですか? コンテキスト:この質問は私が受講したコースで尋ねられ、そこに与えられた回答は0でした。しかし、なぜそうなのか理解していません。私の直感は、すべてのポイントが最初のモデルに従って1つのクラスに属し、別のクラスに属しているとラベル付けされるように、2つのモデル(つまり、トレーニングポイントのセット)を選択できるため、VCディメンションは1である必要があるということです2番目のモデルによれば、単一のポイントを粉砕することが可能であるはずです。私の推論のどこに間違いがありますか?

1
非フリーランチ定理とK-NNの整合性
計算学習では、NFLの定理は普遍的な学習者は存在しないと述べています。すべての学習アルゴリズムについて、学習者に大きな確率で高い確率で仮説を出力させる分布があります(ただし、低い誤差仮説はあります)。結論は、学習するためには、仮説クラスまたは分布を制限する必要があるということです。彼らの著書「パターン認識の確率論」では、Devroyeらは、K最近傍学習者のために次の定理を証明している: μ に密度があるAssume μ has a density. if k→∞ and k/n→0 then for every ϵ>0, there's N, s.t. for all n>N:P(Rn−R∗>ϵ)<2exp(−Cdnϵ2)Assume μ has a density. if k→∞ and k/n→0 then for every ϵ>0, there's N, s.t. for all n>N:P(Rn−R∗>ϵ)<2exp(−Cdnϵ2)\text{Assume } \mu \text{ has a density. if } k\to \infty \text{ …

2
連続変数とバイナリ変数をもつK最近傍点
列a b c(3つの属性)を持つデータセットがあります。aは数値で連続的でありb、c2つのレベルを持つカテゴリカルです。K-Nearest Neighborsメソッドを使用して分類aしbていcます。したがって、距離を測定できるようにするには、bとを削除して追加することでデータセットを変換b.level1しb.level2ます。観測にカテゴリのi最初のレベルがある場合b、b.level1[i]=1およびb.level2[i]=0。 これで、新しいデータセットで距離を測定できます。 a b.level1 b.level2 理論的/数学的観点から:バイナリデータと連続データの両方でK最近傍(KNN)を実行できますか? FNNRでパッケージと関数を使用していますknn()

3
KNNが「モデルベース」ではないのはなぜですか?
ESL 2.4は、想定しているため、線形回帰を「モデルベース」として分類しているようですが、k最近傍に対して同様の近似は述べられていません。しかし、どちらの方法もについての仮定をしていませんか?F (X )f(X )≈ X ⋅ βf(x)≈x⋅βf(x) \approx x\cdot\betaf(x )f(x)f(x) 後で2.4でそれは言う: 最小二乗法は、がグローバルな線形関数によって十分に近似されていることを前提としています。f(x )f(x)f(x) k最近傍は、が局所定数関数によって十分に近似されていると想定しています。f(x )f(x)f(x) それはまた、正式にすることができようにKNNの仮定は(必ずそうする場合は考えていないが思わつながると仮定した方法でKNNアルゴリズムに線形回帰にリニアリードです)。fff それで、KNNが実際にモデルベースではないのなら、なぜですか?それともESLを誤解していますか?

4
10D MCMCチェーンがある場合、Rでその事後モードをどのように決定できますか?
質問: 10次​​元のMCMCチェーンを使用して、ドローのマトリックスを渡す準備ができているとしましょう。特に複数のモードに関心があります。 バックグラウンド:私自身は計算に精通している統計学者だと思いますが、同僚がこの質問をしたとき、私は合理的な答えを出すことができなかったことを恥ずかしく思いました。主な懸念事項は、複数のモードが表示される可能性があることですが、10次元のうち少なくとも8次元程度が考慮される場合に限られます。私の最初の考えは、カーネル密度推定を使用することでしたが、Rを検索しても、3次元を超える問題については何も約束されませんでした。同僚は10次元のアドホックビニング戦略を提案し、最大値を検索しましたが、帯域幅が重大なスパース性の問題を引き起こすか、複数のモードを識別するための解像度が不足する可能性があるのではないかと心配しています。とは言っても、自動化された帯域幅の提案、10カーネル密度推定器へのリンクなど、知っていることなら何でも喜んで受け入れます。 懸念事項: ディストリビューションはかなり歪んでいると思われます。したがって、事後平均ではなく事後モードを識別したいとします。 いくつかの事後モードが存在する可能性があることを懸念しています。 可能であれば、Rベースの提案をお勧めします。しかし、実装するのが信じられないほど難しくない限り、どのようなアルゴリズムでも機能します。最初から自動化された帯域幅選択を備えたNdカーネル密度推定器を実装したくないと思います。

1
多次元データのkNNの理解に役立つ
空間データのkNNアルゴリズムの前提を理解しています。そして、このアルゴリズムを拡張して、任意の連続データ変数(またはハミング距離をもつ公称データ)で使用できることを知っています。しかし、より高次元のデータを扱う場合、どの戦略が使用されますか? たとえば、データのテーブル(x [1]、x [2]、x [3]、...、x [n])があり、分類子のセットを作成してこれらの列の1つを予測するとします。 (x [n]と言います)。kNNアルゴリズムを使用して、トレーニングする残りの列(x [1] -x [n-1])から任意の2つの列を選択します。したがって、x [1]とx [2]を選択して、それらから分類子を構築できるとしましょう。または、x [1]とx [4]を選択したり、x [5]とx [8]を選択したりすることもできます。1つの列だけを選択して分類子を作成するか、3つの列を作成してその分類子。より高い次元(2D、3Dなど)を使用することには利点がありますか、それともx-1単一次元分類子を作成して、何らかの方法でそれらの予測を集計する必要がありますか? 変数のすべての潜在的な組み合わせからこれらの分類子をすべて構築すると、計算コストが高くなります。このセットを最適化して、そのセットから最高のkNN分類器を見つけるにはどうすればよいですか?そして、一連の分類子を見つけたら、それらの出力を単一の予測に組み合わせる最善の方法は何ですか?この質問に対する最も簡単な答えは投票です。または、各分類子のトレーニングデータからのエラー率で各投票に重みを付けます。 ほとんどの実装では、kNNをより一般化された学習にどのように適用しますか?

1
KNNでどのタイプのデータ正規化を使用する必要がありますか?
正規化には2種類以上あることを知っています。 例えば、 1- zスコアまたはtスコアを使用してデータを変換します。これは通常、標準化と呼ばれます。 2- 0と1の間の値を持つようにデータを再スケーリングします。 正規化が必要かどうかの質問 KNNでどのタイプのデータ正規化を使用する必要がありますか?なぜ?

3
KNN:1最近傍
私の質問は、1最近傍の分類子についてであり、Hastie、Tibshirani、およびFriedman著の優れた書籍The Elements of Statistical Learningで行われた声明についてです。ステートメントは(p。465、セクション13.3)です。 「クエリポイントに最も近いトレーニングポイントのみを使用するため、1最近傍推定値のバイアスは低くなることがよくありますが、分散は高くなります。」 この本はhttp://www-stat.stanford.edu/~tibs/ElemStatLearn/download.htmlから入手できます 。 まず、バイアスと分散とは何かを定義できます。「どのようにして、次元を増やすことができるか、分散を増やすか、バイを増やすことなく」という質問から、次のようになります。 「まず第一に、分類子のバイアスは、平均された推定関数と真の関数の間の不一致ですが、分類子の分散は、平均値からの推定予測関数の予想される発散です(つまり、分類子がランダムにどの程度依存しているかトレーニングセットで行われたサンプリング)。 したがって、バイアスの存在はモデルに基本的に何か問題があることを示しますが、分散も悪いですが、高い分散を持つモデルは少なくとも平均して十分に予測できます。」 誰かが1最近傍分類器の分散が高く、バイアスが低い理由を説明できますか?

2
K = 1の場合のKNN分類器のトレーニングエラー
クイズでこの質問を受けました。K= 1の場合、KNN分類器のトレーニングエラーはどうなるのかと尋ねられました。KNN分類器にとってトレーニングは何を意味しますか?KNN分類器についての私の理解は、データセット全体を考慮し、新しい観測値に最も近いK近傍の大部分の値を割り当てることでした。トレーニングはどこにありますか?また、このために提供された正解は、データセットに関係なくトレーニングエラーがゼロになることでした。これはどのようにして可能ですか?

3
Rで傾向スコアを一致させた後の結果が異なる
傾向スコアマッチングを実行しました(Rパッケージの「Matchit」を使用してRで)。マッチング方法は「最近傍」を使用しました。マッチング後、結果変数の観点から、治療と対照群を比較しました。この比較には、t検定を使用しました。各マッチング手順の後に、t検定の結果が変化することを発見しました。この結果の変化が傾向スコア(最近傍マッチングに使用される)のランダムな選択によるものであるという私の仮定をテストするために、乱数ジェネレーターを特定のシードに設定し、マッチング手順を数回実行しました。RNGを設定することで、結果に違いがなくなりました。 すべてのマッチング手順の後で異なる結果に直面しました:さらなる分析に使用するマッチングソリューションをどのように決定しますか?マッチング手順を数回(たとえば10'000)実行し、複数のt検定から得られた結果のp値とt値の中央値を報告することは有効な方法ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.