當前位置:
首頁 > 新聞 > 家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

新智元推薦

來源:人工智慧頭條(公眾號ID:AI_Thinker)

作者: Cassie Kozyrkov、Ben Sturm

譯者:Sally

【新智元導讀】無監督學習是推斷描述「未標記」數據的分布與關係的機器學習任務,沒有直接的方法來評估演算法產生的準確性。無監督學習最常用應用演算法的是聚類和降維。本文通過兩隻貓的故事對無監督學習進行簡單易懂的解釋,並通過對世界美食的探索之旅,開展對無監督學習的實踐教程。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

如果下面幾個概念都覺得有那麼一點熟悉,那麼後面的內容看的時候就不會覺得很難,無監督學習可能還會成為你的新朋友~

  1. 機器學習就是用實例來標記事物

  2. 如果你通過輸入你所尋找的問題的答案(輸入數據及其對應的標籤)來訓練你的系統,你正在進行監督式學習。

  3. 要開始監督學習,你需要知道你想要(給你輸入的數據貼上)什麼標籤。(非監督式學習則不需要。)

  4. 標準術語包括實例(樣本)、特性、標籤、模型和演算法。

什麼是無監督式學習?

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

前言

無監督式學習實際上是一種從數據中挖掘靈感與啟發的模式發現技術。但是聽起來好像在表達「讓孩子們自己學會不要去碰熱烤箱」這樣的事情,其實無監督學習與機器在沒有人監督的情況運行,形成對事物的看法沒有任何關係。

接下來的內容就是為了幫助大家弄清楚到底什麼是無監督機器學習!

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

上面是六個實例,根據你自己喜歡的方式分成兩組。是不是覺得缺了點什麼? 這些照片沒有任何的分類標籤。不過不用擔心,其實我們都很擅長這個任務—— 無監督學習。你可以思考一下,你會如何將這些圖片分成兩組,答案沒有對錯之分哦。

聚類數據

在一個課堂上,Google 的員工給出了一些答案如「坐著或站著」、「能看到木地板或不能看到」、「貓在自拍或貓不是在自拍」等等。讓我們來看一下第一個答案。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

一種將圖像分成兩組的方法:坐vs站。嗯,「坐著」和站著。

無監督式學習的秘密標籤

如果您選擇根據貓是否站著來進行聚類,那麼系統輸出是什麼標籤? 畢竟,機器學習就是標記事物。

如果你認為「坐著還是站著」是標籤的話,這個就是您所用的聚類方法(模型)。其實無監督學習的標籤更無趣:類似於「第一組和第二組」或「A或B」或者「0或1」。它們只是簡單的表示群體成員,沒有其他認為解釋的含義。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

無監督式學習的標籤只是簡單的表示聚類的成員。它們沒有更高的人類解讀的意義,有的只是令人失望的枯燥感。

這一切的完成都是藉助演算法根據相似性來對事物進行分組。相似度的度量是通過選擇演算法來指定的,但是為什麼不嘗試儘可能多的相似度度量呢? 因為你也不知道你在尋找什麼,不過可以把非監督式學習看成是數學中的「物以類聚」。就像羅夏墨跡卡一樣,其實你不用把你看到的內容看的太重。

再來一次

作為這兩隻貓的主人,我難過的是,在將近 50 次的教學中,只有一個人注意到他們應該被分類為「貓1和貓2」。大多數時候答案都是「坐著和站著」或「有無木地板」,有時甚至是「丑貓對漂亮的貓」。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

這是我兩隻貓的照片! 也許現在你已經注意到了,但大多數人都沒有注意到,除非我給他們貼上標籤(監督學習)。如果我一開始就給這些數據貼上了名字標籤,然後讓你給下一張照片分類,我打賭你會發現這個任務很簡單。

學習感悟

想像一下,假如我是一個剛入門學習數據科學的新手,還是剛開始學習非監督式學習,我對自己的兩隻貓感興趣。當我看到這些圖片時,我不會對我的貓視若無睹。

十年之前,不能指望計算機與世界上最好的模式查找器—— 人腦去競爭這類任務。這些對人們來說很容易!可又是為什麼那麼多的 Google 員工看到了這些沒有標籤的照片並沒有得到「貓1與貓2」的答案呢?因為雖然一些東西對我們來說有趣卻並不意味著我們的模式查找器會發現它。即使這個模式查找器非常棒,我也沒有告訴它我要找的到底是什麼。

那為什麼我要期望我的學習演算法能夠實現呢?這又不是魔術!如果我不告訴它正確答案是什麼,那麼得到什麼答案是我不會失望的。我所做的就是查看系統為我計算的聚類,如果我不喜歡這個結果,我就會一遍又一遍地運行另一種無監督式演算法(這個過程就像「觀眾席上的其他人在用其他的方式區分它們」)直到找到我覺得有趣滿意的為止。其實這也不能保證在這個過程中會有靈感啟發的事情發生,但嘗試一下也無妨。畢竟探索未知總是有一點冒險。

總結

