AI Technology Community
k最隣接アルゴリズムとは(kNN)
K近傍アルゴリズムはKNNとも呼ばれ、正式名称はK-Nearest Neighborsアルゴリズムです。これはデータマイニングや機械学習でよく使われる学習アルゴリズムであり、機械学習における最も簡単な分類アルゴリズムの一つです。KNNの使用範囲は非常に広く、サンプル数が十分に多い前提条件の下では、その精度は非常に高くなります。
KNNは非パラメトリックな怠惰な学習アルゴリズムです。その目的は、データポイントがいくつかのクラスに分けられたデータベースを使用して、新しいサンプルポイントの分類を予測することです。簡単な例を挙げると、あなたが新しいコミュニティに引っ越して、近所の人たちと友達になりたいと思ったとします。あなたは近所の人たちと交流を始めます。あなたは自分の考え方、興味や趣味が似ている近所の人を選ぶことにします。ここで、考え方、興味や趣味はすべて特徴です。あなたは興味、趣味や考え方の類似性に基づいて、近所の人たちの友達の輪を決めます。これはKNNの仕組みに似ています。いわゆるK近傍とは、K個の最も近い近所の人の意味です。KNNアルゴリズムは分類にも回帰にも使用できます。
Kとは何ですか?
Kは、新しいデータポイントの類似する近傍を識別するために使用される数字です。
新しいコミュニティでの友達の輪の例を参考にしましょう。私たちは共通の考え方や趣味に基づいて、非常に親しい友達になりたいと思う3人の近所の人を選びました。この場合、Kは3です。
KNNはK個の最も近い近傍を使用して、新しいデータポイントが属する位置を決定します。この決定は特徴の類似性に基づいています。
私たちはどのようにKの値を選びますか?
Kの選択は、KNNから得られる結果に大きな影響を与えます。
私たちはテストセットを使用して、異なるKの値に対する精度またはF1スコアをプロットすることができます。
K = 1の場合、テストセットの誤り率が高いことがわかります。したがって、k = 1のとき、モデルが過学習していると結論付けることができます。
より高いKの値の場合、F1スコアが低下し始めることがわかります。k = 5のとき、テストセットは最小の誤り率に達します。これはK-meansで使用されるエルボー法に非常に似ています。
テスト誤り率が最小となるKの値が、Kの最適値を与えます。
KNNアルゴリズムの原理
私たちはK分割交差検証を使用して、KNN分類器の精度を評価することができます。
KNNはどのように動作しますか?
私たちは組織内の年齢、経験および給与のデータを持っています。私たちは、年齢と経験がわかっている新しい候補者の給与を予測したいと思っています。
ステップ1:Kの値を選びます。Kは奇数である必要があります。
ステップ2:各訓練データの新しいポイントまでの距離を求めます。
ステップ3:新しいデータポイントのK個の最も近い近傍を見つけます。
ステップ4:分類の場合、k個の近傍の中で各クラスに属するデータポイントの数を計算します。新しいデータポイントは、最も多くの近傍を持つクラスに属することになります。
回帰の場合、新しいデータポイントの値は、k個の近傍の平均値になります。
KNNアルゴリズムの原理
K = 5です。私たちは5個の最も近い近傍の給与の平均をとって、新しいデータポイントの給与を予測します。
距離はどのように計算しますか?
距離の計算には以下の方法が使用できます
ユークリッド距離
マンハッタン距離
ハミング距離
ミンコフスキー距離
ユークリッド距離は、2点間の平方距離の和の平方根です。これはL2ノルムとも呼ばれます。
ユークリッド距離
マンハッタン距離は、2点間の差の絶対値の和です。
マンハッタン距離
カテゴリ変数に使用されます。簡単に言えば、2つのカテゴリ変数が同じかどうかを教えてくれます。
ハミング距離
ミンコフスキー距離は、2点間の距離の類似性を求めるために使用されます。p = 1のとき、マンハッタン距離になり、p = 2のとき、ユークリッド距離になります。
ミンコフスキー距離
KNNの利点と欠点は何ですか?
K最近傍法の利点
アルゴリズムが簡単であるため、予測結果を説明しやすい
非パラメトリックであるため、基礎となるデータパターンについて仮定を行わない
分類と回帰の両方に使用できる
他の機械学習アルゴリズムと比較して、最近傍法の訓練ステップははるかに速い
K最近傍法の欠点
KNNは、予測段階で新しいポイントの最近傍を検索するため、計算コストが高い
KNNはすべてのデータポイントを保存する必要があるため、メモリ要件が高い
予測段階のコストが非常に高い
外れ値に敏感であり、精度がノイズや関係のないデータの影響を受ける。
4
item of content
- 617hits
- 0replay
-
0like
- collect
- send report