เหตุใด k- หมายถึงไม่ให้ขั้นต่ำทั่วโลก


17

ฉันอ่านว่าอัลกอริทึม k-mean จะแปลงเป็นค่าต่ำสุดในท้องถิ่นเท่านั้นและไม่ใช่ระดับต่ำสุดทั่วโลก ทำไมนี้ ฉันสามารถคิดอย่างมีเหตุผลว่าการกำหนดค่าเริ่มต้นอาจส่งผลกระทบต่อการจัดกลุ่มสุดท้ายและมีความเป็นไปได้ของการจัดกลุ่มย่อยที่เหมาะสม แต่ฉันไม่พบสิ่งใดที่จะพิสูจน์ได้ในเชิงคณิตศาสตร์

นอกจากนี้เหตุใด k-หมายถึงกระบวนการวนซ้ำ เราไม่สามารถแยกความแตกต่างของฟังก์ชั่นวัตถุประสงค์เพียงเล็กน้อยกับเซนทรอยด์, แบ่งมันให้เป็นศูนย์เพื่อค้นหาเซนทรอยด์ที่ลดฟังก์ชั่นนี้ได้หรือไม่? เหตุใดเราต้องใช้การไล่ระดับสีเพื่อเข้าถึงขั้นตอนทีละน้อย?


4
เมื่อฟังก์ชั่นที่ราบรื่นมีหลายท้องถิ่นน้อยที่สุดดังนั้นแต่ละอันจะเป็นจุดวิกฤติ (ซึ่งอนุพันธ์ย่อยบางส่วนหายไป) ดังนั้นอัลกอริธึมของคุณถูกต้อง แต่โดยทั่วไปแล้วมันไร้ประโยชน์: คุณสามารถได้สมการที่ซับซ้อนมากด้วยจำนวนมหาศาล ของการแก้ปัญหา (แม้จะมากมาย) แต่ยังมีอีกปัญหาหนึ่ง: คุณจะรู้ได้อย่างไรว่าฟังก์ชันวัตถุประสงค์ k-mean สามารถสร้างความแตกต่างได้ทุกที่?
whuber

1
ฉันเชื่อว่าเมื่อฉันแยกความแตกต่างของฟังก์ชันวัตถุประสงค์ด้วยความเคารพต่อเซนทรอยด์หนึ่งคะแนนในคลัสเตอร์ของเซนทรอยด์อื่นหายไปในอนุพันธ์ ดังนั้นเซนทรอยด์ที่เราได้รับจะลดลงเพียงผลรวมของระยะทางกำลังสองของกระจุกนั้นโดยเฉพาะ
Prateek Kulkarni

3
แต่นั่นไม่ได้อธิบายพฤติกรรมอย่างแท้จริง จากการนำเข้าที่มากขึ้นก็คือความจริงที่ว่าการกำหนดคะแนนให้กับเซนทรอยด์นั้นเป็นส่วนสำคัญของการทำ k-mean (เมื่อทำการมอบหมายแล้วเซนทรอยด์จะถูกคำนวณอย่างง่ายดายและไม่มีอะไรเหลือให้ทำ) การมอบหมายนั้นไม่ต่อเนื่อง : มันไม่ใช่สิ่งที่สามารถแยกความแตกต่างได้เลย ยิ่งไปกว่านั้นมันมีความซับซ้อนเชิง combinatorially: มีวิธีในการกำหนดnคะแนนให้กับk kusus ที่จริงแล้วมันไม่จำเป็นเลยที่จะใช้การไล่ระดับสีเพื่อค้นหาเซนทรอยด์ O(nk)nk
whuber

ฉันยอมรับส่วนของการมอบหมายไม่สามารถใส่ลงในแบบฟอร์มทางคณิตศาสตร์ได้โดยตรง เฉพาะในขั้นตอนที่แยกนี้เท่านั้นที่เราสามารถย้ายเซนทรอยด์ไปรอบ ๆ เพื่อลดฟังก์ชั่น นี่คือวิธีที่ฉันดูการไล่ระดับสี: ถ้าการเริ่มต้นไม่ดีเราอยู่ใกล้กับ minima ท้องถิ่นการไล่ระดับสีจะลากคุณลงไปที่ minima ท้องถิ่น หากคุณอยู่ใกล้กับระดับต่ำสุดของโลกโดยการเริ่มต้นที่ดีมันจะลากคุณสู่จุดต่ำสุดระดับโลก แต่ความเคลื่อนไหวนี้คือการจับคู่กับการมอบหมายคลัสเตอร์เป็นภาพเบลอ
Prateek Kulkarni

