機器學習中,無監督學習比有監督學習有哪些優勢?

機器學習中,無監督學習比有監督學習有哪些優勢?

當下無監督作為一種熱門的機器學習技術,網上有不少關於無監督與有監督差異討論的文章。DataVisor作為率先將無監督技術運用在反欺詐行業的嬌嬌領先者,我們在本文中,將深入淺出的講解無監督機器學習技術與有監督技術在不同方面的區別,通過對比這兩種技術,讓大家對無監督反欺詐技術有更好的瞭解。

對比一 : 有標籤 vs 無標籤

有監督機器學習又被稱為“有老師的學習”,所謂的老師就是標籤。有監督的過程為先通過已知的訓練樣本(如已知輸入和對應的輸出)來訓練,從而得到一個最優模型,再將這個模型應用在新的數據上,映射為輸出結果。再經過這樣的過程後,模型就有了預知能力。

而無監督機器學習被稱為“沒有老師的學習”,無監督相比於有監督,沒有訓練的過程,而是直接拿數據進行建模分析,意味著這些都是要通過機器學習自行學習探索。這聽起來似乎有點不可思議,但是在我們自身認識世界的過程中也會用到無監督學習。比如我們去參觀一個畫展,我們對藝術一無所知,但是欣賞完多幅作品之後,我們也能把它們分成不同的派別。比如哪些更朦朧一點,哪些更寫實一些。即使我們不知道什麼叫做朦朧派和寫實派,但是至少我們能把他們分為兩個類。

對比二 : 分類 vs 聚類

有監督機器學習的核心是分類,無監督機器學習的核心是聚類(將數據集合分成由類似的對象組成的多個類)。有監督的工作是選擇分類器和確定權值,無監督的工作是密度估計(尋找描述數據統計值),這意味著無監督算法只要知道如何計算相似度就可以開始工作。

對比三 : 同維 vs 降維

有監督的輸入如果是n維,特徵即被認定為n維,也即y=f(xi)或p(y|xi), i =n,通常不具有降維的能力。而無監督經常要參與深度學習,做特徵提取,或者乾脆採用層聚類或者項聚類,以減少數據特徵的維度,使i事實上,無監督學習常常被用於數據預處理。一般而言,這意味著以某種平均-保留的方式壓縮數據,比如主成分分析(PCA)或奇異值分解(SVD),之後,這些數據可被用於深度神經網絡或其它監督式學習算法。

對比四 :分類同時定性 vs 先聚類後定性

機器學習中,無監督學習比有監督學習有哪些優勢?

圖1 把每種藥材放進貼好標籤的藥匣

有監督的輸出結果,也就是分好類的結果會被直接貼上標籤,是好還是壞。也即分類分好了,標籤也同時貼好了。類似於中藥鋪的藥匣,藥劑師採購回來一批藥材,需要做的只是把對應的每一顆藥材放進貼著標籤的藥匣中。

機器學習中,無監督學習比有監督學習有哪些優勢?

圖2 聚好類的藥材,待貼標籤

無監督的結果只是一群一群的聚類,就像被混在一起的多種中藥,一個外行要處理這堆藥材,能做的只有把看上去一樣的藥材挑出來聚成很多個小堆。如果要進一步識別這些小堆,就需要一個老中醫(類比老師)的指導了。因此,無監督屬於先聚類後定性,有點類似於批處理。

對比五 :獨立 vs 非獨立

李航在其著作《統計學習方法》(清華大學出版社)中闡述了一個觀點:對於不同的場景,正負樣本的分佈可能會存在偏移(可能是大的偏移,也可能偏移比較小)。好比我們手動對數據做標註作為訓練樣本,並把樣本畫在特徵空間中,發現線性非常好,然而在分類面,總有一些混淆的數據樣本。對這種現象的一個解釋是,不管訓練樣本(有監督),還是待分類的數據(無監督),並不是所有數據都是相互獨立分佈的。或者說,數據和數據的分佈之間存在聯繫。作為訓練樣本,大的偏移很可能會給分類器帶來很大的噪聲,而對於無監督,情況就會好很多。可見,獨立分佈數據更適合有監督,非獨立數據更適合無監督。