無監督式學習通過把具有相似的事物分到一組而幫助你從數據中找到啟發。有許多不同的方法來定義相似度,所以在直到一個很酷的模式吸引你的眼球之前,要持續不斷的嘗試演算法和設置!

無監督學習的實踐:探索世界美食之旅

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

背景

和很多人一樣,我也是超級熱愛美食的人。我很幸運在我的成長過程中,我們家裡都是自己做飯,而我的媽媽負責為我們做出各種美食。因為她是從德國移民來了美國,所以我也接觸過很多美味的德國菜,其中我最喜歡的有雞蛋面, 水煮麵粉球和酸味燉肉。雖然我不能說我繼承了我媽媽的廚藝天賦,但我也非常喜歡喜歡做飯,喜歡和我的家人們分享這個過程。

出於自己對美食的熱愛,我在想如果進行一個涉及世界各地美食的研究項目將會是一件很有趣的事情。我想看看我是否能從中了解到世界各 地不同美食間的關係。為了探索這個主題,我收集了超過12000種不同食譜的數據,這些食譜代表了25種不同的美食。然後,我通過使用自然語言處理技術將文本數據轉換為一種可以輸入機器學習演算法中的格式。最後,我利用主成分分析(PCA)和主題建模來獲得數據的更深層面的理解。

收集數據

在我的項目中數據均來自於 Yummly,我獲得了他們的 API 授權。因此我可以直接從 ipython 上查詢和搜索菜譜。Yummly 支持基於菜肴類型進行搜索,以下是他們所支持的菜肴類型的列表:

美式料理,義大利料理,亞洲美食,墨西哥料理,南部和靈魂料理,法式料理,西南部美食,燒烤,印度料理,中國料理,路易斯安娜州和克里奧爾料理,英國料理,地中海部分美食,希臘美食,西班牙料理,德國美食,泰國美食 ,摩洛哥料理,愛爾蘭美食,日本料理,古巴美食,夏威夷美食,瑞典美食,匈牙利美食,葡萄牙美食。

我下載了25種菜系,每個菜系都有將近500份的食譜,總共下載了將近12500不同的食譜。關於數據收集, 我使用了 Requests 庫進行讀取數據,以及內置JSON 編碼器將數據轉換為 python字典。然後,再將數據轉換成PandasDataFrame, 這個就相對簡單了。如下面顯示,在我的分析中,我只使用了對應於烹飪和配料的列而忽略了其他列。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

所選的Yummly食譜的數據列

文本數據處理和機器學習工作流程

由於數據只包含文本,因此有必要使用自然語言處理技術實現一些預處理步驟。包括的步驟如下:

1.連接某些成分(如:橄欖油、玉米澱粉)

2.將成分分解成單詞列表

3.刪除停止詞和其他經常出現的詞(如鹽、胡椒、水)

4.刪除詞尾的複數形式和其他後綴

5.詞庫處理,創建一個稀疏矩陣,包含成分列表中的所有詞以及它們出現的頻率

用來實現這些步驟的工具包括在sklearn 中找到的 TfidfVectorizer 和 CountVectorizer。其中還有一些步驟,比如連字元和停止字刪除,是我自己編寫的代碼來實現的,可以在 GitHub 上看到相關的代碼。

在項目中我使用了機器學習的無監督演算法,嘗試做 K-Means 聚類,來確定是否可以根據烹飪類型將菜譜組合在一起,但是我發現聚類對我的分析並不是很有幫助,因為不清楚不同的聚類代表了什麼。之後我將注意力集中在主成分分析(PCA)和主題生成模型(LDA)上,更多的結果分析接下來和大家一起討論和分享。

結果分析

為了對數據進行可視化,需要先進行降維操作,從1982維的特徵空間減少到2維,通過PCA 保留前兩個主成分。然後我針對主成分創建了一個散點圖,如下所示。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

包含關於第一個和第二個主成分分析的所有12492份食譜的散點圖

在繪製所有食譜的主成分散點圖的過程中,因為許多數據點是重疊的,所以很難在數據中看到任何結構。然而,通過根據菜肴對食譜進行分組,並沿著兩個主要成分取中間值,我可以在數據中看到一些有趣的結構。如下圖所示。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

在第一和第二主成分上的每一種不同菜系的中心值的圖。(A)組與亞洲菜系相關,(B)組由日本和夏威夷菜系組成,(C)組與(D)組分別是歐美菜系。Group (E)是一種來自世界各地的美食,包括古巴、墨西哥、印度和西班牙。

上面的圖提供了一些關於不同菜肴關係的有趣的深層分析。我們可以觀察到散點圖的中心值往往傾向於類似的美食菜譜類型。例如,圖2中的A組包括中國、泰國和亞洲料理,它們都可以歸類為亞洲食品。B組由日本和夏威夷料理組成。這兩種菜系都非常強調魚,所以它們被緊密地聯繫在一起是有道理的。C組完全由歐洲菜組成,如瑞典菜、法國菜和德國菜,不遠處的D組主要由北美菜組成。這些包括南美美食,烤肉和傳統的美式料理。最後,E組是一個混合了來自世界各地的不同菜系的集合。這包括古巴,墨西哥,印度,西班牙和西南部美食。當我想到這些菜系時,我想到的是大和大膽的味道,所以這些菜系會被緊密地組合在一起,也是完全合理的。

