K-Ortalamaları neden küresel minimum değeri vermiyor?


17

K-ortalamaları algoritmasının genel bir minimum değere değil, yalnızca yerel bir minimum değere yaklaştığını okudum. Bu neden? Mantıksal olarak başlatmanın son kümelemeyi nasıl etkileyebileceğini düşünebilirim ve en uygun olmayan kümeleme olasılığı vardır, ancak bunu matematiksel olarak kanıtlayacak hiçbir şey bulamadım.

Ayrıca, k-neden yinelemeli bir süreçtir? Amaç fonksiyonunu centroidlerle kısmen ayırt edemeyiz, bu fonksiyonu en aza indirgeyen sentroidleri bulmak için sıfıra eşitleyemez miyiz? Adım adım asgari düzeye ulaşmak için neden eğim inişini kullanmak zorundayız?


4
Düzgün bir fonksiyonun birden fazla yerel minimi olduğunda, her biri mutlaka kritik bir nokta olacaktır (tüm kısmi türevler yok olur), bu nedenle algoritmanız doğrudur, ancak tipik olarak işe yaramaz: çok sayıda korkunç derecede karmaşık bir denklem elde edebilirsiniz çözüm (sonsuz sayıda bile). Ancak başka bir sorun daha var: k-Ortalamaları nesnel işlevinin her yerde bile ayırt edilebilir olduğunu nasıl biliyorsunuz?
whuber

1
Bir centroide göre objektif işlevi kısmen farklılaştırdığımda, başka bir centroid kümelenmesindeki noktaların türevde kaybolduğuna inanıyorum. Böylece, alabileceğimiz sentroid sadece belirli bir kümenin kare uzaklıklarının toplamını en aza indirecektir.
Prateek Kulkarni

3
Kısmen budur, ancak davranışı gerçekten açıklamaz. Daha fazla ithalat, noktaların sentroidlere atanmasının , k-araçlarının yaptığı şeyin büyük kısmı olmasıdır. (Ödev yapıldıktan sonra, sentroidler kolayca hesaplanır ve yapacak hiçbir şey kalmaz.) Bu ödev ayrıktır : bu tamamen ayırt edilebilecek bir şey değildir. Dahası, kombinatoryal olarak karmaşıktır: kümelerine nokta atamanın yolları vardır . Gerçekten de, sentroidleri bulmak için degrade iniş kullanmak tamamen gereksizdir. O(nk)nk
whuber

Kabul ediyorum, ödev kısmı doğrudan matematiksel forma konamaz. Sadece bu izole adım ile fonksiyonu en aza indirmek için sentroidleri hareket ettirebiliriz. Degrade inişe nasıl bakacağım: Kötü başlatma ile yerel minima yakınsak, degrade iniş sizi yerel minimaya sürükleyecektir. İyi bir başlangıçla küresel minima yakınındaysanız, sizi küresel minimaya sürükleyecektir. Ancak bu hareketin küme atamalarına nasıl eşlendiği bir bulanıklıktır.
Prateek Kulkarni

Farksızlık abartılıyor: Leon Bottou, K-Means'i çok büyük veri setlerinde stokastik gradyanlı olarak tahmin etmek için oldukça başarılı oldu. Ayrıştırılamazlık, birçok veri noktası nedeniyle birçok problemde olduğu gibi büyük bir sorun oluşturmaz. (örneğin, evrişimsel ağlar da yerel olarak ayırt edilemez ancak yine de harika çalışır, bu nedenle rektifiye edilmiş doğrusal transfer fonksiyonuna sahip birçok nöral ağ mimarisi de vardır). Burada asıl sebep çoklu minimadır.
bayerj

Yanıtlar:


10

K-araçlarını, EM algoritmasının biraz yardımcı olabilecek özel bir sürümü olarak görebilirsiniz.