對比六 : 不透明 vs 可解釋性

由於有監督算法最後輸出的一個結果,或者說標籤。yes or no,一定是會有一個傾向。但是,如果你想探究為什麼這樣,有監督會告訴你:因為我們給每個字段乘以了一個參數列[w1, w2, w3...wn]。你繼續追問:為什麼是這個參數列?為什麼第一個字段乘以了0.01而不是0.02?有監督會告訴你:這是我自己學習計算的!然後,就拒絕再回答你的任何問題。是的,有監督算法的分類原因是不具有可解釋性的,或者說,是不透明的,因為這些規則都是通過人為建模得出,及其並不能自行產生規則。所以,對於像反洗錢這種需要明確規則的場景,就很難應用。而無監督的聚類方式通常是有很好的解釋性的,你問無監督,為什麼把他們分成一類?無監督會告訴你,他們有多少特徵有多少的一致性,所以才被聚成一組。你恍然大悟,原來如此!於是,進一步可以講這個特徵組總結成規則。如此這般分析,聚類原因便昭然若揭了。

對比七 :DataVisor無監督獨有的拓展性

試想這樣一個n維模型,產出結果已經非常好,這時又增加了一維數據,變成了n+1維。那麼,如果這是一個非常強的特徵,足以將原來的分類或者聚類打散,一切可能需要從頭再來,尤其是有監督,權重值幾乎會全部改變。而DataVisor開發的無監督算法,具有極強的擴展性,無論多加的這一維數據的權重有多高,都不影響原來的結果輸出,原來的成果仍然可以保留,只需要對多增加的這一維數據做一次處理即可。

如何選擇有監督和無監督

瞭解以上對比後,我們在做數據分析時,就可以高效地做選擇了。

首先,我們查看現有的數據情況。假如在標籤和訓練數據都沒有的情況下,毫無疑問無監督是最佳選項。但其實對數據瞭解得越充分,模型的建立就會越準確,學習需要的時間就會越短。我們主要應該瞭解數據的以下特性: 特徵值是離散型變量還是連續型變量;特徵值中是否存在缺失的值;何種原因造成缺失值;數據中是否存在異常值;某個特徵發生的頻率如何。

機器學習中,無監督學習比有監督學習有哪些優勢?

圖3 有/無監督選擇方法

其次,數據條件是否可改善?在實際應用中,有些時候即使我們沒有現成的訓練樣本,我們也能夠憑藉自己的雙眼,從待分類的數據中人工標註一些樣本,這樣就可以把條件改善,從而用於有監督學習。當然不得不說,有些數據的表達會非常隱蔽,也就是我們手頭的信息不是抽象的形式,而是具體的一大堆數字,這樣我們很難人工對它們進行分類。舉個例子,在bag - of - words 模型中,我們採用k-means算法進行聚類,從而對數據投影。在這種情況下,我們之所以採用k-means,就是因為我們只有一大堆數據,而且是很高維的,若想通過人工把他們分成50類是十分困難的。想象一下,一個熊孩子把50個1000塊的拼圖混在了一起,你還能夠再把這50000個凌亂的小方塊區分開嗎?所以說遇到這種情況也只能選用無監督學習了。

最後,看樣本是否獨立分佈。對於有訓練樣本的情況,看起來採用有監督總是比採用無監督好。但有監督學習就像是探索懸崖時的一個安全繩,有著一定的指導作用。就像是即使班級裡的第一名,也非常需要標準答案來獲得肯定,對吧?做完題對一下答案,總覺得會更安心一點。但對於非獨立分佈的數據,由於其數據可能存在內在的未知聯繫,因而存在某些偏移量,這個時候假如追求單一的“標準答案”反而會錯失其數據背後隱藏關聯。就像是做數學題,往往還有標準答案以外的其他解法。而在反欺詐的場景中,這些隱藏關聯往往包含著一個未知地欺詐團伙活動。所以在反欺詐領域中無監督機器學習能實現更準確和廣泛的欺詐檢測。


分享到:


相關文章: