目前決定cluster數目的常用方法是手動地決定cluster的數目
哪個K是正確的?
上圖中的數據集,我們可以說它有4個clusters,也可以說它有2個clusters,但哪個是正確答案呢?其實這兒沒有正確答案,數據集要划分的cluster的數目本來就是模擬兩可的,可以是2個,3個,4個。這也是無監督學習的一部分,因為我們的數據集沒有標簽,所以沒有清晰的答案。所以做一個能自動求出K值的算法是非常困難的
通過肘部法則(elbow method)來選擇K值
通過畫K與cost function的關系曲線圖,如左圖所示,肘部的值(cost function開始時下降很快,在肘部開始平緩了)做為K值,K=3。
並不是所有的問題都可以通過畫肘部圖來解決,有的問題如右邊的那個圖,肘點位置不明顯(肘點可以是3,4,5),這時就無法確定K值了。
故肘部圖是可以嘗試的一種方法,但是並不是對所有的問題都能畫出如左邊那么好的圖來確定K值。
另一種選擇K值的方法—后續目的(市場等)
通過后續的一些目的,如市場方面的一些計算評估等。例如,T-shirt的例子,是將其設計為3種尺碼還是5種尺碼呢?要根據后續我們的一些目的來確定,是想T-shirt適應更多的顧客(5種)還是希望T-shirt更便宜(3種),來確定K的值。
總結
- 選擇K值現在大多數還是通過你的理解與洞察手動來選擇的
- 可以嘗試通過elbow method來選擇K值,但是它並不通用,因為很多情況下,肘部點並不明確
- 大多數情況下,我們根據后續的目的來選擇K值,看后續要做些什么,來看我們的K值應該怎么選