當前位置:
首頁 > 最新 > 關於數據科學的幾點思考

關於數據科學的幾點思考


1前言

通過學習《自然辯證法》課程,確實讓我更進一步地了解學習了哲學,特別是馬克思主義哲學的智慧光輝。關於哲學,我從高中便開始接觸,作為文科生,很有幸在高中階段便接觸了自然辯證法、唯物主義等馬克思主義的世界觀和方法論。而從大學本科就讀經管專業到現在攻讀工程類碩士研究生,我逐漸在從一個文科生向理科生的學習內容、思維方式和技術能力轉變。特別有幸的是,目前在我的導師的教導下,我開始了學習和從事統計學、數據分析等方面內容和工作。以R語言、Python等開源軟體和成熟的演算法模塊為基礎,進行數據分析和挖掘方面的工作。我確實學到的很多的知識,而在此過程之中,我也是更加深刻地理解了學科交叉融合,數學、統計學、計算機知識、商務知識等方面的交叉連接,這也讓我更加深刻的理解了聯繫是普遍的,萬事萬物是聯繫的自然辨證史觀。又比如在機器學習或者說數據建模方面具有哲學高度的指導原則——奧卡姆剃刀定律,真的是從方法論高度體現了「大道至簡」的道理。

在本文中,筆者將選取目前正在學習和實習正在做的數據分析、數據科學方面的相關知識做一個簡短的關於數據科學、機器學習乃至人工智慧方面的簡要介紹。下文將主要從數據分析發展概況、知識內容、應用現狀、發展趨勢和個人理解等方面展開。

筆者在本文中將盡量使用數據科學、數據分析、統計學等術語,而盡量少使用機器學習和人工智慧等概念,以避免有故意蹭熱度之嫌疑。畢竟,現在一提機器學習、人工智慧,真的是無人不知、無人不曉了,就如同在一提人工智慧大家都知道南大的周志華教授的《機器學習》西瓜書一樣,再比如關於人工智慧元年究竟是哪一年的爭論,有人說是2015年,也有人所說是2016年、2017年乃至2018年,關鍵這些爭論的人士中很多都還是學者或者業界大佬,但從我個人的理解和感受來看,這些爭論真的是好沒有意義、有的很多提法甚至都很搞笑,比如現在大火的人工神經網路、深度學習等知識體系,其實在20世紀80年代便已經形成了完整的知識架構和體系,只是說以前一直在學術圈存在,而現在推向了業界或者讓廣大民眾也一直遭受這些概念的轟炸,所以給人一種假象:這些數學模型、技術方法都是最近才發展出來的。

圖1一個簡易的神經網路回歸模型[1]

真的要追究數據科學、機器學習和人工智慧等學科知識內容的發展,那應該從人類的老祖宗開始結繩記事、發明數字、文字乃至後來的16世紀和17世紀艾薩克-牛頓和萊布尼茨等人發明了微積分、泰勒發明泰勒級數、17世紀的費馬和笛卡爾發明了線性代數、再到高爾頓、皮而森等人在已有的豐富數學理論基礎上發展的統計學和概率論知識等一連串的數學發展史講起[1]。當然不得不提及19世紀法拉第發現電磁感應和愛迪生髮明電燈泡再到世界上第一台通用電子計算機埃尼阿克誕生、二極體發明、集成電路發展乃至後來微機的普及和高性能計算設備的發展等歷史。

若看到這裡,讀者或許感覺到我上文談論的不是機器學習或者人工智慧啊,也不是數據科學啊,都是關於數學發展史和計算機發展歷史啊。是的,您沒有看錯,我也沒有寫錯,從廣義上來講,數學不就是探索數字之間、萬事萬物之間規律的工具么?而計算機不就是代替人們以往的手工驗算來進行數學、數字分析的計算工具么?所以說,數據分析、數據科學、機器學習、人工智慧等火熱的名詞背後的知識和架構並不是最近幾年、十幾年和幾十年突然冒出來的,而是經過了人類幾百年認識世界、探索規律、數學和物理等知識學科發展下便一直在積累和進化發展的[2]。

所以,機器學習、數據科學等技術或者學科知識經歷了一個長期積澱的過程,只能說最近的幾年突然廣受關注了,而追究為何數據科學技術為何直到最近才火熱發展起來,那就不得不提及大數據了,也就是說,在電子計算機技術、人類政治、經濟、社會、文化等多個領域都在以前所未有的廣度和深度使用者各種電子計算機、感測器等設施設備,這使得大量的行為信息和數據都以電子化的媒介保存和存儲了下來,而存儲設備如超大容量的存貯工作站、磁碟媒介、乃至現在流行的分散式雲存儲技術,使得大規模數據長期保存並且不丟失成為可能。與此同時,新材料、電子器件、高性能晶元的發明創造使得高速計算機更迭速度加快,分散式計算技術讓計算變得充足且廉價[3]。所以以往在理論上行得通但是現實引用受阻的數據分析方法,如深度學習等,現在變得可以真正運用於真實場景的應用了。上述這些相關的發展變化數據科學在政治、經濟、文化、科研等人類生活的各個領域迸發出強大的生命力和價值,所以現在可以誇張的地說,全民都在學習數據相關的知識。