讀者可能會問的一個問題是,哪些特性(成分)與第一和第二主成分的聯繫最為緊密? 這可以在下圖中看到。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

上圖顯示了與第一和第二主要成分聯繫最緊密的成分

這個圖提供另兩個主成分中每一個主要特徵的直觀表示。雞肉、大蒜、洋蔥和西紅柿等原料在成分一的正方向上有很強的聯繫。這些口味與西班牙或印度的菜肴有著緊密的聯繫。另一方面,雞蛋、黃油、麵粉、牛奶和糖在成分一的反方向上有很強的聯繫。這些都是法國或英國菜肴中常見的配料。同樣,大豆、醬油和大米與第二主成分的正方向有著很強的聯繫。這些食材在亞洲菜系中很常見。最後,芝士、檸檬、橄欖油和番茄與成分二的負極有很強的聯繫。這些味道在義大利和希臘菜中很常見。這個圖有助於解讀前一個圖,即為什麼在沿著第一個和第二個主成分繪製散點圖時,某些菜系會聚集在特定的區域。

最後,我還運行了一個主題生成模型來進行主題建模。我很好奇是否能夠根據不同的菜肴來區分不同的食材。我指定主題的數量為 25,因為在我的數據集中共有 25 種不同的菜系。然而,主題生成模型給出的的結果有點混亂。在某些情況下,LDA 給出的主題是特定的菜系,如義大利菜或泰國菜。然而,有些主題卻是不同種類的菜品,如甜點、醬汁,甚至是雞尾酒。雖然這個結果不是我想要的,但回想起來,它還是很有意義的。LDA 是一種機器學習技術,可以識別經常出現在一起的單片語。所以,在超過12000個食譜的語料庫中,菜品的類型(如甜點、湯、沙拉或醬料)可能比菜系的類型會有更強的關聯。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

主題生成模型 LDA 給出的結果

實踐感悟

在探索食譜數據集的過程中我得到了很多樂趣,因為我喜歡將我對食物的熱愛與我學習的新技能結合起來。另外我們還可以根據這種分析提供一個優秀的商業案例,這些信息可以用來為Yummly平台的用戶提供美食建議。例如,一個非常喜歡燒烤的人可能也會很喜歡葡萄牙美食,因為這兩種不同的美食的第一和第二主成分的散點圖中心重疊。類似這樣的關係如果沒有對這些數據進行深入的探索是無法得知的。

但是在這裡我還要另外聲明一件重要的事,在這個項目研究中使用的數據也是存在一定缺點的。例如,Yummly基本上是一個彙集了許多其它菜譜網站或博客的英語網站。因此,這些食譜中很多可能是美國人對其他美食類型的看法。我敢肯定我的義大利朋友們會說,把雞肉和香蒜醬混合在一起的美食「不是義大利菜!」但Yummly還是把這道菜譜標記為了義大利菜。解決這個問題的一個很好的辦法是利用他們的母語食譜,使用一些高級的翻譯演算法將它們翻譯成英語。然而,由於某些成分可能對特定的地理位置具有特定性,也可能也會導致一些其他的問題。例如,某些配料在英語中可能沒有對應的名稱(例如,義大利熏火腿、帕爾瑪乾酪),因此這些配料將永遠與義大利美食聯繫在一起,這可能會減少不同菜系之間的相似點,但我仍然認為這是值得探索的。

參考鏈接:

https://hackernoon.com/unsupervised-learning-demystified-4060eecedeaf

https://towardsdatascience.com/an-examination-of-international-cuisines-through-unsupervised-learning-93c8b56d1ea0

GitHub 地址:

https://github.com/bwsturm/metis_bootcamp/tree/master/Week7/fletcher

原文鏈接:

https://phys.org/news/2018-07-closer-optical-artificial-neural-network.html

本文經授權轉載自微信公眾號:人工智慧頭條(公眾號ID:AI_Thinker)

新智元AI WORLD 2018大會【早鳥票】開售!

新智元將於9月20日在北京國家會議中心舉辦AI WORLD 2018 大會,邀請邁克思·泰格馬克、周志華、陶大程、陳怡然等AI領袖一起關注機器智能與人類命運。

大會官網:

http://www.aiworld2018.com/

即日起到8月19日,新智元限量發售若干早鳥票,點擊閱讀原文購票,與全球AI領袖近距離交流,見證全球人工智慧產業跨越發展。

家裡有兩隻貓給挖坑,還有世界美食的誘惑,我就被無監督學習徹底收服了!

  • 活動行購票鏈接:

    http://www.huodongxing.com/event/6449053775000

  • 活動行購票二維碼:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

英特爾CEO因與下屬有私情突然辭職,CPU巨頭遇轉型之殤
美國立法啟動十年國家量子計劃,前期或投入8億美元

TAG:新智元 |