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