陳陟原:數據降維與可視化| AI 研習社第 53 期猿桌會

2020-12-08 雷鋒網

相信大多數人都已經接觸過數據可視化——Excel 隨便畫一張表就是了。眾所周知,二維數據可視化很容易,條形圖、餅狀圖等等,我們在初中就已經學過了。那麼三維數據呢?可能有些接觸到音頻產品的朋友會說瀑布圖,很好。而 N 維數據呢?物理學告訴我們:低維空間只能觀察到高維空間在本維度的投影。既然我們本身的維度無法增加,那麼就只能想辦法把數據的維度降低了。

數據降維的基本原理是將樣本點從輸入空間通過線性或非線性變換映射到一個低維空間,從而獲得一個關於原數據集緊緻的低維表示。它一方面可以解決「維數災難」,緩解「信息豐富、知識貧乏」現狀,降低複雜度;另一方面可以更好地認識和理解數據。

 截止到目前,數據降維的方法很多。我們可以從不同的角度入手進行不同的分類,主要分類方法有:根據數據的特性可以劃分為線性降維和非線性降維;根據是否考慮和利用數據的監督信息可以劃分為無監督降維、有監督降維和半監督降維;根據保持數據的結構可以劃分為全局保持降維、局部保持降維和全局與局部保持一致降維等等。

近日,在雷鋒網 AI 研習社公開課上,澳大利亞國立大學信息技術專業學生陳陟原就分享了數據降維與可視化的相關內容。公開課回放視頻網址:http://www.mooc.ai/open/course/526

陳陟原:澳大利亞國立大學信息技術專業學生。現在在北京大學做國際暑期教學助理。曾加入雷鋒字幕組翻譯過 CS231n 斯坦福李飛飛計算機視覺課程和 CS224n 自然語言處理。

分享主題:數據降維與可視化

分享大綱:

• 高維數據實例&高緯度空間模型

• 維數災難&降維為什麼如此重要

• 常用的線性和非線性降維方法

雷鋒網 AI 研習社將其分享內容整理如下:

我是陳陟原,澳大利亞國立大學信息技術專業,目前方向是高性能計算,現在在北京大學做國際暑期教學助理。曾加入雷鋒字幕組翻譯過 CS231n 斯坦福李飛飛計算機視覺課程和 CS224n 自然語言處理。今天要跟大家分享的是流行學習:數據降維與可視化。

我前段時間去了一次上海,見了一下之前關係很好的學長以及一些澳國立的校友。

在和他們吃飯的時候我們討論了很多工作方面的問題。其中有一個在銀行工作的學長就跟我說起現在 BI 如何如何啊,數據可視化怎樣怎樣啊。

這也是為什麼今天我想跟大家聊聊數據可視化。這裡雖然我已經假設大家都有機器學習背景,但考慮到現在全民機器學習,這裡應該也還有非計算機、數學專業的聽眾,他們沒有足夠的基礎,因此今天的講座不會很深,我只是跟大家淺顯的介紹一下。有什麼問題也歡迎大家課後與我聯繫,也可以在網上找一些更深入的資料。

我在這裡用了網上找的一張圖,題目是大家可能都會比較感興趣的——智慧型手機出貨量。

 

在這張圖當中,橫軸是月份(時間),縱軸就是出貨量。它是一個十分完美的數據可視化例子,這樣的圖相信大家兩分鐘能做一堆。

所以,我想也沒什麼要跟大家分享得了,本次講座到此圓滿結束,感謝大家的參與。希望大家能繼續支持雷鋒,繼續支持 AI 研習社。

--當然,這是不可能的。

子曰:「一個好的講座,應該從視頻開始」。雖然說現在講座已經開始 2 分鐘了,但也不算太晚。

這個視頻其實有五年的歷史了,是當時 IBM 為了宣傳智慧星球製作的,可見他們這種全民機器學習開始的時間有多早。我很希望大家都聽懂了這個視頻,因為我也沒有找到字幕。