Eğer herkes için kimlik matrisine sabit kovaryans matrisinin her kümenin bir değişkenli normal dağılım tahmin edilmektedir söyle, ama değişken ortalama nereye kümenin endeksidir. Açıktır ki, parametreler ise bilinmektedir, her bir nokta atayabilir maksimum olabilirlik kümesini (yani. olan uzaklık az olarak). Bu problemin EM algoritması neredeyse k-araçlarına eşdeğerdir. i { μ i } p μ i pμii{μi}pμip

Diğer yol, hangi noktaların hangi kümeye ait olduğunu biliyorsanız, optimal tahmin edebilirsiniz . Buna (küresel bir optimum bulan) kapalı form çözümü temelde maksimum olasılık modellerini bulmak için kümelerin tüm olası nokta atamalarını bütünleştirdiğinizi . Sadece otuz puan ve iki küme ile bile, yaklaşık bir milyar olası atama olduğu için, bu hesaplamak mümkün değildir. { μ i }μben{μ^ben}

Bunun yerine, gizli parametreler (veya model parametreleri) hakkında bazı tahminler yapabilir ve iki adımı tekrarlayabiliriz (yerel maksimumda sonlandırma olasılığı ile). Her kümenin bir nokta için kısmi sorumluluk almasına izin verirseniz, EM ile sonuçlanırsınız, eğer sadece optimum kümeyi atarsanız, k-ortalamaları elde edersiniz.

Yani, yönetici özeti: olasılıksal olarak, küresel bir çözüm var, ancak tüm olası kümelenmeler üzerinde tekrar etmenizi gerektiriyor. Açıkça, nesnel bir fonksiyonunuz varsa, aynı şey doğrudur. Tüm çözümleri yineleyebilir ve nesnel işlevi en üst düzeye çıkarabilirsiniz, ancak yineleme sayısı verilerinizin boyutunda üsteldir.


İyi koy! Bunu cevap olarak işaretleyeceğim!
Prateek Kulkarni

4

Çözmek istediğiniz sorun budur:

minxΣben=1nΣj=1kxbenj||pben-cj||2tabi:Σj=1kxbenj=1bencj küme j'nin sentroidixbenj{0,1}ben,j

İkili değişken , noktasına kümesine atanıp atanmadığını belirtir . Semboller ve göstermektedirler koordinatları inci noktası ve ağırlık merkezi inci küme, sırasıyla. Her ikisi de , burada veri noktalarının boyutluluğudur. i j p i c j i j R d dxbenjbenjpbencjbenjR,dd

İlk kısıtlamalar grubu, her noktanın tam olarak bir kümeye atanması gerektiğini söyler. İkinci sınırlama grubu (matematiksel olarak tanımlanmadığımız), küme sentroidinin koordinatlarının aslında değişkenlerinin değerlerine bağlı olduğunu söylüyor . Örneğin bu kısıtlamayı şu şekilde ifade edebiliriz: x i j c j = i x i j p i jjxbenj

cj=ΣbenxbenjpbenjΣbenxbenj

Bununla birlikte, bu doğrusal olmayan kısıtlamalarla uğraşmak yerine, K-Means'de (yaklaşık olarak) orijinal sorunumuzla aynı optimal çözüme sahip farklı bir sorunu :

minxΣben=1nΣj=1kxbenj||pben-yj||2tabi:Σj=1kxbenj=1benxbenj{0,1}ben,jyjR,dj

Centroidlere olan mesafeyi en aza indirmek yerine, daha iyi bir çözüm sağlayacak herhangi bir nokta kümesine olan mesafeyi en aza indiririz. Bu noktaların tam olarak centroid olduğu ortaya çıkıyor.

Şimdi bu sorunu çözmek için, yakınsamaya kadar bu algoritmanın 2-3 adımında tekrarlıyoruz:

  1. değişkenlerine bazı değerler atayınyj
  2. değişkenleri için değerleri düzeltin ve değişkenleri için en uygun değerleri bulun .yjxbenj
  3. değişkenlerinin değerlerini düzeltin ve değişkenleri için en uygun değerleri bulun .xbenjyj