在此部分,筆者想談一下若要想從事數據分析工作、學習機器學習相關知識乃至未來涉足人工智慧領域,那麼究竟具備哪些知識和能力呢?

圖2數據科學所處領域[1]

圖2以韋恩圖的形式展示了數據科學所處的領域,或許讀者你會驚訝:原來我所從事的工作便是數據科學啊,因為我看到自己所從事的工作與數據科學部分有交叉。沒錯,其實我們每個人的工作從廣義上來講都可以說都是在從事數據科學工作,只要你與數字打交道。但是從更加嚴格的定義來講,數據科學當然是與數學、統計學、計算機技術最緊密相關了,當然,數據科學工作的最終目的是為了服務於實際的業務,所以也需要懂一定的業務知識。

正如筆者,我目前是就讀於南京大學工程管理學院物流工程專業的碩士研究生,本科學的是物流管理、現在是物流工程,我算是一直在和物流「糾纏不清」,所以我很想談一下我從學習物流學科到後來經歷真正意義的數據科學知識、工具到目前在數據業務部門實習,自己的對於數據科學知識的感知體會吧。

首先,我想說的是,若一個人沒有學習過微積分、線性代數、概率論數理統計等知識而自稱是數據科學專家,那麼就請當心了:他很可能是騙子!是的,我沒有說錯,你也沒有聽錯。因為無論是開始的數據預處理、數據描述性統計到後來的數據探索、數據建模,都始終貫穿著以數學上述學科的強大系統豐富的知識作為基礎。我列舉一個非常簡單的例子吧。

(1)

(2)

圖3 Sigmoid函數圖像

上文中的(1)式是Sigmoid函數,這算是一個功能強大的函數,無論是在邏輯回歸這樣的簡單機器學習和數據分析演算法中,還是在神經網路、深度學習等數據分析模型中,(1)式都是一個神奇班的存在,(2)式便是根據(1)式構造出來了邏輯回歸的目標函數,求解目標是求解(2)式的最大值,為了達到求得最大值的目標,我們需要的數學知識有微積分的多元偏導知識、複合函數求導知識、矩陣求導概念、概率中的極大似然估計原理、數學領域中最優化理論的梯度、範數、梯度下降法等知識,通過綜合運用上述知識,才能首先從數學理論上求得最優解。由此可見,數學知識是數據科學的基礎中的基礎。

其次,我想說的是,數據科學工作一定要懂得使用工具,而數據分析的工具實在太多太多,而且更迭換代非常快。在此我便不一一列舉了,接著上文為求解(2)式這個例子來說明工具的重要性。為了求解(2)式,理論上我們可以用一支筆和無數演算紙來進行手工計算,但這樣的計算時間成本、資金成本太高,而且計算精度也無法保證,計算效率太低。所以我們一定要懂得使用計算機工具了,一般地普通應用層面的數據科學從業者中,最廣受歡迎的工具便是R語言和Python這兩個開源的科學計算平台了。他們二者的優勢主要是:

1、開源

二者都是開源的軟體,所以一般的用戶獲取和使用他們都完全是免費的。這為廣大普通的學生、用戶想了解、應用數據分析工具提供了前所未有的便利;

2、免費且功能強大的模塊、包

R語言和Python都有大量的優秀學者和使用者定期維護、更新和捐獻演算法和代碼。比如R語言有數量豐富、更迭迅速、涉及到各個行業領域、知識範圍的Package(一般翻譯成「包」)。每個包都是一個或者多個數學、演算法或者計算機能力超強的人花費大量精力將應用於特定領域的各種方法封裝成各種函數、數據格式和數據內容,這使得我們一般的使用者便可以直接調用和使用,而無須關心起函數或者數據結構內容的實現原理和方式。這使得我們普通人進入數據分析的門檻大大降低,畢竟演算法的研究開發只是高智商的人才能完成,在應用場景中,如果可以按照封裝好的函數對於數據格式的要求整理好數據,「喂」給函數或者模塊,那麼模塊或者函數便會通過其內部的運算,求得最終的結果。而Python的模塊同樣是免費的,比如tensorflow這個谷歌公司開發並開源推廣的神經網路平台,機器學習演算法相關的強大的Sklearn平台、pandas和numpy等完美的數據結構模塊,都使得我們普通人進行數據科學的實踐具備了強大的工具,我真的很佩服感謝這些大佬們開發並無償提供給像我這樣的普通人這麼多優秀的工具。