該視頻主要介紹了 IBM 的機器學習如何提高這家麵包店的銷量——重點是,數據。

對於麵包店來說,影響銷量的因素有很多。比如說,外面的溫度、溼度、降雨量——僅僅是天氣就已經不止三個維度了,還有堵車情況(出門晚了來不及吃早飯),甚至世界盃的成績都會對它產生影響。所以,我們要畫一張怎麼樣的圖來把這麼多維度的東西都扔進去呢? 

上面這張圖最左邊是零維,點。後面依次為:一維,線;二維,面;三維,體。而最後的這個四維,叫正方……正方什麼來著?反正,它叫什麼不重要,重要的是它是四維的。我不知道有沒有人看過《三體》,它最後一本書中對四維有一些描述。這是個不存在於三維空間的角度,既然不存在,我們也不可能看得到而只能去想像。

大家記住這點就夠了,有人讓你做個麵包店銷量的可視化,你就甩他一臉這種圖,說:你自個兒去想像吧。

說正經的,就為了畫張表就搞一堆機器學習算法?北京六院要不要了解一下?

這裡雖然我已經假設大家都有機器學習背景,但考慮到現在全民機器學習,這裡應該也還有非計算機、數學專業的聽眾,他們沒有足夠的基礎,所以我還是要簡單介紹一下維數災難,想要更深入地學習的同學,也可以進一步在網上搜尋相關資料。

我們知道維數越高精確度越高,比如天氣預報會包括溫度、溼度以及風向、風力、降雨量……至少經驗告訴我們,這樣的天氣預報精度是會更高的。那麼是不是可以進行延展,認為對於所有情況來說,維數都越高越好呢?

首先我們看一下圖,圖上是一堆汪和喵,我們該怎麼把它們分類出來呢?看上去不太好分類。

 

 

那我們稍稍做一下擴展,多加一個維度,圖就有了兩個特徵,即兩個維度。

雖然這樣看起來分類效果也算不錯了,但還可以更好嗎?

那麼再多加一個特徵呢?

 

嗯,完美。雖然可能看上去有些不是很直觀哈。聽我口令,變

嗯,非常不錯,完美的將喵和汪們分開了。

看到上面這張圖,Hmmmm 這似乎有些不對啊。嗯你沒猜錯,過擬合了。我相信大家都知道什麼是過擬合,也都清楚為什麼我們那麼討厭過擬合,這裡不再贅述。

而除此之外,我們還有一個更加令人難受的東西,如果你學過 kNN 的話那你肯定知道——維度災難。

很多算法都基於一個重要的基本假設:任意樣本附近任意小的距離內總能找到一個訓練樣本,即訓練樣本的採樣密度足夠大,也稱為「密採樣」,才能保證分類性。

我們知道,維度增長是指數級的。10x10 的正方形用一百個樣本就能填滿,10x10x10x10 的四維體就需要一萬個。2009 年的 KDD Challenge 就找了 15000 個維度,你有再大的樣本量也是十分稀疏的。

除了上面兩點之外,還有一點極其重要,那麼就是距離。我們知道,在高維空間下不同樣本對之間的距離的差別與我們熟知的三維空間有很大的不同。這裡我們做一個簡單的證明:

在一個 d 維空間當中,超球體的體積是這樣的:  ,超正方體的體積則是這樣的:。當我們有無窮多個維度時,也即 d 趨近於無窮時,超球體與超正方體的體積比會很不幸:

這個故事告訴我們,高維空間當中幾乎所有數據都會遠離中心,兩個關聯很強的數據對之間的距離可能比你想像當中要大很多,在此情況之下,距離函數失去了意義。

所以,我們的目標是—降低維度。

該怎麼降低維度呢?

相信看過《三體》的人都清楚:流形學習。在繼續進行到數據降維的操作之前,這裡我先簡單介紹一下流行。