ความไม่แตกต่างนั้นเกินจริง: Leon Bottou ได้ทำการประเมิน K-Means ด้วยการไล่ระดับสีแบบสุ่มในชุดข้อมูลขนาดใหญ่ที่ประสบความสำเร็จ ความแตกต่างไม่ได้ไม่ก่อให้เกิดปัญหาใหญ่เช่นเดียวกับในหลายปัญหาเนื่องจากจุดข้อมูลจำนวนมาก (เช่นเครือข่าย convolutional นั้นไม่สามารถหาได้ในพื้นที่ แต่ทำงานได้ดีเช่นกันดังนั้นสถาปัตยกรรมโครงข่ายประสาทเทียมจำนวนมากที่มีฟังก์ชั่นการถ่ายโอนเชิงเส้นแบบแก้ไข) เหตุผลที่แท้จริงที่นี่คือหลายขั้นต่ำ
bayerj

คำตอบ:


10

คุณสามารถดู k-mean เป็นอัลกอริทึม EM รุ่นพิเศษซึ่งอาจช่วยได้เล็กน้อย

สมมติว่าคุณกำลังประเมินการแจกแจงปกติหลายตัวแปรสำหรับแต่ละคลัสเตอร์ที่มีเมทริกซ์ความแปรปรวนร่วมคงที่กับเมทริกซ์เอกลักษณ์สำหรับทุกคน แต่ตัวแปรหมายถึงโดยที่iคือดัชนีของคลัสเตอร์ เห็นได้ชัดว่าหากพารามิเตอร์{ μ i }เป็นที่รู้จักกันคุณสามารถกำหนดแต่ละจุดpกลุ่มความน่าจะเป็นสูงสุด (กล่าวคือμ iซึ่งระยะทางถึงpน้อยที่สุด) อัลกอริทึม EM สำหรับปัญหานี้เกือบเทียบเท่ากับ k-meanμii{μi}pμip

หากคุณรู้ว่าจุดใดเป็นของคลัสเตอร์ใดคุณสามารถประมาณดีที่สุดได้ วิธีการแก้ปัญหาแบบปิดนี้ (ซึ่งพบที่ดีที่สุดทั่วโลก) โดยทั่วไปบอกว่าจะหารูปแบบความน่าจะเป็นสูงสุด{ μฉัน }คุณรวมมากกว่าที่ได้รับมอบหมายเป็นไปได้ทุกจุดกับกลุ่ม แม้จะมีเพียงสามสิบคะแนนและสองกลุ่มก็มีการมอบหมายที่เป็นไปได้ประมาณหนึ่งพันล้านค่านี้เป็นไปไม่ได้ที่จะคำนวณμi{μ^i}

แต่เราสามารถเดาได้ว่าพารามิเตอร์ที่ซ่อนอยู่ (หรือพารามิเตอร์โมเดล) และทำซ้ำสองขั้นตอน (โดยมีความเป็นไปได้ที่จะสิ้นสุดในค่าสูงสุดในท้องถิ่น) หากคุณอนุญาตให้แต่ละคลัสเตอร์มีความรับผิดชอบบางส่วนสำหรับจุดหนึ่งคุณจะได้รับ EM หากคุณเพียงกำหนดกลุ่มที่เหมาะสมคุณจะได้รับ k-mean

ดังนั้นบทสรุปผู้บริหาร: ในแง่ความน่าจะเป็นมีวิธีแก้ปัญหาระดับโลก แต่คุณต้องทำซ้ำในทุกการจัดกลุ่มที่เป็นไปได้ เห็นได้ชัดว่าถ้าคุณมีฟังก์ชั่นวัตถุประสงค์เดียวกันก็เป็นจริง คุณสามารถวนซ้ำโซลูชันทั้งหมดและเพิ่มฟังก์ชันวัตถุประสงค์ให้มากที่สุด แต่จำนวนการทำซ้ำนั้นจะเพิ่มขึ้นเป็นเท่าตัวในขนาดข้อมูลของคุณ


