盲目崇拜資料,是因為還不曾真正瞭解資料

dicksonjyl560101發表於2019-09-05


導語:這是一幅治療資料崇拜症的良方。

按:我們正處於資料驅動的人工智慧浪潮中,在折服於資料的強大力量的同時,有些同學會對資料望而生畏,盲目崇拜。本文將深入淺出地介紹資料收集、統計、利用的全過程,幫助大家克服「資料崇拜症」。

儘管人腦中儲存的資料還有待進一步開發和探索,但不可否認,我們的感官感覺到的一切都是資料!好記性不如爛筆頭,將這些資料寫下來貌似會更可靠一些,特別是將它們寫入電腦。如果我們將這些筆記組織地很好,我們就可以將它們稱為「資料」(儘管我也看到有人把一些寫得亂七八糟的近乎於塗鴉的檔案也命名為「資料」)。說實話,我不知道為什麼有些人會把資料看做很高大上的東西,對其敬畏有加。

為什麼要盲目崇拜資料呢?

我們需要學會面對資料採取一種平常心的實用主義態度,所以本文旨在幫助初學者瞭解資料背後的秘密,並幫助從業人員向那些有「資料崇拜症」的新人解釋資料的基本知識。

盲目崇拜資料,是因為還不曾真正瞭解資料

感知和感官

在開啟資料之旅時,如果你直接使用從網上購買的資料( ),你很有可能會忘記這些資料是從何而來。在本文中,我將從頭開始向大家展示資料產生的過程,讀者可以在任何時間、任何地點建立自己的資料。

如下圖所示,地板上擺放著我的食物儲藏櫃中常年儲備的「彈藥」。

盲目崇拜資料,是因為還不曾真正瞭解資料 本文作者簡直堪稱酵母醬代言人。圖中有三種尺寸的酵母醬。