這張圖上,有一個碗、一個杯子和一個甜甜圈。

 

我們首先引入一個「同胚」的概念。什麼樣的東西是同胚的呢?

通過連續變換(拉伸、彎曲、撕裂或者粘合)之後能變成一樣的兩個或多個物體,這些物體就是同胚的。在這個例子當中,杯子和甜甜圈中間都有一個圈,所以它們是同胚的。

然後我們再引入一個「虧格」的概念,以實的閉曲面為例,虧格 g 就是曲面上洞眼的個數,虧格數相同的物體就是同胚的。在這個例子中,碗的虧格為 0,而杯子和甜甜圈的虧格都為 1,所以杯子和甜甜圈是同胚的。

這裡我們為什麼提到流形呢?它是指我們可以假設這些東西都是隨意變化的。比如說,要把玻璃、塑料碗揉成一個杯子的形狀,也是有困難的。

所以說這跟降維有什麼關係?我們再來看一張圖。

 

這個是地球。而我們都知道一個歐式空間當中的球體,是三維的。

 

這個則是地圖,就是把球體鋪平後的樣子。

所以說,球面是幾維的呢?看這個圖就知道——二維。原本表達我們的位置需要三個變量,這麼一來就只需要兩個了,即我們成功將維度降低為兩個。

所謂流形學習,就是假設在歐式空間當中存在這樣一個流形,它可以把維度降低下來。這裡再提一下,一個 d 維的流形,即任意點處局部同胚於歐氏空間,對於地球上的任意一點,我們在地面看到的都是平的,我們就可以認為它局部同胚於歐式空間,這是一個二維的東西。

接下來,我們正式討論流行學習算法。

首先是線性流行學習算法。這裡我們一共會討論兩種算法:無監督的 PCA,與監督的 LDA。

第一種算法是 PCA,即主成分學習(Principal Component Analysis),它藉助於一個正交變換,將其分量相關的原隨機向量轉化成其分量不相關的新隨機向量,這在代數上表現為將原隨機向量的協方差陣變換成對角形陣,在幾何上表現為將原坐標系變換成新的正交坐標系,使之指向樣本點散布最開的 p 個正交方向,然後對多維變量系統進行降維處理,使之能以一個較高的精度轉換成低維變量系統,再通過構造適當的價值函數,進一步把低維系統轉化成一維系統。

簡單來說,就是通過正交變換將一組可能存在相關性的變量轉換為一組線性不相關的變量,轉換後的這組變量叫主成分。PCA 則是指找出數據裡最主要的方面,用數據裡最主要的方面來代替原始數據。而 PCA 算法則主要從線性的協方差角度去找較好的投影方式。

另外一個常用的算法是 LDA,即線性判別分析(Linear Discriminant Analysis)。和 PCA 不同,LDA 是根據類別的標註關注分類能力。所以說 LDA 降維是直接和類別的個數 k 相關的,也不保證投影到的坐標系是正交的。

假設我們的原始數據是 d 維的,一共有 k 個類別。PCA 可以選擇的維度範圍是 1--d,而 LDA 跟維度關係不大,監督學習主要關註標籤,它可選擇降到的維度範圍是 1--k-1(類別數-1)。這給 LDA 造成了使用方面的限制,比如說類別為 3,那就無法讓它降到 3 維,類比為 10,最多是能讓它降到 9 維。但是在大多數情況下,LDA 的降維效率要比 PCA 稍微高一些。

剛剛講到維數災難的時候,第三點(距離問題)沒有仔細提。

在降維的時候,我們通常通過投影方式降維,然而很多數據在獲取低維度的投影過程中,會丟失很多數據,尤其是距離信息,即原始距離的數據,在降維以後會產生新的變化。比如歐氏空間的原本距離為 10,降維之後,就變成 8 了,而在另一個維數中的數據還可能變成 2 了,這就會導致降維後的結果不夠收斂,因而分類效果也降低——這是由於線性降維的線性原理所導致的。