ใส่กัน! ฉันจะทำเครื่องหมายสิ่งนี้เป็นคำตอบ!
Prateek Kulkarni

4

นี่คือปัญหาที่คุณต้องการแก้ไข:

minxi=1nj=1kxij||picj||2subject to:j=1kxij=1icj is the centroid of cluster jxij{0,1}i,j

ตัวแปรไบนารีระบุว่ามีการกำหนดpoint iให้กับคลัสเตอร์jหรือไม่ สัญลักษณ์p iและc jแสดงถึงพิกัดของจุดที่iและ centroid ของกลุ่มj th ตามลำดับ ตั้งอยู่ในR dโดยที่dคือมิติข้อมูลของจุดข้อมูลxijijpicjijRdd

ข้อ จำกัด กลุ่มแรกบอกว่าควรกำหนดแต่ละจุดให้กับหนึ่งคลัสเตอร์ กลุ่มที่สองของข้อ จำกัด (ซึ่งเรายังไม่ได้กำหนดทางคณิตศาสตร์) บอกว่าพิกัดของ centroid ของกลุ่มจริง ๆ แล้วขึ้นอยู่กับค่าของตัวแปรx i j ตัวอย่างเช่นเราสามารถแสดงข้อ จำกัด นี้ได้ดังนี้: c j = ฉัน x ฉันj p ฉันjjxij

cj=ixijpijixij

อย่างไรก็ตามแทนที่จะจัดการกับข้อ จำกัด ที่ไม่ใช่เชิงเส้นในK-หมายถึงเรา (โดยประมาณ) แก้ปัญหาที่แตกต่างซึ่งมีทางออกที่ดีที่สุดเช่นเดียวกับปัญหาดั้งเดิมของเรา:

minxi=1nj=1kxij||piyj||2subject to:j=1kxij=1ixij{0,1}i,jyjRdj

Instead of minimizing the distance to centroids, we minimize the distance to just any set of points that will give a better solution. It turns out that these points are exactly the centroids.

Now to solve this problem, we iterate in steps 2-3 of this algorithm, until convergence:

  1. Assign some values to yj variables
  2. Fix the values for yj variables and find the optimal values for xij variables.
  3. Fix the values of xij variables, and find the optimal values for yj variables.

In each step the objective function improves (or remains the same when the algorithm converges), since the solution found in the previous step is in the search space of current step. However, since we are fixing some of the variables in each step, this is a local search procedure which does not guarantee optimality.

Luckily, the optimization problems in steps 2 and 3 can be solved in closed form. If we know xij (i.e. if we know to which cluster each point is assigned), the best values for yj variables are the centroids of clusters. If we know values for yj, obviously best choice for xij variables is to assign each point to the closest yj.


2

A simple example might help..

Let us define the set of points to be clustered as A = {1,2,3,4}.

Say you're trying to find 2 appropriate clusters for A (2-means). There are (at least) two different settings which satisfy the stationary condition of k-means.

Setting 1:

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

Here the objective is 2. As a matter of fact this is a saddle point (try center1 = 1 + epsilon and center1 = 1 - epsilon)

Setting 1:

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

here the objective is 1/4.

If k-means would be initialized as the first setting then it would be stuck.. and that's by no means a global minimum.

You can use a variant of previous example to create two different local minima. For A = {1,2,3,4,5}, setting cluster1={1,2} and cluster2={3,4,5} would results in the same objective value as cluster1={1,2,3} and cluster2={4,5}

Finally, what would happen if you choose

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

[This was before @Peter answered]
After a small discussion (in the comments section), I feel I have to answer my own question.

I believe that when I partially differentiate the objective function with respect to one centroid, the points in the cluster of another centroid vanish in the derivative. So, the centroid we can get will minimize only the sum of squared distances of only the particular cluster.

@whuber adds:

That's partly it, but does not really explain the behavior. Of more import is the fact that the assignment of points to centroids is the big part of what k-means is doing. (Once the assignment is made, the centroids are easily computed and there's nothing left to do.) That assignment is discrete: it's not something that can be differentiated at all.

It would be awesome if anybody has more to add.


0

Everybody has explained everything, but I would like to add that if a sample data is not distributed as a Gaussian distribution then it can stuck to a local minima. In the K-means algorithm we are actually trying to get that.


Rather than Gaussian, I think you mean “unimodal”
Peter Leopold
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.