[クラスタリングアルゴリズム] MeanShiftアルゴリズム

どのブログでも、どのモットーでも、人は自分が思っている以上のことができる。
https://blog.csdn.net/weixin_39190382?type=blog

0. 序文

MeanShift アルゴリズムは、密度ベースのクラスタリング アルゴリズムでもあります。どちらのアルゴリズムも直感的に理解するのは比較的簡単です。
DBSCAN: 周囲の人から徐々にオフラインモードを開発
MeanShfit: 「アピール」に基づいて徐々に兄貴を選択

ほとんどの人はこれら 2 つの単純なアイデアを思いつくことができるはずですが、真の「発明家」になるには、その背後に完全な数学的サポートが必要です。

直感も時には大切です。

画像の説明を追加してください
ここに画像の説明を挿入

1.本文

1.1 コンセプト

Mean Shift アルゴリズムは、1975 年にFukunaga と Hostetler によって最初に提案されました。2002 年に、Comaniciu と Meer がアルゴリズムを改良し、より完全な理論的分析と証明を行いました。オブジェクトの追跡と顕著な領域の検出に使用されます。データマイニング、画像処理、ソーシャルネットワーク分析でも広く使用されています。

1.2 基本的なプロセス

  1. (ラベルなし) データからランダムにサンプルをセンター (ビッグ ブラザー)として選択します
  2. 現在のサンプルを中心とした特定の範囲 (指定された半径、帯域幅) 内にある他のサンプル点 ()を見つけ、それらを M として記録し、それらをクラスター c (横暴な名前、Ax Gang とします) に分類します。時間、クラスサンプルの確率を増やします(回数+ 1兄が弟を見つけ、ギャングの名前を決定し、各弟の誠実さを記録します
  3. サンプルの中心から M セットへの平均ベクトルシフトを計算し、サンプルの中心を移動します。 center = center + shift ( 「アピール」に従って Big Brother を再決定します)
  4. シフト量が一定値以下になるまで、つまり収束するまで、2と3の処理を繰り返します。この時点で中心を記録します。この時点で、サンプルの中心が見つかり、周囲のサンプルにマークが付けられました。(最終的な兄貴、ギャング名、弟の誠実度が決定)
  5. 1、2、3、4の工程を繰り返します。2 つのサンプル中心間の距離がしきい値より小さい場合は、マージします (ギャング マージ)。
  6. サンプル中心ではないサンプル点を分類します。(弟は複数の暴力団に興味を持つ可能性があり、各暴力団の誠意に応じて別の暴力団に分かれます)

画像の説明を追加してください
平均オフセット ベクトル:
中心点から各サンプル ポイントを減算し、合計し、最後にサンプル数で除算して
ここに画像の説明を挿入
中心点を更新します。
ここに画像の説明を挿入

1.3 カーネル機能

上記のオフセット ベクトルを計算する場合、サンプル中心の周囲の点は同じ役割を果たしますが、実際には、サンプル中心に近づくほど影響が大きくなります。

実装では、通常、ガウス カーネル関数を使用して近傍内の点の密度値を計算し、密度値に従って各点の移動方向と距離を決定します。具体的には、データ点xi x_iの場合、バツ私は、その近傍の点の密度は次のように計算できます。
ここに画像の説明を挿入

その中にはKKさんもKはガウス カーネル関数ですhは帯域幅パラメータ、nnnはデータセットのサイズです、dddはデータ点の次元です。

ガウス カーネル関数を使用すると、遠い点では密度値が小さくなり、近い点では密度値が大きくなります。

各ポイントの密度値を計算した後、次の式を使用して各ポイントの移動方向と距離を計算できます。
ここに画像の説明を挿入

1.4 デモ

アルゴリズムの帯域幅は、次のように関数を使用して推定できます。

from sklearn.cluster import MeanShift, estimate_bandwidth
import numpy as np

# 加载数据
data = np.loadtxt('data.txt')

# 估计 bandwidth 值
bandwidth = estimate_bandwidth(data)

# 基于估计的 bandwidth 进行聚类
ms = MeanShift(bandwidth=bandwidth)
ms.fit(data)

参考

[1] https://blog.csdn.net/Cristiano2000/article/details/119673252
[2] https://blog.csdn.net/google19890102/article/details/51030884
[3] https://blog.csdn .net/pantingd/article/details/107134729
[4] https://zhuanlan.zhihu.com/p/81629406
[5] https://zhuanlan.zhihu.com/p/543744941
[6] https://zhuanlan .zhihu.com/p/354913697
[7] https://blog.csdn.net/SkullSky/article/details/113142978
[8] https://zhuanlan.zhihu.com/p/618919552
[9] https:/ /zhuanlan.zhihu.com/p/350031668
[10]https://blog.csdn.net/SkullSky/article/details/113142978#:~:text=ミーンシフト、%E8%81%9A%E7%B1%BB%E7%9A%84%E4%B8%BB%E8%A6%81%E6%80%9D%E8%B7%AF%E6%98%AF%EF %BC%9A%E8%AE%A1%E7%AE%97%E6%9F%90%E4%B8%80%E7%82%B9A%E4%B8%8E%E5%85%B6%E5%8D %8A%E5%BE%84R%E5%86%85%E7%9A%84%E7%82%B9%E4%B9%8B%E9%97%B4%E5%90%91%E9%87%8F %E8%B7%9D%E7%A6%BB%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BCM%EF%BC%8C%E5%BE%97%E5 %88%B0%E8%AF%A5%E7%82%B9%E4%B8%8B%E4%B8%80%E6%AD%A5%E7%9A%84%E6%BC%82%E7%A7 %BB%EF%BC%88%E7%A7%BB%E5%8A%A8%EF%BC%89%E6%96%B9%E5%90%91%EF%BC%88A%3DM%2BA%EF %BC%89%E5%92%8C%E8%B7%9D%E7%A6%BB%EF%BC%88%7C%7CM%7C%7C%EF%BC%89%E3%80%82%20 %E5%BD%93%E8%AF%A5%E7%82%B9%E4%B8%8D%E5%86%8D%E7%A7%BB%E5%8A%A8%E6%97%B6%EF %BC%8C%E8%AE%A1%E7%AE%97%E8%BF%99%E4%B8%AA%E7%82%B9%E4%B8%8E%E5%8E%86%E5%8F %B2%E7%B0%87%E4%B8%AD%E5%BF%83%E7%9A%84%E8%B7%9D%E7%A6%BB%EF%BC%8C%E6%BB%A1 %E8%B6%B3%E5%B0%8F%E4%BA%8E%E9%98%88%E5%80%BCD%E5%8D%B3%E5%90%88%E5%B9%B6%E4 %B8%BA%E5%90%8C%E4%B8%80%E4%B8%AA%E7%B1%BB%E7%B0%87%EF%BC%8C%E4%B8%8D%E6%BB%A1%E8%B6%B3%E5%88%99%E8%87 %AA%E8%BA%AB%E5%BD%A2%E6%88%90%E4%B8%80%E4%B8%AA%E7%B1%BB%E7%B0%87%E3%80%82
[11] https://zhuanlan.zhihu.com/p/611488610

おすすめ

転載: blog.csdn.net/weixin_39190382/article/details/131432425