算法人生(16):從“K均值 & C均值”看“為人處事之道”
我們都知道有一類人在生活中特別“雙標(biāo)”,其實(shí)這種現(xiàn)象在代碼中也存在。這篇文章,我們從無監(jiān)督學(xué)習(xí)中的K均值 & C均值兩種聚類算法中可窺見一些一樣的思路。
現(xiàn)代生活中,經(jīng)常會(huì)聽到一個(gè)詞“雙標(biāo)”,通常用來描述某人對(duì)人對(duì)己采用了不同的標(biāo)準(zhǔn),當(dāng)然生活中會(huì)出現(xiàn)這樣的情況,個(gè)人處于“利己”的思維來“雙標(biāo)”, 但“雙標(biāo)”可能還有另外一個(gè)原因,就是這個(gè)人是懂得“變通”的人。我們從K均值 & C均值兩種聚類算法中可窺見一些思路。
K均值(K-means)和C均值(C-means,也稱為模糊C均值,F(xiàn)uzzy C-Means, FCM)是兩種常見的聚類算法,以下簡(jiǎn)單介紹下這兩種方法,已經(jīng)熟知的小伙伴可略過。
K-means算法是一種無監(jiān)督學(xué)習(xí)方法,它的目標(biāo)是將數(shù)據(jù)集劃分為K個(gè)不重疊的子集(簇),使得每個(gè)數(shù)據(jù)點(diǎn)到其所屬簇中心(質(zhì)心)的平方距離之和最小。這個(gè)算法假設(shè)簇是凸的,并且每個(gè)數(shù)據(jù)點(diǎn)只屬于一個(gè)簇。
大致步驟為:
- 初始化:隨機(jī)選擇K個(gè)數(shù)據(jù)點(diǎn)作為初始質(zhì)心。
- 分配:將每個(gè)數(shù)據(jù)點(diǎn)分配給最近的質(zhì)心所在的簇。
- 更新質(zhì)心:重新計(jì)算每個(gè)簇的質(zhì)心,通常為該簇內(nèi)所有數(shù)據(jù)點(diǎn)的均值。
- 重復(fù):重復(fù)步驟2和3直到質(zhì)心不再發(fā)生顯著變化或達(dá)到預(yù)定的迭代次數(shù)。
C-means是K-means的一種擴(kuò)展,它允許數(shù)據(jù)點(diǎn)以不同程度(隸屬度)屬于不同的簇。每個(gè)數(shù)據(jù)點(diǎn)對(duì)所有簇都有一個(gè)隸屬度,介于0和1之間,表示它屬于該簇的程度。
大致步驟為:
- 初始化:為每個(gè)簇隨機(jī)選擇一個(gè)中心,并為所有數(shù)據(jù)點(diǎn)賦予初始的隸屬度向量,通常為均勻分布或隨機(jī)初始化。
- 更新隸屬度:根據(jù)當(dāng)前質(zhì)心,計(jì)算每個(gè)數(shù)據(jù)點(diǎn)到各個(gè)簇中心的距離,并據(jù)此更新每個(gè)數(shù)據(jù)點(diǎn)的隸屬度,使類內(nèi)誤差平方和最小化,同時(shí)保證所有簇對(duì)每個(gè)點(diǎn)的隸屬度之和為1。
- 更新質(zhì)心:根據(jù)新的隸屬度向量,重新計(jì)算每個(gè)簇的中心,作為所有數(shù)據(jù)點(diǎn)的加權(quán)平均,權(quán)重是數(shù)據(jù)點(diǎn)對(duì)該簇的隸屬度。
- 重復(fù):重復(fù)步驟2和3,直到質(zhì)心的變化小于某個(gè)閾值或達(dá)到迭代上限。
總的來說,
- K均值:是一種硬聚類方法,即每個(gè)數(shù)據(jù)點(diǎn)被劃分到一個(gè)且僅一個(gè)聚類中。聚類的歸屬是明確無誤的。適合于聚類邊界明確、聚類間隔較大的數(shù)據(jù)集。這個(gè)算法較為簡(jiǎn)單直接,計(jì)算效率高,但對(duì)于復(fù)雜或模糊邊界的數(shù)據(jù)集靈活性較低。
- C均值:是一種軟聚類方法,允許數(shù)據(jù)點(diǎn)以一定的隸屬度或概率屬于多個(gè)聚類。這意味著數(shù)據(jù)點(diǎn)可以同時(shí)屬于多個(gè)聚類,且對(duì)每個(gè)聚類有一個(gè)隸屬度分?jǐn)?shù)。更適用于數(shù)據(jù)點(diǎn)可能屬于多個(gè)類別、聚類邊界模糊或重疊的情況。但它的計(jì)算復(fù)雜度高于K-means,因?yàn)樾枰滤袛?shù)據(jù)點(diǎn)的隸屬度。而且,它的參數(shù)選擇(如隸屬度的隸屬度因子m)對(duì)結(jié)果影響較大,且不易確定最佳值。
那在“雙標(biāo)”的場(chǎng)景下,可能這個(gè)人是出于“對(duì)人對(duì)己兩套標(biāo)準(zhǔn)”,也可能是他把這件事歸屬到了多個(gè)類別下(如A和B兩個(gè)類別),某個(gè)場(chǎng)景可能A類別的隸屬度高于B類別,而某個(gè)同類型的場(chǎng)景B類別又高于了A類別,也會(huì)給人一種雙標(biāo)的“錯(cuò)覺”。想知道“雙標(biāo)”的原因到底是屬于哪一類,主要是看場(chǎng)景,這里就要考驗(yàn)每個(gè)人應(yīng)對(duì)不同場(chǎng)景下的“應(yīng)變力”了。這里分享個(gè)佛經(jīng)中的小故事:
古代有個(gè)君王去找佛陀說,他的國(guó)家正在面臨外來軍隊(duì)的威脅,但是他們國(guó)家的人都深受佛陀眾弟子的教導(dǎo),不愿sha生,自然就沒有什么戰(zhàn)斗力。但如果士兵們都這樣,這個(gè)國(guó)家只能被侵略了,百姓會(huì)被欺負(fù)。
這個(gè)國(guó)王很困惑,因?yàn)樗采钍芊鹜拥慕虒?dǎo),覺得很兩難,不知道該如何抉擇。
佛陀的回答很快就讓他解了困惑,回去安排士兵保護(hù)家園。佛陀回答的大意是,如果sha念是出于自己的私利自然不行,但是如果sha是萬不得已,是為了保護(hù)他人那就不一樣了,如果有能力保護(hù),卻沒有保護(hù),眼看著同胞被欺負(fù)那也是另外一種sha。
于是佛陀下令他的僧侶不能再繼續(xù)對(duì)這個(gè)國(guó)家的士兵講法,從而保證士兵們面對(duì)敵人時(shí)的戰(zhàn)斗力,避免他們用錯(cuò)了“執(zhí)”,好心辦了壞事。這里佛陀說的意思是就是要“變通”,如果不分場(chǎng)景,死守某個(gè)詞,某段話,就會(huì)陷入“法執(zhí)”,被文字束縛住了思維。
人家常說,沒有佛經(jīng),看不到佛法,但是還有后面一句,佛經(jīng)里沒有佛法。佛經(jīng)是看到佛法的路,但佛法不在佛經(jīng)里,看了佛經(jīng)后還要靠“實(shí)踐”才可能看到佛法。
那從以上“變通”這個(gè)角度看,生活中,你喜歡c均值的思維還是k均值的思維呢?筆者的想法還是看“場(chǎng)景”,在此舉例一二,大家可各自發(fā)散!
K均值適合的場(chǎng)景
- 決策明確性要求高的場(chǎng)合:在需要快速明確決策的商業(yè)或緊急情況下,K均值的思維方式可以迅速將問題和解決方案進(jìn)行明確分類,加快決策過程,如危機(jī)管理、緊急響應(yīng)等。
- 法律或規(guī)則嚴(yán)格的場(chǎng)景:某些原則性的或沒有容錯(cuò)的事情,只有0次或N次的,K均值的硬聚類思維有助于確保規(guī)則得到嚴(yán)格遵守,避免模糊地帶的產(chǎn)生。
C均值適合的場(chǎng)景
- 多元文化環(huán)境:在多元文化的工作或生活環(huán)境中,人們來自不同的背景,擁有不同的價(jià)值觀和行為習(xí)慣。C均值的思維方式可以幫助個(gè)體理解并接納不同文化之間的交叉和重疊,促進(jìn)更好的跨文化交流和合作。
- 多任務(wù)工作環(huán)境:在需要同時(shí)處理多個(gè)項(xiàng)目或任務(wù)的工作環(huán)境中,C均值思維方式幫助個(gè)體在各個(gè)項(xiàng)目間平衡精力和資源,優(yōu)化總體工作效率。
以上只是拋磚引玉,總體來說,如果能保持對(duì)“原則”的深刻認(rèn)知,同時(shí)又抱有“變通”的思維,就能在明白“知識(shí)層面”的道理后,根據(jù)場(chǎng)景變通去應(yīng)用出來,才能更加擁有“應(yīng)用層面”的智慧。
用“手”指“月”,要人看的是“月”,不是指向“月”的“手”,文字或詞匯是想讓人明白某個(gè)道理,但如果執(zhí)著于某段文字,不知道根據(jù)這個(gè)道理的意思,分場(chǎng)景來“變通”,就會(huì)失了焦點(diǎn),過猶而不及了。
本文由 @養(yǎng)心進(jìn)行時(shí) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒評(píng)論,等你發(fā)揮!