2017-06-28 3 views
0

enter image description hereK-手段++アルゴリズム - ?ただ単にクラスタの2番目のポイントとしてポイント2を選択してくださいしかし、乱数bettwenを生成するために行かない理由を絵のように次のクラスタセンターの選択

を説明[0,1]?

def initialize(X, K):#kmean++ 
m,n=shape(X) 
C = mat(zeros((K,n))) 
random_number=random.randint(0,m) 
C[0,:]=X[random_number] 
for k in range(1, K): 
    D2 = scipy.array([min([scipy.inner(c-x,c-x) for c in C]) for x in X]) 
    probs = D2/D2.sum() 
    cumprobs = probs.cumsum() 
    r = scipy.rand() 
    for j,p in enumerate(cumprobs): 
     if r < p: 
      i = j 
      break 
    C[k,:]=X[i] 
return C 

なぜrをpと比較すると生成されるのですか(累積確率はSumです)?

答えて

1

行動の分析のために、確率に基づく選択を扱うときに何が起こっているのかを理解することがより簡単なので、

直感的には、外れ値かもしれないので、最も遠いポイントを選択する必要はありません。
あなたはおそらくかなり遠い質量の一部である点を選びたいと思っています。
その目的のために、選択のためのPDFの使用がうまく機能します。

関連する問題