3、強大的社區功能

R語言和Python這些分析工具在世界範圍內、在理論界、業界都得到了廣泛的應用,所以,若一個新手在使用過程中遇到了bug,那麼肯定有99.99%的可能性這個問題其他人先前也遇到過,並且存在眾多的解決方案,所以,藉助Google和Baidu便很容易找到解決問題的方法,而更流行性的StackOverflow社區,更是提供給了大家無限搜索解決編程問題、與大佬對話的機會。

綜上所述,一定的編程能力或者所計算機工具使用能力,也是數據科學所必須的。


通過上述介紹分析,讀者一定會認識到,數據科學真的很重要,因為高端的數據科學就是人工智慧了。從客觀來講,數據科學的未來的發展一定會更加光明,各行各業都會更加深入的使用數據科學的相關技術。比如筆者目前在某銀行的大數據產品部,部門職責便是利用海量的真實顧客信息來發展和挖掘真正有潛在商業價值的客戶,客戶的屬性和消費行為總維度已經達到了3000維,所以,數據量之大確實令筆者咋舌,大家是不是感覺自己是曝光在聚光燈之下沒有隱私了?通過實習了解,筆者也確實感覺數據治理、數據安全是大數據時代人類需要面臨的一個挑戰,也是大數據千方百計想獲得更多數據和個人、團體乃至國家隱私機密之間的矛盾。

通過上述部分的簡要介紹,讀者或者可能會問,說了這麼多,那若果我若想成為一名優秀的數據科學從業人員、數據分析人員乃至數據科學家,我究竟應該首先學習哪些知識,從哪裡入手呢?

圖4數據科學家需要具備的技能圖譜

筆者想用圖4來說明,要想成為數據科學家、從事機器學習乃至人工智慧工作,需要學習的知識確實很多。理想的工作、高難度的工作總是需要團隊協作來完成,當今時代已經不是單打獨鬥的時代!但從知識經驗學習積累來看,個人仍然要注意提高自身能力,對於不同的人,我認為需要著手的點不同。如果是高中生,那我建議你趕緊好好學習知識,然後高考考個高分,進入我們南京大學計算機系去追隨周志華大佬的腳步,哈哈。如果是本科生,我建議你一定趕緊重視微積分、線性代數、概率論和數理統計知識、數據結構、最優化理論、計算機原理、運籌學等知識的學習,無論是跟著課程學習還是自學,都要鞏固這些基礎知識。如果是研究生,那當然要在補足本科數學計算機短板之上加強對前沿數據科學、機器學習人工智慧期刊方面的閱讀和實踐了,若是業界人員,我建議自學已經無法適應快速更迭變化的知識和業務需求了,建議招募多學科背景、能力特長相互補充的人員組成數據科學團隊,共同推進數據分析服務業務的工作!


在本文中,筆者現身說法,以自身粗淺地學習數據科學的一點皮毛經歷談了一下個人對於數據科學發展概況、知識基礎、所需技能等方面進行了簡要的總結。筆者認為,「大數據」概念盛行、數據科學火熱、機器學習、AI成為人們街頭巷議的概念的時候,我們要保持清醒的認識和足夠的辨別力,因為只有具備數學計算機等堅實的基礎才能在該領域具備核心競爭力,要提房部分人利用熱潮的概念搞「傳銷」式的資本騙局,要對科技泡沫具有足夠的警惕,避免歷史上出現過的互聯網泡沫在世界科技發展過程中重現。我的文章到此完畢,感謝老師耐心的閱讀。


[1]該神經網路是筆者在做一份數據分析的作業時候用R語言搭建的一個雙隱層的回歸神經網路,從左到右一共4層,第一層是輸入層,第二和第三層是隱層,最後一層(只有一個節點)是輸出層。

[1]Metamarket公司的CEO Mike Driiscoll於2010年提出。

[1]陸汝鈴.(1996).人工智慧(下冊).科學出版社,北京.

[2]周志華.(2007).「機器學習與數據挖掘.」中國計算機學會通訊,3(12):35-44.

[3]Rachel Schutt Cathy O』Neil著.馮凌秉等譯.數據科學實戰(美).人民郵電出版社,北京.


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

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


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

大戶型氣質裝修設計案例,172㎡美式風格混搭很大氣
電影 MOVIE 2018-06 電影推薦

TAG:全球大搜羅 |