因此我們就只能通過非線性流形學習來解決這個問題。關於非線性流形學習,我只會簡要介紹 T-SNE(t-distributed Stochastic Neighbor Embedding)算法。

T-SNE 算法將數據點之間的相似度轉換為概率,它通過原始空間和嵌入空間的聯合概率的 Kullback-Leibler(KL)散度來評估可視化效果的好壞,也就是說用有關 KL 散度的函數作為 loss 函數,然後通過梯度下降最小化 loss 函數,最終獲得收斂結果。

簡單來說,就是原始空間中的相似度由高斯聯合概率表示,嵌入空間的相似度由「學生 t 分布」表示。至於為什麼我們願意使用 T-SNE?就是因為它的表現效果特別好——它主要關注數據的局部結構,同時,這也會導致它的時間和空間複雜度都非常高。

接下來,我們對線性降維和非線性降維做一個簡要的對比。

 

上圖為四種算法降維出來的效果。右下角這個 fa,是因子分析(剛剛我們沒有講到),它也是一種線性降維。

從整張對比圖,我們可以看到,線性降維和非線性降維的區別是非常大的,其中,T-SNE 的降維效果要好很多。

一般我們都會先通過線性降維(如 PCA)降一下,降完以後再用 T-SNE,這樣就能平衡一下時間、空間複雜度的消耗以及降維效果。

使用 LDA 降維實際上也是這樣,先使用 PCA 降維,再使用 LDA 降維,因為(我們這裡也可以看到)LDA 的降維效果確實要比 PCA 好一些。

今天的知識點就講到這裡,以後我還會就這個話題與大家展開更加深入的分享,歡迎大家繼續關注。

