大數據究竟應該學(教)什麼?你怕不是想搭一輩子hadoop呦~凸(0^0)凸
最近入職了一家教育會社,本社的業務主要面向高等院校提供完整的互聯網、物聯網人才培養解決方案,服務從人才培養計劃的制定到師資培訓、實驗實訓設計、課本與實驗設備的製作與供應,一直到賽事承辦,可謂是一應俱全。
實際上我們是一家物聯網公司,筆者作為物聯網公司里大數據部門唯一一個演算法工程師,雖然是個應屆生,還是不得不一個人擔起了整個本科大數據人才培養計劃的制定。
牛 逼也吹過了,下面主要說說,筆者查遍各方資料後,所認知的,大數據人的育成方法。
一、定位
選擇適合自己的學習路線。
大數據之道有兩個起點,平台和演算法。平台,主要解決數據存儲與調度的問題,工作中主要的需求是平台的搭建與運維,學這個,好入門,但凡你肯氪時間查文檔,總能搭得起來,也好找工作,很多中型公司,人手不夠,忙,員工沒時間試錯踩坑,就喜歡請個懂行的來造這個火箭。
不過,這條路走到底就不容易了,總不能搭一輩子Hadoop吧?公司項目成熟了,總有一天,Hadoop不夠用了,下到底層優化么?那就又是另一番天地了。
大數據之道的另一起點則是演算法,我現在的舍友是計科畢業的,常言演算法之不易,我之幸。然而他所說的演算法又和我所熱愛的去之甚遠,我只能擺一副姚明的笑臉道「猛練自然強,你上你也行」。
其實我說這話心裡是懷著愧疚的,我不得不承認,數學,還真不是頂著個腦袋就能學會的。
其一,沒有動力,學到了數學建模,數學才普遍地交織於現實,學到了數值分析,才有了算出具體得數的可能。然,有幾個人看得到這邊的風景呢?
其二,不懂方法,不知道怎麼學數學,受了挫折,看不懂定理,便覺得「無此才能,非我之過,不虧,不悔」。其實是學習方法問題,待心情好時單開一文討論。
其三,得過且過,數學是嚴謹的,嗯,emmmm,大多數的數學是嚴謹的。然而嚴謹總是讓人痛苦,若是哪天我被如酷暑般的冷漠,烘晒成了一條尚方寶劍,親愛的你請也不要怪罪我。
演算法之路不好走,聽我的,別來。除非你下定決心翻越數學的高山,做好覺悟陪伴研學的孤獨,備好一事無成之際直面找不到工作的難題。
即便如此,勇敢的你還是決心不凡,那就來罷,我對本科生的要求可是蠻高的噢~
二、求學
先打個編程基礎吧,不會合轍的木匠永遠造不出寶車,實踐是檢驗真理的唯一標準。起碼要把編程學到能做實驗的水平。
總之先來個兒童套餐,數據結構+C語言基礎吧,我的產品應該蘊含創新,那就用python來教數據結構吧,單開一門課教py有點,單薄,把py和數據結構捏在一起教一定不錯。只可惜,市面上沒有高質量的相關課本。
課本先不管了,大不了我自己寫。
因為大數據領域好多工具是Java寫的,那就來個Java面對對象吧,我也不指望學生學完這個能看xxx的原碼,學會給自己new個對象就不錯。
然後,數據的處理,分析,可視化,python道是都能幹,於是決定開門課專門教怎麼用py上的大熊貓處理數據,怎麼用py上的畫板畫圖。
差不多就學這麼多編程吧,下面說說平台課,總之先從Linux基礎使用開始教吧。不行!從裝機開始教。
我上周實在是忍不了win10開機讀盤,每次開機磁碟佔用100%持續三個鐘頭過分了。
於是說裝個ubuntu吧,然後裝了一整個周六,發現,新版本不支持usb2.0?(黑人問號)excuse me??烏班圖你,是不是存心為難我胖虎???
總之開門課從裝機教到。。。我也不知道該教到哪,再說吧。
然後教搭Hadoop?nononono(搖著手指,甩著頭)我們這可是在制定本!科!方案,怎麼能像高職那樣急得猴兒似的,肯定嘚先優哉游哉地磨蹭著學個分散式計算原理啊(#滑稽)
我就掛著VPN去京東上找,有沒有一本書涵蓋整個大數據圈子,只講原理不談運維呢?驚了!真的有,這把我樂的啊,聰明的你若是了解過這個領域就懂我樂啥了,直到兩個月前,你還搜不到任何一本真正有乾貨的大數據課本,我參與過導師的出書小組所以比較了解,組裡人互相掂量一番,沒一個拿得出貨的,大家相視無言,只一個溫柔的微笑,便各自百度了起來(#聳肩#攤手#晃著腦道)。
總之那本書上個月(18年3月)剛出,我的還在路上,看目錄全是乾貨,但願質量過關,不要辜負我的期(fa)望(lg)。
學完分散式原理才能開課教Hadoop等怎麼搭,怎麼用,也別教太多,就搭最基礎的平台,調最簡單的介面,我覺得就夠了,本科生嘛,大家終會踏向不同的明天,何況大數據專業本就是個行業的交通樞紐,同學們沒幾個人會去做大數據平台運維的,就像我網路工程四十號人沒一個去布線一樣。畢竟是四年本科,還是別和高職的同事搶崗位了吧。
當然,學生要是真心想運維,我們就把高職方案那套提供給學生們,只要學生們套幾塊錢證明自己心中有明月即可。嘿嘿~
終於說到數學了,這才是我想說的重點,明天再寫吧!先睡啦。
————————————
幾日後
————————————
emmmmm,說到哪了??
學大數據嘛,離不開學數學。
人嘛,日子若是失去了希望,大概活不下去吧。而學數學的好處是,你永遠望不到數學之巔,抬頭眺望,映入眼帘的永遠是前人的a♂ss,這就使我的心中,總報有隱隱的一絲期待,期待有朝一日我可以踢爆前人的屁股,啊不。。。期待有朝一日,前人留下的理(mo)論(fa),化為只屬於自己的利刃。
書山有路勤為徑,學海無涯苦作舟。不積跬步無以至千里,不積小流無以成江河。一上來就搞機器學習人工智慧未免太難為各位小魔女了,不能好高騖遠,應當腳踏實地,那就從高數開始學吧。萬丈高樓平地起,打好地基是關鍵,所以再學個線代。
- 高數,微積分,是現代數學的基礎工具。機器學習與人工智慧討論的核心是,把現實問題抽象成現有的,可用的數學模型,然後用數學工具求解,需要的數學手段包括:猜測樣本數據大致符合的函數(預測)、快速搜索函數的極值(評估)、用容易計算的函數近似複雜函數(化簡)等。無論哪一種數學工具,數學分析是基礎,數學分析指導學生用數學的筆韻寫作,不學這個基本是看不懂公式的,然而對於工科生,學3個學期的數學分析又顯得太重量級了,就姑且用高數湊合湊合吧。用高數湊合的後果是,後續的自學非常難,看公式和推導十分吃力,如履薄冰。
- 線代,講的是現代數學運算的基礎元素,古典數學用abc來代表壹貳叄,而線性代數幫助我們用矩陣A來代表n行m列個壹貳叄,這使得變數承載更多信息,因此我們可以站在更高的層面上,討論更大規模的問題。
- 概率統計,不了解不多說,至少自然語言方面在用,舉兩個比較重要的模型,貝葉斯網路和馬可夫模型,他們所解決的問題千姿百態,種類繁多,然而仔細分析就會發現,從本質上來說,這些問題往往都是預測問題。概率統計致力於解決問題的不確定性,使預測儘可能地準確。
- 離散數學,不知道幹嘛的,印象太淺記不得了,好像是教的集合基礎、邏輯運算、關係代數、圖論,其它的實在想不起來了。啥都教了點,卻淺嘗輒止,有點像是「數學名詞解析」,意義在於一口氣介紹幾個未來可能遇到的基礎名詞。
- 數值分析,又名計算方法,這其實是一本演算法書,是一門演算法課。主要講怎麼設計演算法,當我站在數值分析的角度看待演算法設計時,我將認為,解決問題所需的最小工作量往往是一個恆定的值,除非理論研究有了新的突破,而計算需要消耗的資源分為兩種:時間與內存,我們可以消耗更多內存,存儲一些中間信息,從而簡化後期計算,實現用內存換效率。簡而言之,數值分析不僅教導我們如何設計高性能的演算法,更教導我們如何在時間與空間中,尋找一個適當的權衡。
- 最優化理論與方法,這門課主要討論如何求得函數到達極值時的自變數。我上面也說過了,機器學習的問題總要被整理成求函數極值的形式,然而求解函數極值會牽帶出一系列新的問題:如何求解?如何減少求解消耗的迭代步數?如何減小計算量?如何控制內存消耗?最優化理論,分「線性」與「非線性」兩種情況,介紹了多種特色鮮明迥異的極值查找演算法。
- 模糊數學,討論如何處理模糊問題,模糊問題和概率事件不同,模糊問題往往是確定的,100%的,只是不同人的評價標準不同,或觀測者掌握的信息量太少無法準確判斷。而概率問題往往是未發生的,不確定的,一旦事情發生,謎底隨之固定,概率問題要麼直接終結,要麼轉變為模糊問題。現代的模糊數學理論還不成熟,學術界看不起這條不嚴謹的分支,工業界道是蠻喜歡這個,因為實際工程中往往充斥著「情報不足難以判斷」的情況,模糊數學模糊了是非的絕對界線,使得工程師可以處理問題的中間狀態。但,模糊數學理論體系尚未成熟,可以用的數學工具極少,工程師往往也是硬著頭皮在用,造勢成分往往大過實際價值。
不過我個人很喜歡模糊數學這門課,就塞進選修吧,嘿嘿~
再塞個機器學習和計算智能進去,就可以畢業了,這倆知乎上介紹蠻多的就不多說了。
至此,我編的本科大數據人才培養方案差不多結束了,相對於傳統計算機專業主要多了三門數學課,相對應用數學專業則是砍了一部分大數據行業不常用的數學工具,嚴謹地說是「砍了我還沒見過有數據相關演算法在用的數學工具」,然後加了計算機知識,相對於數據科學專業,則是加入了分散式原理,介紹現代的大數據解決方式。
希望這套方案能賣得出去吧(:з っ )っ
推薦閱讀:
※鹿豹座平台(1.1-1.7)大數據新聞每周精選
※【大數據】數據可視化之美
※LikeU | big5性格測試結果中給你推薦性格最相似的Ta
※大數據和雲計算
※擁抱20餘家主機廠,彩虹無線提供車聯網全產業鏈服務