實際上,這張圖片本身就是資料——我們將其作為資訊儲存下來,而你的裝置則使用它向你展示豐富的色彩。(如果你想知道,當你可以看到影像的數字矩陣時,影像的儲存形式是怎樣的,請參閱本文作者關於監督學習的簡介:

讓我們來梳理一下我們看到的資訊吧!至於你想要關注什麼、記住什麼資訊,我們有無數種選擇。下圖是我在觀察這張圖片時,所看到的東西。

盲目崇拜資料,是因為還不曾真正瞭解資料

以克為單位的重量並不一定是最值得注意的資訊。我們可以選擇容量、價格、原產國或者其它任何我們關注的資訊作為資料的內容。

如果閉上你的眼睛,你還能記得剛才你看到的每一個細節嗎?是不是記不太清了?這正是我們需要收集資料的重要原因。如果我們能在腦海中完美地記住並且處理它,那就沒有必要收集資料了。網際網路就像是隱居在山洞裡的世外高人,以上帝視角記錄著人類所有產生的資料,並且可以將這些資料完美地呈現出來。

好記性不如爛筆頭

由於人類的記憶就像是一個漏斗,如果我們就像在學校裡修統計學的「原始年代」中一樣將資訊都記錄下來,將會是很有幫助的。是的,朋友們,我們可以把資訊直接記錄在紙上。  

盲目崇拜資料,是因為還不曾真正瞭解資料 就是資料。所以,告訴我為什麼我們要崇拜資料呢?資料往往是為了迎合它的人類作者的喜好而對現實進行的經過「加工」之後的描述。這裡面充滿了微妙的選擇,我們應該記錄物體的乾重還是溼重?如何處理容量的單位?而且,我們還可能在建立資料時犯錯。如果你繼承並使用我的資料,那麼你就不能只相信你所看到的,除非你知道在資料收集的過程中發生了什麼。

記錄在紙上的資料(相較於儲存在我的海馬體重的記憶,或者放在地板上的食物)要好得多,它更加耐用、更可靠。

人類的記憶是一個漏斗。

我們認為進行「記憶革命」是理所應當的,這種革命早在幾千年前就開始了,那時商人需要一種可靠的方式記錄下「誰向誰賣了多少蒲式耳的東西」。不妨體會一下,擁有一個能夠比我們的大腦更好地儲存數字的通用書寫系統是一件多麼棒的事情。當我們記錄資料時,我們可能會對我們已經形成的對於現實世界的充分感知的一種破壞。但是在那之後,我們可以透過完全無損的方式將資料的副本傳遞出來。將資料記錄下來的力量是驚人的!只有很少的思想和記憶會被遺漏。

當我們分析資料時,我們正在訪問別人的記憶。

你會擔心機器智慧超越人腦嗎?現在看來,僅憑紙張也可以做到這一點。要讓你的大腦記住這 27 個小數字並非易事,而如果你將它們記錄在紙上,那就可以長期儲存該資訊。

儘管資料的永續性得到了保證,但使用紙張處理資料會讓人產生很多煩惱。例如,如果我突發奇想,想要把這些數字從大到小重新排列一遍,那該怎麼辦呢?難道我們要祈求魔法的幫助,念出「紙啊!請給我一個更好的排序吧!」這樣的咒語嗎?這太荒謬了。

計算機和魔法咒語

你知道計算機軟體最神奇的地方是什麼嗎?它能讓上面的咒語成為現實!所以,現在讓我們從使用紙張工作進化到使用電腦處理資料。

盲目崇拜資料,是因為還不曾真正瞭解資料

電子表格是計算機初學者們接觸到的第一個資料處理軟體。如果你很早就接觸過電子表格,會因為熟悉而對它們倍感親切。不過,電子表格的功能相當有限,這也是資料分析師更喜歡用 Python 或 R 語言來處理資料的原因。

我覺得電子表格還是弱了一點。與當前流行的資料科學工具相比,它們的功能相當有限。我更喜歡使用 R 和 Python 語言的組合,那麼這次讓我們重點了解一下 R 語言。你可以在你的瀏覽器中使用 Jupyter 開發環境執行下面的步驟( ):

  • (1)點選「with R」(

  • (2)點幾下剪刀圖示,直到所有的內容都被刪除掉;

  • (3)恭喜你,你只需要花 5 秒鐘複製貼上下面的程式碼片段,然後按下「Shift+Enter」來執行它們。

weight <- c(50, 946, 454, 454, 110, 100, 340, 454, 200, 148, 355, 907, 454, 822, 127, 750, 255, 500, 500, 500, 8, 125, 284, 118, 227, 148, 125)

weight <- weight[order(weight, decreasing = TRUE)]

print(weight)

如果你是初學者,你會認為 R 語言中的排序「咒語」並沒有那麼明顯。

然而,「咒語」本身就是這樣,電子表格軟體中的選單也是這樣。你只知道這些是因為你接觸過它們,而不是因為它們本身就是普遍機率。要使用計算機進行工作,你需要向資深「占卜師」們請教這些「魔法咒語/手勢」,然後勤加練習。而「網際網路」則是我最崇敬的「聖人」,它的洞曉世間的一切。

盲目崇拜資料,是因為還不曾真正瞭解資料

在瀏覽器的 Jupyter 開發環境下執行程式碼片段的結果。我在程式碼中加入了一些註釋,用來解釋每一行的作用。

為了加速的你學習「魔法」的程式,不要僅僅複製貼上這些「咒語」,不妨試著對它們進行修改,看看會發生什麼。例如,如果將上面程式碼片段中的「TURE」改成「FALSE」,會發生什麼變化?

你很快就可以得到答案,是不是很神奇!?我非常熱愛程式設計,其中一個原因就是,它是「魔法咒語」和「樂高積木」的混合體。

如果你希望自己能夠成為神奇的「魔術師」,那就學著去寫程式碼吧。

簡單地說,這種程式設計模式就是:在網際網路上查詢如何做某件事,利用你剛剛學到的「魔術咒語」,看看如果你對其進行調整會發生什麼,然後把它們像樂高積木一樣堆在一起,執行你的命令。

資料分析和總結

實際上,就算這 27 個數字被排好了序,對我們也沒有多大的意義!當我們閱讀這一串數字時,我們會忘記剛剛讀過的內容。人類的大腦就是這樣,給定排好序的一百萬個數字的列表,我們最多隻能記住最後幾個數。我們需要一種快速的方法對資料進行排序和總結,這樣我們就會對我們在看的資料有很好的掌握。

這就是資料分析( )的作用!

median(weight)

使用了正確的「咒語」後,我們就可以馬上知道重量的中位數是多少。

盲目崇拜資料,是因為還不曾真正瞭解資料

對電影的品味和我一樣的人就能看懂這張圖( )

這個問題的答案是 248g。誰不喜歡這種馬上就能得到結果的函式呢?!有很多可以用來進行總結的函式可供選擇:min(),max(),mean(),median(),mode(),variance()...不妨把這些函式都試試。你也可以試著使用下面這個神奇的函式,看看會發生什麼:

summary(weight)

順便說一下,這裡得到的東西被稱為統計量。計算統計量會破壞你的原始資料。這不是統計學領域的內容,有興趣的讀者可以觀看下面這個 8 分鐘的學科介紹影片:  

盲目崇拜資料,是因為還不曾真正瞭解資料

繪圖和資料視覺化

本節關注的是透過圖片對資料進行總結。事實證明,一圖勝千言,每個資料點都可以透過一張圖代表,也可以用圖片代表很多的資料點。(在本例中,我們會製作一張只包含 27 個重量資料的圖)。  

盲目崇拜資料,是因為還不曾真正瞭解資料

小費罐可以看作自然形成的條形圖,它的高度越高意味著服務越受歡迎。除了類別是安排好的,直方圖與它幾乎是相同的東西。

如果我們想知道我們資料中的重量是是如何分佈的,例如,是否有更多的項介於 0 到 200g 之間,還是有更多的項介於 600g 到 800g 之間?那麼直方圖是我們的首選。

盲目崇拜資料,是因為還不曾真正瞭解資料

自然界中的「直方圖」

直方圖是總結和顯示我們的示例資料的方法之一。直方圖中的資料塊更高代表這種資料出現的更頻繁。

將條形圖和直方圖看做是人氣比賽。

要想在電子圖表軟體中製作直方圖,「魔法咒語」是點選一長串的不同的選單。而在 R 語言中,這個過程要快得多:

hist(weight)

下面是我們透過這行程式碼得到的結果:

盲目崇拜資料,是因為還不曾真正瞭解資料

這是一個看起來很「醜」的直方圖,但是我已經習慣了生活中美好的事務,而且知道你可以透過幾行 R 語言程式碼讓它變得更漂亮( )。拋開美觀性不談,這張圖可以很好地說明基本的知識。

我們需要關注什麼?

在橫軸上,我們有幾個「桶」。我們預設以 200g 為一個「桶」的寬度,但是我們很快就可以改變這個寬度。在縱軸上的刻度是計數:在資料中,我們有多少次看到重量是在 0g 到 200g 之間?直方圖中顯示的是 11 次。那麼 600g 到 800g 之間有多少次呢?只有 1 次。(食鹽的重量)。

我們可以自己選擇「桶」的寬度,在不對程式碼進行修改的預設情況下,我們得到的是寬度為 200g 的「桶」,但是也許我們也應該改用寬度為 100g 的「桶」。沒問題!訓練中的「魔術師」可以改進我們的「咒語」來發現它是如何起作用的。

hist(weight, col = "salmon2", breaks = seq(0, 1000, 100))

執行結果如下:  

盲目崇拜資料,是因為還不曾真正瞭解資料

現在我們可以清楚地看到,最常見的類別是 100-200 和 400-500。真的有人在乎這個結果嗎?也許並有。但我們只是想告訴大家我們可以這麼做。另一方面,一個真正的資料分析師,應該擅長快速檢視資料,並且掌握尋找有趣的資訊的藝術。如果他們業務精湛( ),那就價值連城了。

什麼是資料分佈?

如果我們繼續使用這 27 條資料( ),我們也可以使用剛才的直方圖來表示人口分佈。

這差不多就是一個資料分佈的樣子:如果你針對整體的人口(所有你關注的資訊, )資料,而不是針對某個示例(你現在恰好擁有的資料)應用「hist()」函式,你得到的直方圖就可以表示資料的分佈。

盲目崇拜資料,是因為還不曾真正瞭解資料

資料分佈可以為你提供關於整體人口統計資料的「人氣比賽」結果。它基本上就是人口直方圖。橫軸:人口資料值。縱軸:相對頻率。

如果我們將人口都看做包裝食品,那麼分佈就會像所有食品重量的直方圖一樣。這種分佈只是我們腦海中的一種理論上的概念——一些包裝食品已經消失在時間的迷霧中了。即使我們想要,我們也不能生成這個資料集,所以我們能做的最好的事情就是使用一個好的樣本來估計它。

何為資料科學?

這個問題的答案眾說紛紜,但我贊成的定義是:「資料科學( )是使資料變得有用的學科」。它的三個子領域包括:

(1)挖掘大量資訊,從而獲得啟發(資料分析,

(2)根據有限的資訊明智地做出決策(資料統計,

(3)使用資料中的模式自動化任務(機器學習/人工智慧,

所有的資料科學都可以歸結為:知識就是力量。

宇宙間充斥著各種各樣的資訊,它們有待於人們發掘並好好利用。雖然我們的大腦在引導我們完成現實任務的方面具有驚人的能力,但它們並不擅長儲存和處理某些非常有用的資訊。

這也就是為什麼我們人類一開始採用泥版文書的方式記錄資料,之後用紙張,再之後用矽晶片來記錄資料。我們開發了迅速檢視資訊的軟體,現在知道如何使用它的人將自己稱作資料科學家或資料分析師。而那些開發出這些工具,並且讓從業者更好、更快地掌握資訊的人,才是真正的幕後英雄。順便說一下,即使是網際網路也是一種分析工具(我們很少這麼想,因為即使是小朋友也能做這種「資料分析」)。

盲目崇拜資料,是因為還不曾真正瞭解資料

升級你的記憶

我們所感知到的一切都會被儲存在某個地方(至少是暫時儲存)。資料並沒有什麼神奇的(除了將它寫下來比用大腦來管理更加可靠)。有些資訊是有用的,有些資訊是誤導性的,其它資訊都沒有太大意義。資料也是如此。

我們都是資料分析師,一直都是。

我們認為我們具有的驚人的生物能力是理所應當的,並且誇大了我們資訊處理能力和機器輔助的各種系統之間的差距。這種不同之處在於永續性、處理速度和規模...但相同的常識規則同時適用於二者。為什麼這些規則在方程的第一個符號出現時就被忽視了呢?  

盲目崇拜資料,是因為還不曾真正瞭解資料

你還在盲目崇拜資料嗎? 

我很高興能夠將資料作為人類科學進步的燃料,但盲目崇拜資料,把它奉為神秘的東西是沒有意義的。我們最好能夠簡單地討論資料,因為從某種意義上說,人人都是資料分析師,一直如此!   雷鋒網 雷鋒網

Via:






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2656083/,如需轉載,請註明出處,否則將追究法律責任。

相關文章