以上就是本期嘉賓的全部分享內容。更多公開課視頻請到雷鋒網(公眾號:雷鋒網(公眾號:雷鋒網)) AI 研習社社區觀看。關注微信公眾號:AI 研習社(okweiwu),可獲取最新公開課直播時間預告。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 鄒炎炎:語義分析介紹及跨語言信息在語義分析中的應用 | AI 研習社...
    雷鋒網(公眾號:雷鋒網) AI近日,在雷鋒網 AI 研習社公開課上,新加坡科學設計大學在讀博士鄒炎炎就用通俗易懂的語言為大家介紹了 semantic parsing 的概念、背景以及自己在該領域的論文成果,並介紹了關於 output embedding 對於 semantic parsing 的影響。公開課回放視頻網址:http://www.mooc.ai/open/course/544?
  • AR近眼顯示中的光波導| AI 研習社 158期大講堂總結
    AI研習社按:光波導顯示技術是增強現實(AR)領域最具挑戰性、最複雜的難題之一,因其輕薄和外界光線的高穿透特性而被認為是消費級AR眼鏡的必選光學方案,又因其價格高和技術門檻高讓人望而卻步。 回放地址:http://www.mooc.ai/open/course/675?
  • 復旦大學陳俊坤:自然語言處理中的多任務學習 | AI 研習社職播間第...
    其中一個重要的原因是數據規模問題。多任務學習是將多個任務一起學習,充分挖掘多個任務之間的相關性,來提高每個任務的模型準確率,從而可以減少每個任務對訓練數據量的需求。近日,在雷鋒網 AI 研習社公開課上,復旦大學計算機系在讀碩士陳俊坤分享了其所在研究組關於多任務學習在自然語言處理領域的最新工作。
  • 香港中文大學胡梟瑋:用於陰影檢測的 DSC 特徵 | AI研習社64期大...
    來自香港中文大學的胡梟瑋採用了提取 DSC 特徵的方式來解決這個問題,他在近日的 AI 研習社大講堂上向我們分享了具體操作思路。公開課回放地址:http://www.mooc.ai/open/course/523 分享主題:用於陰影檢測的 DSC 特徵分享提綱:
  • 孫啟超:卷積神經網絡在人臉識別技術中的應用 | AI研習社第51期猿...
    近日,在雷鋒網 AI 研習社公開課上,法國蒙彼利埃大學孫啟超就講述了卷積神經網絡的基本原理以及人臉識別技術是如何運行的。公開課回放視頻網址:http://www.mooc.ai/open/course/524孫啟超:法國蒙彼利埃大學 MBA 在讀,CSDN 百萬博客專家。
  • 吳博:目標檢測集成框架在醫學圖像 AI 輔助分析中的應用 | AI 研習...
    近日,在雷鋒網 AI 研習社公開課上,深圳市宜遠智能科技有限公司負責人吳博剖析了目標檢測已有的框架,重點分享如何對目標檢測框架進行改造,以便在醫學圖像分析中產生更好的效果。公開課回放視頻網址:http://www.mooc.ai/open/course/559?
  • 鄭文琛:基於網絡功能模塊的圖特徵學習 | AI 研習社79期大講堂
    AI研習社按:圖是一種常見的數據結構,可以被用於許多不同的預測任務。公開課回放地址:http://www.mooc.ai/open/course/560?微眾 AI 招聘簡介雷鋒網(公眾號:雷鋒網) AI 研習社將其分享內容整理如下:首先,我給大家做一些簡單的介紹,圖是一種常見的數據結構,我們會發現存在很多不一樣的圖結構,尤其是這種異質圖的網絡,比較常見的類型包括職場網絡、社交網絡、學術網絡和電商網絡等等
  • 清華大學王宇龍:如何通過關鍵數據通路去理解網絡行為? | AI研習社...
    AI研習社按:神經網絡長久以來的「黑盒」屬性,導致人們一直無法理解網絡的內部是如何運作的,針對這個困擾已久的問題,學界主要存在三種研究方向:數據歸因模式、特徵解碼模式以及模型理解模式。在近日的 AI 研習社大講堂上,清華大學的王宇龍就從模型理解的角度入手,為我們詳細介紹了如何通過發現網絡中的關鍵數據通路(critical data routing paths, CDRPs),更好地理解網絡。
  • 香港中文大學胡梟瑋:用於陰影檢測的 DSC 特徵 | AI研習社64期大講堂
    雷鋒網AI研習社按:陰影檢測向來是計算機視覺中基礎且富有挑戰性的問題——對於一張輸入圖像,我們通過生成二進位圖像來標記陰影區域,陰影區域的檢測為進一步獲取圖像中的光照情況、物體的形狀與位置,以及攝像機的參數提供了可能。與此同時,陰影的存在也為計算機視覺中進一步理解圖像的算法,例如物體的檢測與跟蹤,帶來了障礙。
  • t-SNE:可視化效果最好的降維算法
    降維 1D,2D和3D數據可以可視化。但是在數據科學領域並不總是能夠處理一個小於或等於3維的數據集,我們肯定會遇到使用高維數據的情況。
  • ...降維&可視化工具 HyperTools 的正確姿勢! | Kaggle 實戰教程
    其中包含兩個例子:用 HyperTools 對蘑菇數據做可視化,以及對全球氣象數據做可視化。示例包含代碼,需要做數據降維可視化的童鞋,這是一篇不錯的 HyperTools 上手教程。全文由雷鋒網(公眾號:雷鋒網)編譯。
  • 在數據科學領域中,你需要多少數學知識?
    譯者:AI研習社(話左)雙語原文連結:How Much Math do you need in Data Science?">Benjamin O. Tayo.提供圖片I.引言如果你有心學習數據科學,那麼你一定會在腦海中想過下面的問題:沒有或者只有很少的數學知識,我能做一個數據科學家嗎?數據科學必需的數學工具有哪些?有很多優秀的包可用於建立預測模型或者數據可視化。
  • 資料|數據挖掘:概念、模型、方法和算法(第2版)/ 國外計算機科學...
    《數據挖掘:概念、模型、方法和算法(第2版)/國外計算機科學經典教材》介紹了通過分析高維數據空間中的海量原始數據來提取用於決策的新信息的尖端技術和方法。《數據挖掘:概念、模型、方法和算法(第2版)/國外計算機科學經典教材》開篇闡述數據挖掘原理,此後在示例的引導下詳細講解起源於統計學、機器學習、神經網絡、模糊邏輯和演化計算等學科的具有代表性的、前沿的挖掘方法和算法。書中還著重描述如何恰當地選擇方法和數據分析軟體併合理地調整參數。每章末尾附有複習題。
  • 資料|利用Python進行數據分析
    ——Fernando Pérez 加州大學伯克利分校 研究科學家, IPython的創始人之一【內容簡介】還在苦苦尋覓用Python控制、處理、整理、分析結構化數據的完整課程?本書含有大量的實踐案例,你將學會如何利用各種Python庫(包括NumPy、pandas、matplotlib以及IPython等)高效地解決各式各樣的數據分析問題。
  • 簡單實用的數據清洗代碼
    本文為 AI 研習社編譯的技術博客,原標題 :The Simple Yet Practical Data Cleaning Codes作者 | Admond Lee翻譯 | 泰絲·路易斯在我的一篇文章中(我的第一份數據科學實習),我曾討論過數據清理有多麼重要,並且這項工作經常在整個數據科學的工作流中佔到40%-70%。這個世界並不完美,數據也是如此。
  • 數據可視化的基本流程
    作者 | 向倩文來源 | 數據產品手記大多數人對數據可視化的第一印象,可能就是各種圖形,比如Excel圖表模塊中的柱狀圖、條形圖、折線圖、餅圖、散點圖等等,就不一一列舉了。以上所述,只是數據可視化的具體體現,但是數據可視化卻不止於此。
  • 2018 公開課盤點企業篇:十家企業帶你看 AI 的實際應用成果及人才...
    研習社又為大家呈上了一系列公開課,AI 研習社的粉絲們也再度與我們相伴走過了一年。而在今年,為了幫廣大學術青年看到技術在企業中的實際應用成果,並同時保持學術性科研職業路徑的可能性,我們增設了「職播間」這個公開課類目,依託於 AI 研習社社群和雷鋒網在 AI 行業的影響力,邀請了數十家中國 AI 企業的工程師、 管理者們來分享自己企業的研發成果、技術追求以及人才招聘需求。
  • 數據科學和機器學習面試問題集錦
    一般來說,這可以歸結為減去每個數據點的均值,再除以其標準差。如果我們不這樣做,那麼一些特徵(那些高量級的)將在成本函數中得到更多的權重(如果一個高量級的特徵變化了1%,那麼這個變化是相當大的,但是對於較小量級的特徵來說,它是相當小的)。數據標準化使得所有特徵的權重相等。  解釋降維,在哪裡會用到以及它的好處?
  • 火幣研習社:A股暴跌金融股拉盤背後套路是什麼?比特幣漲近歷史高位
    火幣研習社認為,今天A股下跌是一個常見的套路,拉金融股,掩護個股出逃,所以個股殺傷力較大。出現這個現象的原因是月末尤其近年底時,企業資金流回籠,所以有這樣的表現。此前火幣研習社提示,「十四五」政策預期較高一些板塊,比如新能源、科技板塊等,在政策的預期下是市場關注度較高的品種;此外,家電、化工等板塊景氣度較強,也或將受到資金的持續關注。
  • 華為AppGallery Connect研習社沙龍:加速應用創新增長,共贏全場景...
    10月29日,華為應用市場AppGallery Connect研習社北京沙龍圓滿收官,重點分享了華為應用市場審核政策、AppGallery Connect分發服務、精細化運營增長服務以及商業推廣商務策略等精彩內容,助力廣大開發者高效運營,快速增長,構建全場景智慧化應用生態。