無監督學習才不是「不要你管」

2021-02-23 量子位
原作:Justin Gage
虛無之慄 編譯自 Algorithmia
量子位 出品 | 公眾號 QbitAI

如果你的一大坨數據,怎麼辦?

無監督學習是機器學習算法裡非常撲朔迷離的一個類別,負責解決這些「沒有真實值 (no-ground-truth) 」的數據。

本文會講到,無監督學習到底是什麼,和機器學習的其他算法有何本質區別,用的時候有哪些難點,以及推薦閱讀的傳送門。

無監督學習是什麼?

最簡單的理解方式,就是把算法想像成考試。卷子上的每道題對應一個答案,得分高低就要看你的答案和標準答案有多接近。不過,如果沒有答案只有問題,你要怎麼給自己打分?

把這一套東西挪到機器學習上來。傳統的數據集都有標籤 (相當於標答) ,邏輯是「X導致Y」。比如,我們想要知道,推特上粉絲更多的人,是不是收入也更高。那麼,input是粉絲數,output是收入,要試著找出兩組數據之間的關係。

每顆星是一個數據點,機器學習就是要畫出差不多能連起那些點的一條線,以此解釋input和output之間的關係。但在無監督學習裡,並沒有output這個東西

我們要做的是分析input,也就是粉絲數。但沒有收入,或者Y。就像是考試只有題,沒有標答一樣。

其實,也不一定是沒有Y,可能我們只是沒有辦法獲得收入數據。不過這都不要緊,重要的是不需要畫出X和Y之間的那條線了,不需要找它們之間的關係了。

那麼,無監督學習的目標是什麼?如果只有input沒有output,我們到底該怎麼辦?

無監督學習分幾種聚類(Clustering)

任何行業都需要對用戶的理解:他們是誰?是什麼促使他們做出購買的決定?

通常,用戶可以按照某些標準分為幾組。這些標準可簡單如年齡如性別,也可複雜如用戶畫像、如購買流程。無監督學習可以幫我們自動完成這個任務。

聚類算法會跑過我們的數據,然後找出幾個自然聚類 (Natural Clusters) 。以用戶為例,一組可能是30多歲的藝術家,另一組可能是家裡養狗的千萬富翁。我們可以自己選擇聚類的數量,這樣就能調整各個組別的粒度 (Granularity) 。

有以下幾種聚類方法可以選用:

· K-Means聚類,把所有數據點劃分到K個互斥組別裡。複雜之處在於如何選取K的大小

· 層次聚類 (Hierarchical Clustering) ,把所有數據點劃分到一些組別、和它們的子組別裡,形成像族譜一樣的樹狀圖。比如,先把用戶按年齡分組,然後把各個組別按照其他標準再細分。

· 概率聚類 (Probabilistic Clustering) ,把所有數據點按照概率來分組。K-Means其實就是它的一種特殊形式,即概率永遠為0或1的情況。所以這種聚類方式,也被親切地稱為「模糊的K-Means」。

這幾種並無本質區別的方法,寫成代碼可能就長這樣——

任何聚類算法的output,都會是所有的數據點、以及它們所對應的組別。這就需要我們自己來判斷,output代表怎樣的含義,或是算法到底發現了什麼。數據科學的魅力即在於,output加上人類的解讀,便會產生價值。

數據壓縮 (Data Compression)

在過去的十年間,設備的計算能力和存儲能力都增強了許多。不過,即便在今天我們依然有理由,讓數據集儘可能小、並儘可能高效。這意味著,只要讓算法去跑一些必要的數據,而不要做過多的訓練。

無監督學習可以用一種名為數據降維 (Dimentionality Reduction) 的方式做到這一點。

數據降維的「」,就是指數據集有多少列。這個方法背後的概念和資訊理論 (Information Theory) 一樣:假設數據集中的許多數據都是冗餘的,所以只要取出一部分,就可以表示整個數據集的情況了。

在實際應用中,我們需要用某種神秘的方式,把數據集裡的某些部分結合到一起,來傳達某些意義。這裡有我們比較常用的兩種降維方式——

