目錄
- 一、大數(shù)據(jù)
- 1.1 大數(shù)據(jù)(Big Data)
- 二、數(shù)據(jù)分析、數(shù)據(jù)挖掘和推薦系統(tǒng)
- 2.1 數(shù)據(jù)分析(Data Analysis)
- 2.2 數(shù)據(jù)挖掘(Data Mining)
- 2.3 推薦系統(tǒng)(Recommended System)數(shù)據(jù)挖掘的應(yīng)用之一
- 三、人工智能、機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)
- 3.1 從概念的提出到走向繁榮
- 3.2 人工智能(Artificial Intelligence)為機(jī)器賦予人的智能
- 3.3 機(jī)器學(xué)習(xí)(Machine Learning)一種實現(xiàn)人工智能的方法
- 3.4 神經(jīng)網(wǎng)絡(luò)(Neural network)機(jī)器學(xué)習(xí)中的一個算法模型
- 3.5 深度學(xué)習(xí)(Deep Learning)一種實現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)
- 3.6 深度學(xué)習(xí),給人工智能以璀璨的未來
- 3.7 小結(jié)
- 四、數(shù)學(xué)很差,能學(xué)習(xí)機(jī)器學(xué)習(xí)嗎?
- 五、如何稱為一個數(shù)據(jù)科學(xué)家
- 六、結(jié)語
1.1 大數(shù)據(jù)(Big Data)
眾說紛紜!
個人認(rèn)為,大數(shù)據(jù)中的“大”,不僅僅是涉及數(shù)據(jù)規(guī)模,而且包含“價值“這個層面。其實無非就是大量的信息罷了,但是我們卻能 通過各種手段從這些信息中提取出我們所需要的東西。
二、數(shù)據(jù)分析、數(shù)據(jù)挖掘和推薦系統(tǒng)2.1 數(shù)據(jù)分析(Data Analysis)
啤酒和尿布這個故事在歐美國家也被傳唱,出現(xiàn)的版本還不盡相同。但對此質(zhì)疑的聲音也不少,其中有一位叫Daniel J. Power的教授特此撰文,應(yīng)該是最全面地有理有據(jù)揭開這個故事后面的真相。有興趣的人可以詳細(xì)閱讀英文全文:What is the "true story" about using data mining to identify a relation between sales of beer and diapers? 主旨內(nèi)容如下:
這家連鎖店不是沃爾瑪,而是Osco Drugs,一家主要在美國中西部經(jīng)營的藥房和便利店。 該公司于1992年就著手進(jìn)行數(shù)據(jù)分析項目,算是數(shù)據(jù)分析的先驅(qū)者。當(dāng)時的項目收集了來自25家分店、一千兩百多萬個購物車的信息。
數(shù)據(jù)的確發(fā)現(xiàn):下午5點到7點之間,客戶購買了啤酒和尿片。 便利店管理層的確對此發(fā)現(xiàn)表示興趣。但現(xiàn)實中,并沒有重新設(shè)計商品的擺放,沒有把啤酒和尿布進(jìn)行捆綁銷售。不過,公司保守地對銷售流程進(jìn)行了改造,即在正確的時間放正確數(shù)量的正確商品。
這就是啤酒和尿片的故事真相,所以,這其實并不是數(shù)據(jù)分析的好故事。大家對此故事津津樂道,無外乎希望表達(dá):數(shù)據(jù)分析技術(shù)是商業(yè)決策的好幫手。
數(shù)據(jù)分析:就是對數(shù)據(jù)進(jìn)行分析,得出一些結(jié)論性的內(nèi)容,用于決策。分析什么哪? 根據(jù)分析現(xiàn)狀、分析原因、預(yù)測未來。分析現(xiàn)狀和分析原因,需要結(jié)合業(yè)務(wù)才能解釋清楚。 用的技術(shù)比較簡單,最簡單的數(shù)據(jù)分析工具就是 Excel 和 Python 了。預(yù)測未來指的是分析未來一段時間的銷售額之類的。在預(yù)測未來方面,一般用到數(shù)據(jù)挖掘的技術(shù)了。數(shù)據(jù)分析更多的是指用適當(dāng)?shù)慕y(tǒng)計分析方法對收集來的大量數(shù)據(jù)進(jìn)行分析,提取有用信息和形成結(jié)論而對數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過程。這一過程也是質(zhì)量管理體系的支持過程。在實用中,數(shù)據(jù)分析可幫助人們作出判斷,以便采取適當(dāng)行動。
數(shù)據(jù)分析是以輸入的數(shù)據(jù)為基礎(chǔ),通過先驗的約束,對數(shù)據(jù)進(jìn)行處理,但是不需要對結(jié)果做處理,得到任何結(jié)果都行。例如你需要圖像識別,這個屬于數(shù)據(jù)分析,你要分析人臉,而數(shù)據(jù)通過你的先驗的方法,就是出來個貓臉。你的數(shù)據(jù)分析也沒有問題,你需要的就是默默的承受結(jié)果,并且尊重事實。因此數(shù)據(jù)分析的重點在于數(shù)據(jù)的有效性、真實性和先驗約束的正確性。
簡而言之:數(shù)據(jù)分析是對數(shù)據(jù)的一種操作手段?;蛘咚惴?。目標(biāo)是針對先驗的約束,對數(shù)據(jù)進(jìn)行整理、篩選、加工,由此得到信息。如一份用戶信息表中,某個用戶的年齡超過了200歲,這種數(shù)據(jù)明顯就是用戶惡搞的數(shù)據(jù),我們一般使用數(shù)據(jù)分析的手段把這種臟數(shù)據(jù)剔除掉,而我們不需要關(guān)心處理后的數(shù)據(jù)是什么樣子的,這就是數(shù)據(jù)分析中的一種數(shù)據(jù)預(yù)處理手段。
2.2 數(shù)據(jù)挖掘(Data Mining)
數(shù)據(jù)挖掘:從字面意思上看,是從數(shù)據(jù)中挖掘出有價值的信息。比如,超市通過對一段時間的客戶消費記錄能發(fā)現(xiàn),哪些物品經(jīng)常被顧客一起購買。那么,就可以把這些物品擺放的位置近一些,或者一起促銷。在這里,客戶的消費記錄是“數(shù)據(jù)” ,“挖掘” 出的信息是哪些商品經(jīng)常被一起購買。“價值” 指的是超市可以據(jù)此搞促銷,提高超市的銷售額。挖掘出這些有價值信息的方法就是課程中需要學(xué)習(xí)的。數(shù)據(jù)挖掘關(guān)注的是一些方法如何在商業(yè)中應(yīng)用,并不是純粹的理論和學(xué)術(shù)。數(shù)據(jù)挖掘涉及到很多的算法,源于機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),決策樹,也有基于統(tǒng)計學(xué)習(xí)理論的支持向量機(jī),分類回歸樹,和關(guān)聯(lián)分析的諸多算法,值得慶幸的是 Python 中的 Scikit-learn庫 中提供了以上所有的算法。數(shù)據(jù)挖掘的定義是從海量數(shù)據(jù)中找到有意義的模式或知識。
較于數(shù)據(jù)分析的簡單分析,數(shù)據(jù)挖掘則不同,數(shù)據(jù)挖掘是對信息的價值化的獲取。價值化自然不考慮數(shù)據(jù)本身,而是考慮數(shù)據(jù)是否有價值。由此,一批數(shù)據(jù),你嘗試對它做不同的價值挖掘。評估,則就是數(shù)據(jù)挖掘。此時對比數(shù)據(jù)分析,最大的特點就是,你需要調(diào)整你的不同的先驗約束,再次對數(shù)據(jù)進(jìn)行分析。而先驗的約束已經(jīng)不是針對數(shù)據(jù)來源自身的特點,例如信噪比處理算法。而是你期望得到的一個有價值的內(nèi)容,做先驗的約束。以觀測,數(shù)據(jù)根據(jù)這個約束,是否有正確的反饋。也就是說,數(shù)據(jù)挖掘相比較數(shù)據(jù)分析看重的更是結(jié)果,而不看重過程。
舉個例子說明數(shù)據(jù)分析和數(shù)據(jù)挖掘:你揣著50元去菜市場買菜,對于琳瑯滿目的雞鴨魚豬肉以及各類蔬菜,想葷素搭配,你逐一詢問價格,不斷進(jìn)行統(tǒng)計分析,能各自買到多少肉,多少菜,大概能吃多久,心里得出一組信息,這就是數(shù)據(jù)分析;而關(guān)系到你做出選擇的時候就需要對這些信息進(jìn)行價值評估,根據(jù)自己的偏好,營養(yǎng)價值,科學(xué)的搭配,用餐時間計劃,最有性價比的組合等等,對這些信息進(jìn)行價值化分析,最終確定一個購買方案,這就是數(shù)據(jù)挖掘。需要注意的是:雖然在此做了這樣的比較,但是數(shù)據(jù)分析的數(shù)據(jù)量一般遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)挖掘。
2.3 推薦系統(tǒng)(Recommended System)——數(shù)據(jù)挖掘的應(yīng)用之一
推薦系統(tǒng):首先,需要申明一點的就是推薦系統(tǒng)!=推薦算法。推薦系統(tǒng)是一套完善的推薦機(jī)制,包括前期數(shù)據(jù)的準(zhǔn)備、具體推薦的過程(這個過程可能是一套復(fù)雜的算法模型,也可能是一個簡單的規(guī)則,也可能是多種模型的混合結(jié)果等等)、后期數(shù)據(jù)的預(yù)測、AB測試效果評估等等。
推薦系統(tǒng)在算法模型上大體可以分為基于內(nèi)容的推薦、基于協(xié)同過濾的推薦,如下圖所示:
-
基于內(nèi)容推薦:即通過內(nèi)容本身的屬性,然后計算內(nèi)容的相似性,找到與某物品屬性相似的物品。
-
基于協(xié)同過濾推薦:所謂協(xié)同過濾,即不依賴于物品本身的物品屬性,而是通過其他相關(guān)特征,例如人參與的行為數(shù)據(jù),來達(dá)到推薦物品的目的。關(guān)于協(xié)同過濾,又分為以下幾個類別:
- 基于圖模型協(xié)同,即Graph,也叫社會網(wǎng)絡(luò)圖模型;
- 基于矩陣分解的協(xié)同過濾,即Latent Factor Model(SVD);
- 基于距離的協(xié)同過濾;
- 基于模型的協(xié)同,即ModelCF,其中基于模型的協(xié)同又可以分為以下幾種類型;
- 基于用于的協(xié)同,即UserCF;
- 基于物品的協(xié)同,即ItemCF;
上述講了那么多,早期的推薦系統(tǒng)算法一直想解決的是超市中的長尾效應(yīng)(馬太效應(yīng))。
所謂長尾效應(yīng),在推薦系統(tǒng)中的體現(xiàn)即,部分優(yōu)質(zhì)物品,購買的人數(shù)較多,即與其相關(guān)的的用戶行為軌跡會較多。這樣,在協(xié)同過濾推薦中,由于我們主要的依據(jù)就是我們的歷史行為行為數(shù)據(jù),所以這種物品得到推薦的機(jī)會就越多。這樣,不斷循環(huán)迭代,得到推薦的物品都集中在少數(shù)的一些物品中,而大部分物品是沒有被推薦的機(jī)會的。這就造成了造成長尾現(xiàn)象。
而馬太效應(yīng)的意思是,通俗點說就是,強(qiáng)者愈強(qiáng),弱者愈弱。而長尾的直接體現(xiàn)就是馬太效應(yīng)。通常來講(當(dāng)然也有特殊情況),一個推薦系統(tǒng),如果長時間處于長尾之中,就會造成推薦疲勞,推薦的效果就會下降。所以,很多時候,挖掘長尾是推薦系統(tǒng)不可缺少的部分。即,我們需要把尾巴部分 并且是有價值的部分給適當(dāng)?shù)恼故境鰜?。挖掘長尾的方法很多,其中一種常見的方式就是給熱點物品適當(dāng)?shù)慕禉?quán)。比如物品,我們?yōu)闊狳c物品進(jìn)行權(quán)重下降,這樣在最終推薦的結(jié)果中,非熱點物品得到推薦的機(jī)會就增大,從而適當(dāng)?shù)耐诰蛄碎L尾。
三、人工智能、機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)有人說,人工智能(AI)是未來,人工智能是科幻,人工智能也是我們?nèi)粘I钪械囊徊糠帧_@些評價可以說都是正確的,就看你指的是哪一種人工智能。
今年早些時候,Google DeepMind的AlphaGo打敗了韓國的圍棋大師李世乭九段。在媒體描述DeepMind勝利的時候,將人工智能(AI)、機(jī)器學(xué)習(xí)(machine learning)、神經(jīng)網(wǎng)絡(luò)(neural network)和深度學(xué)習(xí)(deep learning)都用上了。這三者在AlphaGo擊敗李世乭的過程中都起了作用,但它們說的并不是一回事。
今天我們就用最簡單的方法——同心圓,可視化地展現(xiàn)出它們?nèi)叩年P(guān)系和應(yīng)用。
如上圖,人工智能是最早出現(xiàn)的,也是最大、最外側(cè)的同心圓;其次是機(jī)器學(xué)習(xí),稍晚一點;最內(nèi)側(cè),是深度學(xué)習(xí),當(dāng)今人工智能大爆炸的核心驅(qū)動。
五十年代,人工智能曾一度被極為看好。之后,人工智能的一些較小的子集發(fā)展了起來。先是機(jī)器學(xué)習(xí),然后是深度學(xué)習(xí)。深度學(xué)習(xí)又是機(jī)器學(xué)習(xí)的子集。深度學(xué)習(xí)造成了前所未有的巨大的影響。
3.1 從概念的提出到走向繁榮
1956年,幾個計算機(jī)科學(xué)家相聚在達(dá)特茅斯會議(Dartmouth Conferences),提出了“人工智能”的概念。其后,人工智能就一直縈繞于人們的腦海之中,并在科研實驗室中慢慢孵化。之后的幾十年,人工智能一直在兩極反轉(zhuǎn),或被稱作人類文明耀眼未來的預(yù)言;或者被當(dāng)成技術(shù)瘋子的狂想扔到垃圾堆里。坦白說,直到2012年之前,這兩種聲音還在同時存在。
過去幾年,尤其是2015年以來,人工智能開始大爆發(fā)。很大一部分是由于GPU的廣泛應(yīng)用,使得并行計算變得更快、更便宜、更有效。當(dāng)然,無限拓展的存儲能力和驟然爆發(fā)的數(shù)據(jù)洪流(大數(shù)據(jù))的組合拳,也使得圖像數(shù)據(jù)、文本數(shù)據(jù)、交易數(shù)據(jù)、映射數(shù)據(jù)全面海量爆發(fā)。
讓我們慢慢梳理一下計算機(jī)科學(xué)家們是如何將人工智能從最早的一點點苗頭,發(fā)展到能夠支撐那些每天被數(shù)億用戶使用的應(yīng)用的。
3.2 人工智能(Artificial Intelligence)——為機(jī)器賦予人的智能
人工智能:縮寫是 AI,就是像人一樣的智能、會思考。人工智能更適合理解為一個產(chǎn)業(yè),泛指產(chǎn)生更加智能的軟件和硬件。人工智能實現(xiàn)的方法就是機(jī)器學(xué)習(xí),所以談人工智能技術(shù),實際上就是機(jī)器學(xué)習(xí)的各種算法的應(yīng)用。各種智能家居、智能機(jī)器人都是人工智能產(chǎn)業(yè)的方向。
早在1956年夏天那次會議,人工智能的先驅(qū)們就夢想著用當(dāng)時剛剛出現(xiàn)的計算機(jī)來構(gòu)造復(fù)雜的、擁有與人類智慧同樣本質(zhì)特性的機(jī)器。這就是我們現(xiàn)在所說的“強(qiáng)人工智能”(General AI)。這個無所不能的機(jī)器,它有著我們所有的感知(甚至比人更多),我們所有的理性,可以像我們一樣思考。
人們在電影里也總是看到這樣的機(jī)器:友好的,像星球大戰(zhàn)中的C-3PO;邪惡的,如終結(jié)者。強(qiáng)人工智能現(xiàn)在還只存在于電影和科幻小說中,原因不難理解,我們還沒法實現(xiàn)它們,至少目前還不行。
我們目前能實現(xiàn)的,一般被稱為“弱人工智能”(Narrow AI)。弱人工智能是能夠與人一樣,甚至比人更好地執(zhí)行特定任務(wù)的技術(shù)。例如,Pinterest上的圖像分類;或者Facebook的人臉識別。
這些是弱人工智能在實踐中的例子。這些技術(shù)實現(xiàn)的是人類智能的一些具體的局部。但它們是如何實現(xiàn)的?這種智能是從何而來?這就帶我們來到同心圓的里面一層,機(jī)器學(xué)習(xí)。
3.3 機(jī)器學(xué)習(xí)(Machine Learning)—— 一種實現(xiàn)人工智能的方法
機(jī)器學(xué)習(xí):是研究如何讓計算機(jī)去學(xué)習(xí)。學(xué)習(xí)什么哪? 根據(jù)一些過去的事實,學(xué)習(xí)如何適應(yīng)新的環(huán)境。太小白了,嚴(yán)肅點! 機(jī)器學(xué)習(xí),是研究算法的學(xué)科,研究的是如何讓計算機(jī)根據(jù)以往的經(jīng)驗去適應(yīng)新的環(huán)境。這里“以往的經(jīng)驗” 指的是歷史數(shù)據(jù),“適應(yīng)” 指的是通過歷史數(shù)據(jù)創(chuàng)造一個很牛逼的函數(shù),“新的環(huán)境” 指的是把新的數(shù)據(jù)輸入到這個函數(shù)中,產(chǎn)生一個新的輸出。機(jī)器學(xué)習(xí)本質(zhì)上是研究自學(xué)習(xí)算法的科學(xué),這些算法是幫助軟件和機(jī)器進(jìn)行自我學(xué)習(xí)解決問題的算法。
機(jī)器學(xué)習(xí)最基本的做法,是使用算法來解析數(shù)據(jù)、從中學(xué)習(xí),然后對真實世界中的事件做出決策和預(yù)測。與傳統(tǒng)的為解決特定任務(wù)、硬編碼的軟件程序不同,機(jī)器學(xué)習(xí)是用大量的數(shù)據(jù)來“訓(xùn)練”,通過各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。
機(jī)器學(xué)習(xí)直接來源于早期的人工智能領(lǐng)域。傳統(tǒng)算法包括決策樹學(xué)習(xí)、推導(dǎo)邏輯規(guī)劃、聚類、分類、回歸、強(qiáng)化學(xué)習(xí)和貝葉斯網(wǎng)絡(luò)等等(當(dāng)然還有很多)。眾所周知,我們還沒有實現(xiàn)強(qiáng)人工智能。早期機(jī)器學(xué)習(xí)方法甚至都無法實現(xiàn)弱人工智能。
機(jī)器學(xué)習(xí)最成功的應(yīng)用領(lǐng)域是計算機(jī)視覺,雖然也還是需要大量的手工編碼來完成工作。人們需要手工編寫分類器、邊緣檢測濾波器,以便讓程序能識別物體從哪里開始,到哪里結(jié)束;寫形狀檢測程序來判斷檢測對象是不是有八條邊;寫分類器來識別字母“ST-O-P”。使用以上這些手工編寫的分類器,人們總算可以開發(fā)算法來感知圖像,判斷圖像是不是一個停止標(biāo)志牌。
這個結(jié)果還算不錯,但并不是那種能讓人為之一振的成功。特別是遇到云霧天,標(biāo)志牌變得不是那么清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是為什么前一段時間,計算機(jī)視覺的性能一直無法接近到人的能力。它太僵化,太容易受環(huán)境條件的干擾。
隨著時間的推進(jìn),學(xué)習(xí)算法的發(fā)展改變了一切。
3.4 神經(jīng)網(wǎng)絡(luò)(Neural network)——機(jī)器學(xué)習(xí)中的一個算法模型
神經(jīng)網(wǎng)絡(luò):是機(jī)器學(xué)習(xí)中的一個算法模型,指的是模擬人的神經(jīng)系統(tǒng)。大家知道,人的神經(jīng)非常復(fù)雜,所以神經(jīng)網(wǎng)絡(luò)算法需要的計算量很大。神經(jīng)網(wǎng)絡(luò)在以前一直不溫不火,原因是計算機(jī)硬件不足以支撐神經(jīng)網(wǎng)絡(luò)的計算量?,F(xiàn)在大數(shù)據(jù)技術(shù)的發(fā)展,讓神經(jīng)網(wǎng)絡(luò)迎來了春天。比如人臉識別、交通領(lǐng)域的車牌識別技術(shù)都是神經(jīng)網(wǎng)絡(luò)的應(yīng)用。
3.5 深度學(xué)習(xí)(Deep Learning)——一種實現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)
深度學(xué)習(xí):屬于神經(jīng)網(wǎng)絡(luò)的一個發(fā)展分支,指的是層數(shù)很多的神經(jīng)網(wǎng)絡(luò),可以簡單理解為更加高級的神經(jīng)網(wǎng)絡(luò)。把神經(jīng)網(wǎng)絡(luò)比作數(shù)學(xué)學(xué)科,深度學(xué)習(xí)類似于高等數(shù)學(xué)。無人駕駛汽車屬于深度學(xué)習(xí)的典型應(yīng)用。Python 中,可以使用 TensorFlow2 和 PyTorch庫非常簡單的實現(xiàn)深度學(xué)習(xí)中的各種算法。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)是早期機(jī)器學(xué)習(xí)中的一個重要的算法,歷經(jīng)數(shù)十年風(fēng)風(fēng)雨雨。神經(jīng)網(wǎng)絡(luò)的原理是受我們大腦的生理結(jié)構(gòu)——互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡(luò)具有離散的層、連接和數(shù)據(jù)傳播的方向。
例如,我們可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡(luò)的第一層。在第一層的每一個神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。
每一個神經(jīng)元都為它的輸入分配權(quán)重,這個權(quán)重的正確與否與其執(zhí)行的任務(wù)直接相關(guān)。最終的輸出由這些權(quán)重加總來決定。
我們?nèi)砸酝V梗⊿top)標(biāo)志牌為例。將一個停止標(biāo)志牌圖像的所有元素都打碎,然后用神經(jīng)元進(jìn)行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標(biāo)志的典型尺寸和靜止不動運動特性等等。神經(jīng)網(wǎng)絡(luò)的任務(wù)就是給出結(jié)論,它到底是不是一個停止標(biāo)志牌。神經(jīng)網(wǎng)絡(luò)會根據(jù)所有權(quán)重,給出一個經(jīng)過深思熟慮的猜測——“概率向量”。
這個例子里,系統(tǒng)可能會給出這樣的結(jié)果:86%可能是一個停止標(biāo)志牌;7%的可能是一個限速標(biāo)志牌;5%的可能是一個風(fēng)箏掛在樹上等等。然后網(wǎng)絡(luò)結(jié)構(gòu)告知神經(jīng)網(wǎng)絡(luò),它的結(jié)論是否正確。
即使是這個例子,也算是比較超前了。直到前不久,神經(jīng)網(wǎng)絡(luò)也還是為人工智能圈所淡忘。其實在人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡(luò)就已經(jīng)存在了,但神經(jīng)網(wǎng)絡(luò)對于“智能”的貢獻(xiàn)微乎其微。主要問題是,即使是最基本的神經(jīng)網(wǎng)絡(luò),也需要大量的運算。神經(jīng)網(wǎng)絡(luò)算法的運算需求難以得到滿足。
不過,還是有一些虔誠的研究團(tuán)隊,以多倫多大學(xué)的Geoffrey Hinton為代表,堅持研究,實現(xiàn)了以超算為目標(biāo)的并行算法的運行與概念證明。但也直到GPU得到廣泛應(yīng)用,這些努力才見到成效。
我們回過頭來看這個停止標(biāo)志識別的例子。神經(jīng)網(wǎng)絡(luò)是調(diào)制、訓(xùn)練出來的,時不時還是很容易出錯的。它最需要的,就是訓(xùn)練。需要成百上千甚至幾百萬張圖像來訓(xùn)練,直到神經(jīng)元的輸入的權(quán)值都被調(diào)制得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結(jié)果。
只有這個時候,我們才可以說神經(jīng)網(wǎng)絡(luò)成功地自學(xué)習(xí)到一個停止標(biāo)志的樣子;或者在Facebook的應(yīng)用里,神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)了你媽媽的臉;又或者是2012年吳恩達(dá)(Andrew Ng)教授在Google實現(xiàn)了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到貓的樣子等等。
吳教授的突破在于,把這些神經(jīng)網(wǎng)絡(luò)從基礎(chǔ)上顯著地增大了。層數(shù)非常多,神經(jīng)元也非常多,然后給系統(tǒng)輸入海量的數(shù)據(jù),來訓(xùn)練網(wǎng)絡(luò)。在吳教授這里,數(shù)據(jù)是一千萬YouTube視頻中的圖像。吳教授為深度學(xué)習(xí)(deep learning)加入了“深度”(deep)。這里的“深度”就是說神經(jīng)網(wǎng)絡(luò)中眾多的層。
現(xiàn)在,經(jīng)過深度學(xué)習(xí)訓(xùn)練的圖像識別,在一些場景中甚至可以比人做得更好:從識別貓,到辨別血液中癌癥的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學(xué)會了如何下圍棋,然后與它自己下棋訓(xùn)練。它訓(xùn)練自己神經(jīng)網(wǎng)絡(luò)的方法,就是不斷地與自己下棋,反復(fù)地下,永不停歇。
3.6 深度學(xué)習(xí),給人工智能以璀璨的未來
深度學(xué)習(xí)使得機(jī)器學(xué)習(xí)能夠?qū)崿F(xiàn)眾多的應(yīng)用,并拓展了人工智能的領(lǐng)域范圍。深度學(xué)習(xí)摧枯拉朽般地實現(xiàn)了各種任務(wù),使得似乎所有的機(jī)器輔助功能都變?yōu)榭赡?。無人駕駛汽車,預(yù)防性醫(yī)療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現(xiàn)。
人工智能就在現(xiàn)在,就在明天。有了深度學(xué)習(xí),人工智能甚至可以達(dá)到我們暢想的科幻小說一般。你的C-3PO我拿走了,你有你的終結(jié)者就好了。
3.7 小結(jié)
綜上,人工智能就是一個產(chǎn)業(yè),人工智能的實現(xiàn)手段主要靠機(jī)器學(xué)習(xí)的各種算法。在機(jī)器學(xué)習(xí)的算法中,深度學(xué)習(xí)是一個智能化程度非常高的算法?,F(xiàn)在云計算和大數(shù)據(jù)技術(shù)的發(fā)展,讓神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)得以在實際中應(yīng)用。
大數(shù)據(jù)時代,數(shù)據(jù)是企業(yè)的最值錢的財富,但海量的數(shù)據(jù)并非都是有價值的,如何挖掘出有用的數(shù)據(jù)變成商業(yè)價值,就需要機(jī)器學(xué)習(xí)算法。大數(shù)據(jù)和機(jī)器學(xué)習(xí)勢必顛覆傳統(tǒng)行業(yè)的運營方式,必將驅(qū)動公司業(yè)務(wù)的發(fā)展。目前,越來越多的機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘/深度學(xué)習(xí)算法被應(yīng)用在電商、搜索、金融、游戲,醫(yī)療等領(lǐng)域中的分析、挖掘、推薦上。
但懂機(jī)器學(xué)習(xí)算法的人才卻少之又少,物以稀為貴,致使這個行業(yè)的工資奇高。
四、數(shù)學(xué)很差,能學(xué)習(xí)機(jī)器學(xué)習(xí)嗎?機(jī)器學(xué)習(xí)中的各種算法,都是一個個的數(shù)學(xué)算式。不會高等數(shù)學(xué)、概率統(tǒng)計、凸優(yōu)化等知識,就不能搞透各個數(shù)學(xué)算式。如果想明白這些算式的來龍去脈,以及如何推導(dǎo)出來的,沒有前面的數(shù)學(xué)知識做鋪墊是絕對不可能的。
但是,包括很多公司里需要招聘員工,培養(yǎng)的是工程師,不是科學(xué)家。我們要學(xué)習(xí)的如何使用這些算式,知道算式中的變量是從哪里來的,如何傳入,以及變量的變化會對結(jié)果有什么樣的影響。這些算式已經(jīng)有各種 python 庫可以調(diào)用了,并不需要我們?nèi)憽?/p>
除非是算法方向側(cè)著為主的公司。打個比方吧,公司是駕校,培養(yǎng)的是司機(jī)。作為司機(jī)不需要了解汽車的內(nèi)部結(jié)構(gòu)。雖然了解汽車的內(nèi)部結(jié)構(gòu)對于成為一名優(yōu)秀的司機(jī)是非常有好處的。但是市場上需要的是大量的司機(jī),而不是 4S 點的維修工。
所以,數(shù)學(xué)很差,也可以搞機(jī)器學(xué)習(xí),不必太擔(dān)心。但是,你必須得比別人花更多的努力。
肯定是希望你編程基礎(chǔ)又強(qiáng)、數(shù)學(xué)功底又好啦!
深入機(jī)器學(xué)習(xí)這么久,如果你不是勵志成為圖靈,我發(fā)現(xiàn)學(xué)好機(jī)器學(xué)習(xí)靠的不是數(shù)學(xué)功底、較強(qiáng)的邏輯思維,而是堅韌。
五、如何稱為一個數(shù)據(jù)科學(xué)家什么叫數(shù)據(jù)科學(xué)家?算法工程師和研發(fā)工程師,即搞數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、推薦系統(tǒng)的那群人,都可以稱為數(shù)據(jù)科學(xué)家。
你可以通過學(xué)習(xí)以下東西成為,如果你能看到這里的話,就一定程度表明你很堅韌了。
- 數(shù)學(xué)(基礎(chǔ))
高等數(shù)學(xué)、線性代數(shù)、概率論,進(jìn)階可讀:凸優(yōu)化、離散學(xué)
- 編程語言(基礎(chǔ))
首選:Python!Python!簡單易懂又優(yōu)雅
其他:C++、Java、R
- 算法和模型(理論)
數(shù)據(jù)分析、數(shù)據(jù)挖掘、推薦系統(tǒng)、機(jī)器學(xué)習(xí)、自然語言處理、圖像識別
- 開源庫(工具)
單機(jī):Numpy、Pandas、Matplotlib、Scikit-learn、TensorFlow2、PyTorch
分布式:Spark
- 實操(實踐)
阿里巴巴大數(shù)據(jù)競賽、Kaggle競賽等
六、結(jié)語希望我們都能成為“人生硬核玩家”