Her adımda, önceki adımda bulunan çözüm mevcut adımın arama alanında olduğu için, hedef fonksiyon iyileşir (veya algoritma yakınlaştığında aynı kalır). Bununla birlikte, her adımdaki bazı değişkenleri düzelttiğimizden, bu, en uygunluğu garanti etmeyen yerel bir arama prosedürüdür.

Neyse ki, adım 2 ve 3'teki optimizasyon problemleri kapalı formda çözülebilir. Bildiğimiz Eğer (her noktası atanır küme hangi bildiğimiz eğer yani), en iyi değerler değişkenlerin kümeleri centroids bulunmaktadır. değerlerini biliyorsanız, değişkenleri için en iyi seçim her noktayı en yakın . xbenjyjyjxbenjyj


2

Basit bir örnek yardımcı olabilir ..

Kümelenecek nokta kümesini tanımlayalım A = {1,2,3,4}.

Diyelim ki A için 2 uygun küme bulmaya çalışıyorsunuz (2 ortalama). K-ortalamalarının sabit durumunu karşılayan (en az) iki farklı ayar vardır.

Ayar 1:

Center1 = 1, Cluster1 = {1}
Center2 = 3, Cluster1 = {2,3,4}

Burada amaç 2'dir. Aslında bu bir eyer noktasıdır (deneyin center1 = 1 + epsilonve center1 = 1 - epsilon)

Ayar 1:

Center1 = 1.5, Cluster1 = {1,2}
Center2 = 3.5, Cluster1 = {3,4}

burada amaç 1/4.

Eğer k-ortalamaları ilk ayar olarak başlatılırsa, o zaman sıkışmış olur .. ve bu hiçbir şekilde küresel bir minimum değildir.

İki farklı yerel minima oluşturmak için önceki örneğin bir varyantını kullanabilirsiniz. İçin A = {1,2,3,4,5}, ayar cluster1={1,2}ve cluster2={3,4,5}aynı amaç değerindeki sonuçları olur cluster1={1,2,3}vecluster2={4,5}

Son olarak, seçerseniz ne olur?

A = {1,2,3,4,6}
center1={2.5} cluster1={1,2,3,4} and 
center1={6} cluster1={6}

vs

center1={2} cluster1={1,2,3} and 
center1={5} cluster1={4,6}

?


0

[Bu, @Peter cevap vermeden önceydi]
Küçük bir tartışmadan sonra (yorumlar bölümünde), kendi sorumu yanıtlamam gerektiğini hissediyorum.

Bir centroide göre objektif işlevi kısmen farklılaştırdığımda, başka bir centroid kümelenmesindeki noktaların türevde kaybolduğuna inanıyorum. Böylece, alabileceğimiz sentroid sadece belirli bir kümenin kare mesafelerinin toplamını en aza indirecektir.

@whuber ekler:

Kısmen budur, ancak davranışı gerçekten açıklamaz. Daha fazla ithalat, noktaların sentroidlere atanmasının, k-araçlarının yaptığı şeyin büyük kısmı olmasıdır. (Ödev yapıldıktan sonra, sentroidler kolayca hesaplanır ve yapacak hiçbir şey kalmaz.) Bu ödev ayrıktır: bu tamamen ayırt edilebilecek bir şey değildir.

Ekleyecek daha fazla kişi varsa harika olurdu.


0

Herkes her şeyi açıkladı, ancak örnek bir veri bir Gauss dağılımı olarak dağıtılmazsa, yerel bir minimaya yapışabileceğini eklemek isterim. K-ortalama algoritmasında bunu elde etmeye çalışıyoruz.


Gauss'tan ziyade, “unimodal” demek istediğinizi düşünüyorum
Peter Leopold
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.