在日常生活中,人們去超市購買芒果,通常想把甜的芒果和酸的芒果分開,最終隻買甜的芒果,挑選芒果的這個過程就是一個分類過程。隨著信息化時代的發展,我們希望機器能夠幫助人類區分芒果的酸甜,這樣的需求催生了機器學習學科的出現。
在機器學習領域中,不僅有分類的概念,還有聚類的概念,在機器學習領域中其為兩種不同的存在。其中,分類是指根據一些給定的已知類別標記的樣本數據,訓練得到模型,使模型能夠對新的未知類別的樣本進行預測分類。用上文的例子來說,想要機器區分芒果究竟是酸還是甜,首先要告訴機器什麼樣的是酸芒果,什麼樣子的是甜芒果。一般來說,酸芒果和甜芒果會表現出不同的特征,比如說表皮顏色,軟硬程度、芒果是否有香味等,因此如果我們想讓機器自動區分不同的芒果,首先我們要將甜芒果的特征告訴機器,即當一個芒果表現出黃色外皮,且芒果軟硬適中,並伴隨水果香味時,機器就判定該芒果是甜芒果,否則就是酸芒果。當機器學會了對這些特征進行判別,才能去對新的芒果進行酸甜的區分。
聚類是指事先並不知道樣本屬於哪個類別,通過一些算法,按照“物以類聚”的原理,將一組未知類別的樣本劃分成若干類。通常,人們按照樣本間的距離或相似性等標准來定義聚類,把距離近的(相似的)樣本聚為一類,把距離遠的(不相似的)樣本劃分為其它類別,不同類別中樣本差異越大越好。用上文的例子來說,我們希望機器區分芒果的酸甜,但是我們不告訴機器什麼樣的芒果是酸的,什麼樣的芒果是甜的,讓機器自己去區分新的芒果屬於哪個類別,但是我們要告訴機器需要分成多少個類別,比如分為2類。那麼我們得到的聚類結果可能是機器按照芒果的顏色進行分類,把橘色的芒果分成一類,把青色的芒果分成另一類。
歸納來說,分類和聚類的最大的區別就是,分類會讓機器先對已知酸甜的芒果進行學習,即會先讓機器去學習已知酸甜的芒果是什麼樣子的,再對未知酸甜的芒果進行類別劃分﹔聚類是直接讓機器對未知酸甜的芒果進行類別劃分,但是要告訴機器,需要劃分成幾類。我們希望買到甜的水果,想要使用分類算法,必須事先有一些知道酸甜的水果(即已知類別的樣本),能夠讓機器進行學習。但是,很多時候我們可能並沒有這些水果(已知類別的樣本)。那麼,為了仍然能夠對水果進行劃分,我們可以使用聚類算法,先把未知類別的水果劃分為幾類,再分別對每個類別進行辨別,來確定其到底是酸是甜。如此,機器就可以區分芒果的酸甜。
隨著機器學習在各個領域的應用,分類和聚類也應用的越來越廣泛。在有的領域,有已知類別的樣本,就可以直接使用分類算法對未知類別的樣本進行類別劃分。而有的領域,已知類別的樣本很少或者沒有,就可以使用聚類算法對未知類別的樣本進行類別劃分。分類和聚類的思想在很多領域都有應用,知道了它們的區別,就便於人們更好的針對問題選擇不同的方法來進行預測。
本文由東北大學計算機科學與工程學院副教授信俊昌進行科學性把關。