1. 程式人生 > >大資料12_SparkMLlib監督學習和無監督學習區別

大資料12_SparkMLlib監督學習和無監督學習區別

         那麼,什麼時候應該採用監督學習,什麼時候應該採用非監督學習呢?我也是從一次面試的過程中被問到這個問題以後才開始認真地考慮答案。一種非常簡單的回答就是從定義入手,如果我們在分類的過程中有訓練樣本(training data),則可以考慮用監督學習的方法;如果沒有訓練樣本,則不可能用監督學習的方法。但是事實上,我們在針對一個現實問題進行解答的過程中,即使我們沒有現成的訓練樣本,我們也能夠憑藉自己的雙眼,從待分類的資料中人工標註一些樣本,並把他們作為訓練樣本,這樣的話就可以把條件改善,用監督學習的方法來做。當然不得不說的是有時候資料表達的會非常隱蔽,也就是說我們手頭的資訊不是抽象的形式,而是具體的一大堆數字,這樣我們很難憑藉人本身對它們簡單地進行分類。這個說的好像有點不大明白,舉個例子說就是在bag of words 模型的時候,我們利用k-means的方法聚類從而對資料投影,這時候用k-means就是因為我們當前到手的只有一大堆資料,而且是很高維的,當我們想把他們分為50個類的時候,我們已經無力將每個資料標記說這個數應該是哪個類,那個數又應該是哪個類了。所以說遇到這種情況也只有無監督學習能夠幫助我們了。