2016年初,谷歌圍棋Alpha Go以4:1的成績戰勝了人類圍棋世界冠軍李世石,引起全世界的關注,這標志著人工智能的發展進入了一個全新的階段。近幾年來,人工智能得到飛速的發展,在很多領域如圖像識別、語音識別等方面取得了突破性的進步。人工智能的研究也得到全世界學術界和產業界的高度關注,進入了一個新的高潮期。種種跡象表明,人類進入全方位智能時代已經為期不遠了。所有這一切幾乎均得益于神經網絡的新技術——深度學習的發現和發展(非常有趣的是人工智能的幾次高潮均來自神經網絡的進步,可見神經網絡的生命力)。深度學習的概念由Hinton等于2006年提出,在近年來已經逐漸成為機器學習的主流技術,在多數應用領域的性能明顯超出已有技術。
機器學習包括監督學習和無監督學習。目前的深度學習基本上只帶來監督學習的進步,但僅靠監督學習是無法實現完整的人工智能的。作為智能系統,監督學習似乎足夠“能”而不足夠“智”。足夠“能”體現為它能夠在大數據中挖掘知識,這甚至是人腦做不到的。事實上人腦并不是處理大數據的系統,人類在任何領域所掌握的知識均有限,例如,每個人僅認識數干個漢字或單詞。不足夠“智”體現為監督學習需要大量人工標記的訓練樣本。人腦的學習并不需要大量的樣本訓練,人類是在沒有指導或少量指導的條件下獲得知識的,而且人腦會不斷地學習并強化自己在各個領域的知識。人類在有限知識的基礎上體現出驚人的創造力。類似人腦的智能系統更需要無監督學習、小樣本學習、強化學習和遷移學習等功能。因此,人工智能的發展仍然任重而道遠。
本書討論聚類技術。聚類是無監督學習的主要內容,在很多文獻中人們甚至把聚類和無監督學習兩個概念等價使用。聚類一直是機器學習、數據挖掘、模式識別等領域的重要組成內容,近年來更得到高度重視。2015年,中國人工智能學會理事長李德毅院士在“新一代信息技術產業發展高峰論壇”上指出:“人類的認知科學要想有所突破,首先就要在大數據聚類上取得突破,聚類是挖掘大數據資產價值的第一步。”同年,深度學習的領軍人物Lecun、Bengio和Hinton在Nature上的綜述指出:“人和動物的學習很大程度上是無監督的:我們通過觀察發現世界的結構,而不是對每個物體命名。”
那么什么是聚類呢?《周易·系辭上》說:“方以類聚,物以群分,吉兇生矣。”自然的事物總是按一定的規律組織起來的,人們通過認識這些組織的結構特征獲得知識,從而做出決策。以生物為例(我們這個世界是因為有生物而活潑生動的),人們根據生物的相似程度(包括形態結構和生理功能等),把生物劃分為種和屬等不同的等級,并對每一類群的形態結構和生理功能等特征進行科學的描述,以弄清不同類群之間的親緣關系和進化關系。相信很多人小時候學習生物時都會驚訝于鯨居然是哺乳動物而不是魚,貓和老虎是同一科等。
和分類(監督學習的主要任務)不同,聚類是在無標記樣本的條件下將數據分組,從而發現數據的天然結構。聚類在數據分析中扮演重要的角色,它通常被用于以下三個方面。
(1)發現數據的潛在結構:深入洞察數據、產生假設、檢測異常、確定主要特征。
(2)對數據進行自然分組:確定不同組織之間的相似程度(系統關系)。
(3)對數據進行壓縮:將聚類原型作為組織和概括數據的方法。
這幾個方面的功能使聚類既可以作為預處理程序,又可以作為獨立的數據分析工具。
聚類是典型的交叉學科,在很多領域有廣泛的應用,其研究已有60多年的歷史。生物分類學者、社會學者、哲學家、生物學家、統計學家、數學家、工程師、計算機科學家、醫學研究者等眾多收集和處理實際數據的工作者都對聚類方法做出了貢獻。在不同的領域,聚類還可能被稱為Q-分析、拓撲、凝結、分類等。聚類的概念最早出現在1954年的一篇處理人類學數據的論文中。自此開始,聚類一直是相關領域重要的研究內容之一。2009年,有人用谷歌學術搜索做過統計,發現僅2007年一年就有1660個包含“數據聚類”的條目。幾十年來有數以萬計的文獻討論聚類算法及其在科學和工程領域的應用,這充分說明聚類對數據分析的重要性。