· 主成分分析算法 (PCA) ,找出能夠把數據集裡的大多數變化聯繫起來的線性組合
· 奇異值分解 (SVD) ,把數據的矩陣分解成三個小矩陣

這兩種方法,以及另外一些更複雜的降維方式,都用了線性代數的概念,把矩陣分解成容易消化的樣子,便於傳遞信息。

數據降維可以在機器學習算法裡,起到非常重要的作用。以圖像為例,在計算機視覺裡,一幅圖像就是一個巨大的數據集,訓練起來也很費力。而如果可以縮小訓練用的數據集,模型就可以跑得更快了。這也是為什麼,PCA和SVD都圖像預處理時常見的工具。

無監督深度學習

無監督學習,把領地擴張到了神經網絡和深度學習裡,這一點也不奇怪。這個領域還很年輕,不過已經有了自編碼器 (Autoencoder) 這樣的先行者。

自編碼器和數據壓縮算法背後的邏輯差不多,用一個子集來反映原始數據集的特徵。像神經網絡一樣,自編碼器利用權重把input轉換成理想的output。不過在這裡,output和input並不是兩種不同的東西,output只是input的一種更輕便的表示方式。

在計算機視覺中,自編碼器被用在圖像識別算法裡。現在,它也已經把觸角伸向聲音和語音識別等更多的領域。

實戰難點有哪些

除了尋找合適的算法和硬體,這樣常見的問題之外,無監督學習自帶一種神秘的氣質——不知道任務到底完成了沒有

在監督學習裡,我們會定下一套標準,以做出模型調試的決策。精確度 (Precision) 和查全率 (Recall) 這樣的指標會告訴我們,現在的模型有多準確,然後我們可以調整參數來優化模型。分數低,就要繼續調。

可是,無監督學習的數據沒有標籤,我們就很難有理有據地定下那套衡量標準。以聚類為例,怎麼知道K-Means的分類好不好 (比如K值取的合不合適) ?沒有標準了,我們可能就需要有點創造力。

「無監督學習在我這裡管用麼?」是人們經常提出的問題。這裡,具體問題要具體分析。還以用戶分組為例,只有當你的用戶真的和自然聚類相匹配的時候,聚類的方法才有效。

雖然有些風險,但最好的測試方法,可能就是把無監督模型放到現實世界裡,看看會發生什麼——讓有聚類的和沒有聚類的算法做對比,看聚類能不能得出更有效的信息。

當然,研究人員也在嘗試編寫,自帶 (相對) 客觀評判標準的無監督學習算法。那麼,慄子在哪裡?

友好的傳送門:

https://blog.algorithmia.com/introduction-to-unsupervised-learning/

下拉至Reading and Papers,慄子可能要從那裡開始吃。

 祝您消化順暢

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

相關焦點

  • 機器學習實戰-監督學習、無監督學習
    上一篇:機器學習實戰-特徵選擇之遞歸特徵消除最近兩天收到同學的私信,對於算法中的一些監督學習,無監督學習不是很了解,也不知道從何下手,本篇小編就來介紹一下這三者是什麼東西。本文章節1、監督學習2、無監督學習3、兩者的區別4、兩者的使用場景監督學習監督學習,小編有個簡單的理解方式,按照這個順序來理解1、有兩撥人,一撥人是好人,一撥是壞人2、好人的行為特徵有:扶老奶奶過馬路,撿到一分錢交給警察叔叔,當志願者等等3、壞人的行為特徵有:偷東西
  • 無監督學習的魅力
    無監督學習是機器學習算法裡非常撲朔迷離的一個類別,負責解決這些「沒有真實值 (no-ground-truth) 」的數據。本文會講到,無監督學習到底是什麼,和機器學習的其他算法有何本質區別,用的時候有哪些難點,以及推薦閱讀的傳送門。最簡單的理解方式,就是把算法想像成考試。
  • 什麼是無監督學習?
    (此處大量忽略細節)因此,learning家族的整體構造是這樣的:有監督學習(分類,回歸)↕半監督學習(分類,回歸),transductive learning(分類,回歸)↕半監督聚類(有標籤數據的標籤不是確定的,類似於:肯定不是xxx,很可能是yyy)
  • 監督學習/無監督學習/半監督學習
    監督學習:(數據有輸入有輸出),通過已有的一部分數據和輸出數據之間的相應關係,生成一個函數,將輸入映射到合適的輸出,在準確的說有監督學習就是訓練樣本中必須有標籤或者標記;無監督學習:(數據只有輸入),給定的訓練樣本中難以標註類別或者標註成本過高,這類沒有類別標註(未被標記)的訓練集建模模式稱為無監督學習
  • 機器學習算法之有監督學習和無監督學習的區別
    在這篇文章中,我們將探討有監督和無監督學習,這是機器學習算法的兩個主要類別。一、監督學習如果你有關注有關於人工智慧的新聞,你可能已經聽說過AI算法需要很多人工標記的示例。這些故事指的是監督學習,這是機器學習算法中比較流行的類別。監督式機器學習適用於你知道輸入數據結果的情況。假設你要創建一個圖像分類機器學習算法,該算法可以檢測貓,狗和馬的圖像。
  • Yann LeCun:用預測學習替代無監督學習
    Perez、Yann LeCun編譯:王楠、劉小芹【新智元導讀】日前,Facebook AI 實驗室負責人、紐約大學教授 Yann LeCun 受邀在今年的 NIPS 大會發表主旨演講,暢談深度學習最近技術進展。
  • 無監督學習、GAN和強化學習將構建機器學習的未來
    這還不要說很多尚未開發的領域等著我們去發掘。開發並部署機器學習的成本正快速下降。即使是最熱衷於這種技術的懷疑論者,比如馬斯克和霍金,也可以很容易地發現它的用途非常多,並從機器學習身上找到商業價值。根據幾位機器學習、深度學習領域的知名專家,深度神經網絡「表現得極其好」,即便他們可能也搞不清到底為什麼。
  • 託管班既管飯又管學習,真的這麼好嗎?多看這幾點,別去盲目選擇
    ,既管飯又管學習,聽起來是不錯的,但是卻忽略了很多地方,今天小編就和大家一塊來聊一下這個話題:託管班既管飯又管學習,真的這麼好嗎?2.飯菜問題對於託管班來說,一般都是大鍋飯,很多這種託管班只是為了讓孩子吃飽,再與營養方面做得並不是非常到位,因為他們也是為了獲取更大的利益,除此之外對於衛生條件來說也沒有相關機構的管理,對於做飯的人有沒有健康證都是沒有人去監督的,所以為了孩子的健康,作為家長來說,在選擇託管班的時候,一定要選擇正規的,不要去選擇這種無牌無證的
  • 當前最好的詞句嵌入技術概覽:從無監督學習轉向監督、多任務學習
    目前最常用的模型是 word2vec 和 GloVe,它們都是基於分布假設(在相同的上下文中出現的單詞往往具有相似的含義)的無監督學習方法。讓我們快速瀏覽一下目前研究出來的四種嵌入方法吧:從簡單的詞向量平均的基線到無監督/監督學習方法,以及多任務學習方案(如上文所述)。
  • 自步對比學習: 充分挖掘無監督學習樣本
    本文介紹一篇我們發表於NeurIPS-2020的論文《Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID》,該工作提出自步對比學習框架及混合記憶模型,旨在解決無監督及領域自適應表徵學習中數據無法被充分挖掘的問題。
  • 深度 | 當前最好的詞句嵌入技術概覽:從無監督學習轉向監督、多任務學習
    目前最常用的模型是 word2vec 和 GloVe,它們都是基於分布假設(在相同的上下文中出現的單詞往往具有相似的含義)的無監督學習方法。儘管像平均詞嵌入這樣簡單的基線也能夠一直給出很好的實驗結果,但一些新的類似於無監督和監督學習以及多任務學習的方法,在 2017 年底 2018 年初出現在了人們的視野中,並且取得了令人矚目的性能提升。讓我們快速瀏覽一下目前研究出來的四種嵌入方法吧:從簡單的詞向量平均的基線到無監督/監督學習方法,以及多任務學習方案(如上文所述)。
  • 監督學習,非監督學習,半監督學習三者的區別是什麼,舉出一個最有...
    監督(supervised)=標籤(label),是否有監督,就是輸入數據(input)是否有標籤,有標籤則為有監督學習,沒標籤則為無監督學習。至於半監督學習,就是一半(一點點)數據有標籤,一半(極其巨大)數據沒標籤。——簡單一句話答案。
  • 從無監督學習說起:算法模型有哪幾種?
    無監督學習是沒有任何的數據標註,只有數據本身。無監督學習解決的主要是「聚類(Clustering)」問題,那它的算法模型有哪幾種?在上一篇筆記裡我們簡單地學習了監督學習的幾種算法模型,今天就來學習一下無監督學習的基本概念和相應的幾種算法模型。
  • 機器學習-無監督學習
    它可以被認為是(多輸出)線性回歸的無監督版本,我們觀察高維響應y並從從觀測到的高維y中推斷出潛在的低維z,詳見12.1節。降維,特別是主成分分析,已經在許多不同的領域得到了應用。一些例子包括以下內容①在生物學中,通常使用PCA來解釋基因微陣列數據,以解釋這樣一個事實,即每次測量通常是許多基因的結果,這些基因的行為是相互關聯的,因為它們屬於不同的生物學途徑。
  • 【乾貨】監督學習與無監督學習簡介
    當我們希望將輸入映射到輸出時,監督學習通常將其作為分類任務去完成,監督學習中的常用算法包括邏輯回歸,樸素貝葉斯,支持向量機,人工神經網絡和隨機森林。在回歸和分類任務中,目標都是找到輸入數據中的特定關係,以便我們有效地生成正確的輸出數據。
  • Hinton構思下一代神經網絡:屬於無監督對比學習
    Hinton 在此次報告中回顧了神經網絡的發展歷程,並表示下一代神經網絡將屬於無監督對比學習。Hinton 的報告主要內容如下:人工神經網絡最重要的待解難題是:如何像大腦一樣高效執行無監督學習。目前,無監督學習主要有兩類方法。
  • 重磅|伯克利《深度無監督學習》2020春季新課來襲!
    【新智元導讀】OpenAI顧問、伯克利加州分校人工智慧實驗室主任、機器人學習實驗室主任攜其博士生,為大家貢獻一門長達4個月的深度無監督學習課程,該課程是深度無監督學習的優秀課程,涵蓋了許多當前的最新水平,尤其是該課程使用了最新的模型更新研究生級課程。最近因為疫情,缺乏防護且人員密集的學校成為了重災區。
  • 監督學習、非監督學習和強化學習
    機器學習到底是在學習什麼從字面上來看,「機器學習」就是讓機器(電腦)學習一件事情,就像我們一樣,從小到大,我們深受父母、教師或朋友的影響,從而形成了現在的自己。機器學習也一樣,假設電腦是你的孩子,你可以選擇用哪種教育方式去教導它,使它未來能達到你預期的結果。
  • 深度 一篇文章帶你進入無監督學習:從基本概念到四種實現模型(附論文)
    除了基本概念,本文還介紹了無監督學習的四種實現模型:聚類學習、自動編碼器、生成模型、PredNet。前幾日,Culurciello 教授根據最近無監督學習的發展對此篇文章進行了更新與調整,機器之心對此進行了編譯。文中提到的論文可點擊「閱讀原文」下載。
  • 海康威視提出:無監督圖像分類的深度表徵學習
    論文:https://arxiv.org/abs/2006.11480最近因為工作原因,對半監督和無監督論文比較感興趣,今天看到一篇講圖像分類無監督的文章"Unsupervised Image Classification