大數(shù)據(jù)分析和人工智能

大數(shù)據(jù) 人工智能 分析| 2022-09-02 admin

目錄

  • 一、大數(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)一種實(shí)現(xiàn)人工智能的方法
    • 3.4 神經(jīng)網(wǎng)絡(luò)(Neural network)機(jī)器學(xué)習(xí)中的一個(gè)算法模型
    • 3.5 深度學(xué)習(xí)(Deep Learning)一種實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)
    • 3.6 深度學(xué)習(xí),給人工智能以璀璨的未來(lái)
    • 3.7 小結(jié)
  • 四、數(shù)學(xué)很差,能學(xué)習(xí)機(jī)器學(xué)習(xí)嗎?
  • 五、如何稱為一個(gè)數(shù)據(jù)科學(xué)家
  • 六、結(jié)語(yǔ)
一、大數(shù)據(jù)

1.1 大數(shù)據(jù)(Big Data)

眾說(shuō)紛紜!

個(gè)人認(rèn)為,大數(shù)據(jù)中的“大”,不僅僅是涉及數(shù)據(jù)規(guī)模,而且包含“價(jià)值“這個(gè)層面。其實(shí)無(wú)非就是大量的信息罷了,但是我們卻能 通過(guò)各種手段從這些信息中提取出我們所需要的東西。

二、數(shù)據(jù)分析、數(shù)據(jù)挖掘和推薦系統(tǒng)

2.1 數(shù)據(jù)分析(Data Analysis)

啤酒和尿布這個(gè)故事在歐美國(guó)家也被傳唱,出現(xiàn)的版本還不盡相同。但對(duì)此質(zhì)疑的聲音也不少,其中有一位叫Daniel J. Power的教授特此撰文,應(yīng)該是最全面地有理有據(jù)揭開(kāi)這個(gè)故事后面的真相。有興趣的人可以詳細(xì)閱讀英文全文:What is the "true story" about using data mining to identify a relation between sales of beer and diapers? 主旨內(nèi)容如下:

這家連鎖店不是沃爾瑪,而是Osco Drugs,一家主要在美國(guó)中西部經(jīng)營(yíng)的藥房和便利店。 該公司于1992年就著手進(jìn)行數(shù)據(jù)分析項(xiàng)目,算是數(shù)據(jù)分析的先驅(qū)者。當(dāng)時(shí)的項(xiàng)目收集了來(lái)自25家分店、一千兩百多萬(wàn)個(gè)購(gòu)物車的信息。

數(shù)據(jù)的確發(fā)現(xiàn):下午5點(diǎn)到7點(diǎn)之間,客戶購(gòu)買了啤酒和尿片。 便利店管理層的確對(duì)此發(fā)現(xiàn)表示興趣。但現(xiàn)實(shí)中,并沒(méi)有重新設(shè)計(jì)商品的擺放,沒(méi)有把啤酒和尿布進(jìn)行捆綁銷售。不過(guò),公司保守地對(duì)銷售流程進(jìn)行了改造,即在正確的時(shí)間放正確數(shù)量的正確商品。

這就是啤酒和尿片的故事真相,所以,這其實(shí)并不是數(shù)據(jù)分析的好故事。大家對(duì)此故事津津樂(lè)道,無(wú)外乎希望表達(dá):數(shù)據(jù)分析技術(shù)是商業(yè)決策的好幫手。

數(shù)據(jù)分析:就是對(duì)數(shù)據(jù)進(jìn)行分析,得出一些結(jié)論性的內(nèi)容,用于決策。分析什么哪? 根據(jù)分析現(xiàn)狀、分析原因、預(yù)測(cè)未來(lái)。分析現(xiàn)狀和分析原因,需要結(jié)合業(yè)務(wù)才能解釋清楚。 用的技術(shù)比較簡(jiǎn)單,最簡(jiǎn)單的數(shù)據(jù)分析工具就是 Excel 和 Python 了。預(yù)測(cè)未來(lái)指的是分析未來(lái)一段時(shí)間的銷售額之類的。在預(yù)測(cè)未來(lái)方面,一般用到數(shù)據(jù)挖掘的技術(shù)了。數(shù)據(jù)分析更多的是指用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法對(duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行分析,提取有用信息和形成結(jié)論而對(duì)數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過(guò)程。這一過(guò)程也是質(zhì)量管理體系的支持過(guò)程。在實(shí)用中,數(shù)據(jù)分析可幫助人們作出判斷,以便采取適當(dāng)行動(dòng)。

數(shù)據(jù)分析是以輸入的數(shù)據(jù)為基礎(chǔ),通過(guò)先驗(yàn)的約束,對(duì)數(shù)據(jù)進(jìn)行處理,但是不需要對(duì)結(jié)果做處理,得到任何結(jié)果都行。例如你需要圖像識(shí)別,這個(gè)屬于數(shù)據(jù)分析,你要分析人臉,而數(shù)據(jù)通過(guò)你的先驗(yàn)的方法,就是出來(lái)個(gè)貓臉。你的數(shù)據(jù)分析也沒(méi)有問(wèn)題,你需要的就是默默的承受結(jié)果,并且尊重事實(shí)。因此數(shù)據(jù)分析的重點(diǎn)在于數(shù)據(jù)的有效性、真實(shí)性和先驗(yàn)約束的正確性。

簡(jiǎn)而言之:數(shù)據(jù)分析是對(duì)數(shù)據(jù)的一種操作手段。或者算法。目標(biāo)是針對(duì)先驗(yàn)的約束,對(duì)數(shù)據(jù)進(jìn)行整理、篩選、加工,由此得到信息。如一份用戶信息表中,某個(gè)用戶的年齡超過(guò)了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ù)中挖掘出有價(jià)值的信息。比如,超市通過(guò)對(duì)一段時(shí)間的客戶消費(fèi)記錄能發(fā)現(xiàn),哪些物品經(jīng)常被顧客一起購(gòu)買。那么,就可以把這些物品擺放的位置近一些,或者一起促銷。在這里,客戶的消費(fèi)記錄是“數(shù)據(jù)” ,“挖掘” 出的信息是哪些商品經(jīng)常被一起購(gòu)買。“價(jià)值” 指的是超市可以據(jù)此搞促銷,提高超市的銷售額。挖掘出這些有價(jià)值信息的方法就是課程中需要學(xué)習(xí)的。數(shù)據(jù)挖掘關(guān)注的是一些方法如何在商業(yè)中應(yīng)用,并不是純粹的理論和學(xué)術(shù)。數(shù)據(jù)挖掘涉及到很多的算法,源于機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),決策樹(shù),也有基于統(tǒng)計(jì)學(xué)習(xí)理論的支持向量機(jī),分類回歸樹(shù),和關(guān)聯(lián)分析的諸多算法,值得慶幸的是 Python 中的 Scikit-learn庫(kù) 中提供了以上所有的算法。數(shù)據(jù)挖掘的定義是從海量數(shù)據(jù)中找到有意義的模式或知識(shí)。

較于數(shù)據(jù)分析的簡(jiǎn)單分析,數(shù)據(jù)挖掘則不同,數(shù)據(jù)挖掘是對(duì)信息的價(jià)值化的獲取。價(jià)值化自然不考慮數(shù)據(jù)本身,而是考慮數(shù)據(jù)是否有價(jià)值。由此,一批數(shù)據(jù),你嘗試對(duì)它做不同的價(jià)值挖掘。評(píng)估,則就是數(shù)據(jù)挖掘。此時(shí)對(duì)比數(shù)據(jù)分析,最大的特點(diǎn)就是,你需要調(diào)整你的不同的先驗(yàn)約束,再次對(duì)數(shù)據(jù)進(jìn)行分析。而先驗(yàn)的約束已經(jīng)不是針對(duì)數(shù)據(jù)來(lái)源自身的特點(diǎn),例如信噪比處理算法。而是你期望得到的一個(gè)有價(jià)值的內(nèi)容,做先驗(yàn)的約束。以觀測(cè),數(shù)據(jù)根據(jù)這個(gè)約束,是否有正確的反饋。也就是說(shuō),數(shù)據(jù)挖掘相比較數(shù)據(jù)分析看重的更是結(jié)果,而不看重過(guò)程。

舉個(gè)例子說(shuō)明數(shù)據(jù)分析和數(shù)據(jù)挖掘:你揣著50元去菜市場(chǎng)買菜,對(duì)于琳瑯滿目的雞鴨魚(yú)豬肉以及各類蔬菜,想葷素搭配,你逐一詢問(wèn)價(jià)格,不斷進(jìn)行統(tǒng)計(jì)分析,能各自買到多少肉,多少菜,大概能吃多久,心里得出一組信息,這就是數(shù)據(jù)分析;而關(guān)系到你做出選擇的時(shí)候就需要對(duì)這些信息進(jìn)行價(jià)值評(píng)估,根據(jù)自己的偏好,營(yíng)養(yǎng)價(jià)值,科學(xué)的搭配,用餐時(shí)間計(jì)劃,最有性價(jià)比的組合等等,對(duì)這些信息進(jìn)行價(jià)值化分析,最終確定一個(gè)購(gòu)買方案,這就是數(shù)據(jù)挖掘。需要注意的是:雖然在此做了這樣的比較,但是數(shù)據(jù)分析的數(shù)據(jù)量一般遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)挖掘。

2.3 推薦系統(tǒng)(Recommended System)——數(shù)據(jù)挖掘的應(yīng)用之一

推薦系統(tǒng):首先,需要申明一點(diǎn)的就是推薦系統(tǒng)!=推薦算法。推薦系統(tǒng)是一套完善的推薦機(jī)制,包括前期數(shù)據(jù)的準(zhǔn)備、具體推薦的過(guò)程(這個(gè)過(guò)程可能是一套復(fù)雜的算法模型,也可能是一個(gè)簡(jiǎn)單的規(guī)則,也可能是多種模型的混合結(jié)果等等)、后期數(shù)據(jù)的預(yù)測(cè)、AB測(cè)試效果評(píng)估等等。

推薦系統(tǒng)在算法模型上大體可以分為基于內(nèi)容的推薦、基于協(xié)同過(guò)濾的推薦,如下圖所示:

  • 基于內(nèi)容推薦:即通過(guò)內(nèi)容本身的屬性,然后計(jì)算內(nèi)容的相似性,找到與某物品屬性相似的物品。

  • 基于協(xié)同過(guò)濾推薦:所謂協(xié)同過(guò)濾,即不依賴于物品本身的物品屬性,而是通過(guò)其他相關(guān)特征,例如人參與的行為數(shù)據(jù),來(lái)達(dá)到推薦物品的目的。關(guān)于協(xié)同過(guò)濾,又分為以下幾個(gè)類別:

    • 基于圖模型協(xié)同,即Graph,也叫社會(huì)網(wǎng)絡(luò)圖模型;
    • 基于矩陣分解的協(xié)同過(guò)濾,即Latent Factor Model(SVD);
    • 基于距離的協(xié)同過(guò)濾;
    • 基于模型的協(xié)同,即ModelCF,其中基于模型的協(xié)同又可以分為以下幾種類型;
    • 基于用于的協(xié)同,即UserCF;
    • 基于物品的協(xié)同,即ItemCF;

上述講了那么多,早期的推薦系統(tǒng)算法一直想解決的是超市中的長(zhǎng)尾效應(yīng)(馬太效應(yīng))。

所謂長(zhǎng)尾效應(yīng),在推薦系統(tǒng)中的體現(xiàn)即,部分優(yōu)質(zhì)物品,購(gòu)買的人數(shù)較多,即與其相關(guān)的的用戶行為軌跡會(huì)較多。這樣,在協(xié)同過(guò)濾推薦中,由于我們主要的依據(jù)就是我們的歷史行為行為數(shù)據(jù),所以這種物品得到推薦的機(jī)會(huì)就越多。這樣,不斷循環(huán)迭代,得到推薦的物品都集中在少數(shù)的一些物品中,而大部分物品是沒(méi)有被推薦的機(jī)會(huì)的。這就造成了造成長(zhǎng)尾現(xiàn)象。

而馬太效應(yīng)的意思是,通俗點(diǎn)說(shuō)就是,強(qiáng)者愈強(qiáng),弱者愈弱。而長(zhǎng)尾的直接體現(xiàn)就是馬太效應(yīng)。通常來(lái)講(當(dāng)然也有特殊情況),一個(gè)推薦系統(tǒng),如果長(zhǎng)時(shí)間處于長(zhǎng)尾之中,就會(huì)造成推薦疲勞,推薦的效果就會(huì)下降。所以,很多時(shí)候,挖掘長(zhǎng)尾是推薦系統(tǒng)不可缺少的部分。即,我們需要把尾巴部分 并且是有價(jià)值的部分給適當(dāng)?shù)恼故境鰜?lái)。挖掘長(zhǎng)尾的方法很多,其中一種常見(jiàn)的方式就是給熱點(diǎn)物品適當(dāng)?shù)慕禉?quán)。比如物品,我們?yōu)闊狳c(diǎn)物品進(jìn)行權(quán)重下降,這樣在最終推薦的結(jié)果中,非熱點(diǎn)物品得到推薦的機(jī)會(huì)就增大,從而適當(dāng)?shù)耐诰蛄碎L(zhǎng)尾。

三、人工智能、機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)

有人說(shuō),人工智能(AI)是未來(lái),人工智能是科幻,人工智能也是我們?nèi)粘I钪械囊徊糠?。這些評(píng)價(jià)可以說(shuō)都是正確的,就看你指的是哪一種人工智能。

今年早些時(shí)候,Google DeepMind的AlphaGo打敗了韓國(guó)的圍棋大師李世乭九段。在媒體描述DeepMind勝利的時(shí)候,將人工智能(AI)、機(jī)器學(xué)習(xí)(machine learning)、神經(jīng)網(wǎng)絡(luò)(neural network)和深度學(xué)習(xí)(deep learning)都用上了。這三者在AlphaGo擊敗李世乭的過(guò)程中都起了作用,但它們說(shuō)的并不是一回事。

今天我們就用最簡(jiǎn)單的方法——同心圓,可視化地展現(xiàn)出它們?nèi)叩年P(guān)系和應(yīng)用。

如上圖,人工智能是最早出現(xiàn)的,也是最大、最外側(cè)的同心圓;其次是機(jī)器學(xué)習(xí),稍晚一點(diǎn);最內(nèi)側(cè),是深度學(xué)習(xí),當(dāng)今人工智能大爆炸的核心驅(qū)動(dòng)。

五十年代,人工智能曾一度被極為看好。之后,人工智能的一些較小的子集發(fā)展了起來(lái)。先是機(jī)器學(xué)習(xí),然后是深度學(xué)習(xí)。深度學(xué)習(xí)又是機(jī)器學(xué)習(xí)的子集。深度學(xué)習(xí)造成了前所未有的巨大的影響。

3.1 從概念的提出到走向繁榮

1956年,幾個(gè)計(jì)算機(jī)科學(xué)家相聚在達(dá)特茅斯會(huì)議(Dartmouth Conferences),提出了“人工智能”的概念。其后,人工智能就一直縈繞于人們的腦海之中,并在科研實(shí)驗(yàn)室中慢慢孵化。之后的幾十年,人工智能一直在兩極反轉(zhuǎn),或被稱作人類文明耀眼未來(lái)的預(yù)言;或者被當(dāng)成技術(shù)瘋子的狂想扔到垃圾堆里。坦白說(shuō),直到2012年之前,這兩種聲音還在同時(shí)存在。

過(guò)去幾年,尤其是2015年以來(lái),人工智能開(kāi)始大爆發(fā)。很大一部分是由于GPU的廣泛應(yīng)用,使得并行計(jì)算變得更快、更便宜、更有效。當(dāng)然,無(wú)限拓展的存儲(chǔ)能力和驟然爆發(fā)的數(shù)據(jù)洪流(大數(shù)據(jù))的組合拳,也使得圖像數(shù)據(jù)、文本數(shù)據(jù)、交易數(shù)據(jù)、映射數(shù)據(jù)全面海量爆發(fā)。

讓我們慢慢梳理一下計(jì)算機(jī)科學(xué)家們是如何將人工智能從最早的一點(diǎn)點(diǎn)苗頭,發(fā)展到能夠支撐那些每天被數(shù)億用戶使用的應(yīng)用的。

3.2 人工智能(Artificial Intelligence)——為機(jī)器賦予人的智能

人工智能:縮寫(xiě)是 AI,就是像人一樣的智能、會(huì)思考。人工智能更適合理解為一個(gè)產(chǎn)業(yè),泛指產(chǎn)生更加智能的軟件和硬件。人工智能實(shí)現(xiàn)的方法就是機(jī)器學(xué)習(xí),所以談人工智能技術(shù),實(shí)際上就是機(jī)器學(xué)習(xí)的各種算法的應(yīng)用。各種智能家居、智能機(jī)器人都是人工智能產(chǎn)業(yè)的方向。

早在1956年夏天那次會(huì)議,人工智能的先驅(qū)們就夢(mèng)想著用當(dāng)時(shí)剛剛出現(xiàn)的計(jì)算機(jī)來(lái)構(gòu)造復(fù)雜的、擁有與人類智慧同樣本質(zhì)特性的機(jī)器。這就是我們現(xiàn)在所說(shuō)的“強(qiáng)人工智能”(General AI)。這個(gè)無(wú)所不能的機(jī)器,它有著我們所有的感知(甚至比人更多),我們所有的理性,可以像我們一樣思考。

人們?cè)陔娪袄镆部偸强吹竭@樣的機(jī)器:友好的,像星球大戰(zhàn)中的C-3PO;邪惡的,如終結(jié)者。強(qiáng)人工智能現(xiàn)在還只存在于電影和科幻小說(shuō)中,原因不難理解,我們還沒(méi)法實(shí)現(xiàn)它們,至少目前還不行。

我們目前能實(shí)現(xiàn)的,一般被稱為“弱人工智能”(Narrow AI)。弱人工智能是能夠與人一樣,甚至比人更好地執(zhí)行特定任務(wù)的技術(shù)。例如,Pinterest上的圖像分類;或者Facebook的人臉識(shí)別。

這些是弱人工智能在實(shí)踐中的例子。這些技術(shù)實(shí)現(xiàn)的是人類智能的一些具體的局部。但它們是如何實(shí)現(xiàn)的?這種智能是從何而來(lái)?這就帶我們來(lái)到同心圓的里面一層,機(jī)器學(xué)習(xí)。

3.3 機(jī)器學(xué)習(xí)(Machine Learning)—— 一種實(shí)現(xiàn)人工智能的方法

機(jī)器學(xué)習(xí):是研究如何讓計(jì)算機(jī)去學(xué)習(xí)。學(xué)習(xí)什么哪? 根據(jù)一些過(guò)去的事實(shí),學(xué)習(xí)如何適應(yīng)新的環(huán)境。太小白了,嚴(yán)肅點(diǎn)! 機(jī)器學(xué)習(xí),是研究算法的學(xué)科,研究的是如何讓計(jì)算機(jī)根據(jù)以往的經(jīng)驗(yàn)去適應(yīng)新的環(huán)境。這里“以往的經(jīng)驗(yàn)” 指的是歷史數(shù)據(jù),“適應(yīng)” 指的是通過(guò)歷史數(shù)據(jù)創(chuàng)造一個(gè)很牛逼的函數(shù),“新的環(huán)境” 指的是把新的數(shù)據(jù)輸入到這個(gè)函數(shù)中,產(chǎn)生一個(gè)新的輸出。機(jī)器學(xué)習(xí)本質(zhì)上是研究自學(xué)習(xí)算法的科學(xué),這些算法是幫助軟件和機(jī)器進(jìn)行自我學(xué)習(xí)解決問(wèn)題的算法。

機(jī)器學(xué)習(xí)最基本的做法,是使用算法來(lái)解析數(shù)據(jù)、從中學(xué)習(xí),然后對(duì)真實(shí)世界中的事件做出決策和預(yù)測(cè)。與傳統(tǒng)的為解決特定任務(wù)、硬編碼的軟件程序不同,機(jī)器學(xué)習(xí)是用大量的數(shù)據(jù)來(lái)“訓(xùn)練”,通過(guò)各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。

機(jī)器學(xué)習(xí)直接來(lái)源于早期的人工智能領(lǐng)域。傳統(tǒng)算法包括決策樹(shù)學(xué)習(xí)、推導(dǎo)邏輯規(guī)劃、聚類、分類、回歸、強(qiáng)化學(xué)習(xí)和貝葉斯網(wǎng)絡(luò)等等(當(dāng)然還有很多)。眾所周知,我們還沒(méi)有實(shí)現(xiàn)強(qiáng)人工智能。早期機(jī)器學(xué)習(xí)方法甚至都無(wú)法實(shí)現(xiàn)弱人工智能。

機(jī)器學(xué)習(xí)最成功的應(yīng)用領(lǐng)域是計(jì)算機(jī)視覺(jué),雖然也還是需要大量的手工編碼來(lái)完成工作。人們需要手工編寫(xiě)分類器、邊緣檢測(cè)濾波器,以便讓程序能識(shí)別物體從哪里開(kāi)始,到哪里結(jié)束;寫(xiě)形狀檢測(cè)程序來(lái)判斷檢測(cè)對(duì)象是不是有八條邊;寫(xiě)分類器來(lái)識(shí)別字母“ST-O-P”。使用以上這些手工編寫(xiě)的分類器,人們總算可以開(kāi)發(fā)算法來(lái)感知圖像,判斷圖像是不是一個(gè)停止標(biāo)志牌。

這個(gè)結(jié)果還算不錯(cuò),但并不是那種能讓人為之一振的成功。特別是遇到云霧天,標(biāo)志牌變得不是那么清晰可見(jiàn),又或者被樹(shù)遮擋一部分,算法就難以成功了。這就是為什么前一段時(shí)間,計(jì)算機(jī)視覺(jué)的性能一直無(wú)法接近到人的能力。它太僵化,太容易受環(huán)境條件的干擾。

隨著時(shí)間的推進(jìn),學(xué)習(xí)算法的發(fā)展改變了一切。

3.4 神經(jīng)網(wǎng)絡(luò)(Neural network)——機(jī)器學(xué)習(xí)中的一個(gè)算法模型

神經(jīng)網(wǎng)絡(luò):是機(jī)器學(xué)習(xí)中的一個(gè)算法模型,指的是模擬人的神經(jīng)系統(tǒng)。大家知道,人的神經(jīng)非常復(fù)雜,所以神經(jīng)網(wǎng)絡(luò)算法需要的計(jì)算量很大。神經(jīng)網(wǎng)絡(luò)在以前一直不溫不火,原因是計(jì)算機(jī)硬件不足以支撐神經(jīng)網(wǎng)絡(luò)的計(jì)算量。現(xiàn)在大數(shù)據(jù)技術(shù)的發(fā)展,讓神經(jīng)網(wǎng)絡(luò)迎來(lái)了春天。比如人臉識(shí)別、交通領(lǐng)域的車牌識(shí)別技術(shù)都是神經(jīng)網(wǎng)絡(luò)的應(yīng)用。

3.5 深度學(xué)習(xí)(Deep Learning)——一種實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)

深度學(xué)習(xí):屬于神經(jīng)網(wǎng)絡(luò)的一個(gè)發(fā)展分支,指的是層數(shù)很多的神經(jīng)網(wǎng)絡(luò),可以簡(jiǎn)單理解為更加高級(jí)的神經(jīng)網(wǎng)絡(luò)。把神經(jīng)網(wǎng)絡(luò)比作數(shù)學(xué)學(xué)科,深度學(xué)習(xí)類似于高等數(shù)學(xué)。無(wú)人駕駛汽車屬于深度學(xué)習(xí)的典型應(yīng)用。Python 中,可以使用 TensorFlow2 和 PyTorch庫(kù)非常簡(jiǎn)單的實(shí)現(xiàn)深度學(xué)習(xí)中的各種算法。

人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)是早期機(jī)器學(xué)習(xí)中的一個(gè)重要的算法,歷經(jīng)數(shù)十年風(fēng)風(fēng)雨雨。神經(jīng)網(wǎng)絡(luò)的原理是受我們大腦的生理結(jié)構(gòu)——互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個(gè)神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡(luò)具有離散的層、連接和數(shù)據(jù)傳播的方向。

例如,我們可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡(luò)的第一層。在第一層的每一個(gè)神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。

每一個(gè)神經(jīng)元都為它的輸入分配權(quán)重,這個(gè)權(quán)重的正確與否與其執(zhí)行的任務(wù)直接相關(guān)。最終的輸出由這些權(quán)重加總來(lái)決定。

我們?nèi)砸酝V梗⊿top)標(biāo)志牌為例。將一個(gè)停止標(biāo)志牌圖像的所有元素都打碎,然后用神經(jīng)元進(jìn)行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標(biāo)志的典型尺寸和靜止不動(dòng)運(yùn)動(dòng)特性等等。神經(jīng)網(wǎng)絡(luò)的任務(wù)就是給出結(jié)論,它到底是不是一個(gè)停止標(biāo)志牌。神經(jīng)網(wǎng)絡(luò)會(huì)根據(jù)所有權(quán)重,給出一個(gè)經(jīng)過(guò)深思熟慮的猜測(cè)——“概率向量”。

這個(gè)例子里,系統(tǒng)可能會(huì)給出這樣的結(jié)果:86%可能是一個(gè)停止標(biāo)志牌;7%的可能是一個(gè)限速標(biāo)志牌;5%的可能是一個(gè)風(fēng)箏掛在樹(shù)上等等。然后網(wǎng)絡(luò)結(jié)構(gòu)告知神經(jīng)網(wǎng)絡(luò),它的結(jié)論是否正確。

即使是這個(gè)例子,也算是比較超前了。直到前不久,神經(jīng)網(wǎng)絡(luò)也還是為人工智能圈所淡忘。其實(shí)在人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡(luò)就已經(jīng)存在了,但神經(jīng)網(wǎng)絡(luò)對(duì)于“智能”的貢獻(xiàn)微乎其微。主要問(wèn)題是,即使是最基本的神經(jīng)網(wǎng)絡(luò),也需要大量的運(yùn)算。神經(jīng)網(wǎng)絡(luò)算法的運(yùn)算需求難以得到滿足。

不過(guò),還是有一些虔誠(chéng)的研究團(tuán)隊(duì),以多倫多大學(xué)的Geoffrey Hinton為代表,堅(jiān)持研究,實(shí)現(xiàn)了以超算為目標(biāo)的并行算法的運(yùn)行與概念證明。但也直到GPU得到廣泛應(yīng)用,這些努力才見(jiàn)到成效。

我們回過(guò)頭來(lái)看這個(gè)停止標(biāo)志識(shí)別的例子。神經(jīng)網(wǎng)絡(luò)是調(diào)制、訓(xùn)練出來(lái)的,時(shí)不時(shí)還是很容易出錯(cuò)的。它最需要的,就是訓(xùn)練。需要成百上千甚至幾百萬(wàn)張圖像來(lái)訓(xùn)練,直到神經(jīng)元的輸入的權(quán)值都被調(diào)制得十分精確,無(wú)論是否有霧,晴天還是雨天,每次都能得到正確的結(jié)果。

只有這個(gè)時(shí)候,我們才可以說(shuō)神經(jīng)網(wǎng)絡(luò)成功地自學(xué)習(xí)到一個(gè)停止標(biāo)志的樣子;或者在Facebook的應(yīng)用里,神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)了你媽媽的臉;又或者是2012年吳恩達(dá)(Andrew Ng)教授在Google實(shí)現(xiàn)了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到貓的樣子等等。

吳教授的突破在于,把這些神經(jīng)網(wǎng)絡(luò)從基礎(chǔ)上顯著地增大了。層數(shù)非常多,神經(jīng)元也非常多,然后給系統(tǒng)輸入海量的數(shù)據(jù),來(lái)訓(xùn)練網(wǎng)絡(luò)。在吳教授這里,數(shù)據(jù)是一千萬(wàn)YouTube視頻中的圖像。吳教授為深度學(xué)習(xí)(deep learning)加入了“深度”(deep)。這里的“深度”就是說(shuō)神經(jīng)網(wǎng)絡(luò)中眾多的層。

現(xiàn)在,經(jīng)過(guò)深度學(xué)習(xí)訓(xùn)練的圖像識(shí)別,在一些場(chǎng)景中甚至可以比人做得更好:從識(shí)別貓,到辨別血液中癌癥的早期成分,到識(shí)別核磁共振成像中的腫瘤。Google的AlphaGo先是學(xué)會(huì)了如何下圍棋,然后與它自己下棋訓(xùn)練。它訓(xùn)練自己神經(jīng)網(wǎng)絡(luò)的方法,就是不斷地與自己下棋,反復(fù)地下,永不停歇。

3.6 深度學(xué)習(xí),給人工智能以璀璨的未來(lái)

深度學(xué)習(xí)使得機(jī)器學(xué)習(xí)能夠?qū)崿F(xiàn)眾多的應(yīng)用,并拓展了人工智能的領(lǐng)域范圍。深度學(xué)習(xí)摧枯拉朽般地實(shí)現(xiàn)了各種任務(wù),使得似乎所有的機(jī)器輔助功能都變?yōu)榭赡?。無(wú)人駕駛汽車,預(yù)防性醫(yī)療保健,甚至是更好的電影推薦,都近在眼前,或者即將實(shí)現(xiàn)。

人工智能就在現(xiàn)在,就在明天。有了深度學(xué)習(xí),人工智能甚至可以達(dá)到我們暢想的科幻小說(shuō)一般。你的C-3PO我拿走了,你有你的終結(jié)者就好了。

3.7 小結(jié)

綜上,人工智能就是一個(gè)產(chǎn)業(yè),人工智能的實(shí)現(xiàn)手段主要靠機(jī)器學(xué)習(xí)的各種算法。在機(jī)器學(xué)習(xí)的算法中,深度學(xué)習(xí)是一個(gè)智能化程度非常高的算法。現(xiàn)在云計(jì)算和大數(shù)據(jù)技術(shù)的發(fā)展,讓神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)得以在實(shí)際中應(yīng)用。

大數(shù)據(jù)時(shí)代,數(shù)據(jù)是企業(yè)的最值錢的財(cái)富,但海量的數(shù)據(jù)并非都是有價(jià)值的,如何挖掘出有用的數(shù)據(jù)變成商業(yè)價(jià)值,就需要機(jī)器學(xué)習(xí)算法。大數(shù)據(jù)和機(jī)器學(xué)習(xí)勢(shì)必顛覆傳統(tǒng)行業(yè)的運(yùn)營(yíng)方式,必將驅(qū)動(dòng)公司業(yè)務(wù)的發(fā)展。目前,越來(lái)越多的機(jī)器學(xué)習(xí)/數(shù)據(jù)挖掘/深度學(xué)習(xí)算法被應(yīng)用在電商、搜索、金融、游戲,醫(yī)療等領(lǐng)域中的分析、挖掘、推薦上。

但懂機(jī)器學(xué)習(xí)算法的人才卻少之又少,物以稀為貴,致使這個(gè)行業(yè)的工資奇高。

四、數(shù)學(xué)很差,能學(xué)習(xí)機(jī)器學(xué)習(xí)嗎?

機(jī)器學(xué)習(xí)中的各種算法,都是一個(gè)個(gè)的數(shù)學(xué)算式。不會(huì)高等數(shù)學(xué)、概率統(tǒng)計(jì)、凸優(yōu)化等知識(shí),就不能搞透各個(gè)數(shù)學(xué)算式。如果想明白這些算式的來(lái)龍去脈,以及如何推導(dǎo)出來(lái)的,沒(méi)有前面的數(shù)學(xué)知識(shí)做鋪墊是絕對(duì)不可能的。

但是,包括很多公司里需要招聘員工,培養(yǎng)的是工程師,不是科學(xué)家。我們要學(xué)習(xí)的如何使用這些算式,知道算式中的變量是從哪里來(lái)的,如何傳入,以及變量的變化會(huì)對(duì)結(jié)果有什么樣的影響。這些算式已經(jīng)有各種 python 庫(kù)可以調(diào)用了,并不需要我們?nèi)?xiě)。

除非是算法方向側(cè)著為主的公司。打個(gè)比方吧,公司是駕校,培養(yǎng)的是司機(jī)。作為司機(jī)不需要了解汽車的內(nèi)部結(jié)構(gòu)。雖然了解汽車的內(nèi)部結(jié)構(gòu)對(duì)于成為一名優(yōu)秀的司機(jī)是非常有好處的。但是市場(chǎng)上需要的是大量的司機(jī),而不是 4S 點(diǎn)的維修工。

所以,數(shù)學(xué)很差,也可以搞機(jī)器學(xué)習(xí),不必太擔(dān)心。但是,你必須得比別人花更多的努力。
肯定是希望你編程基礎(chǔ)又強(qiáng)、數(shù)學(xué)功底又好啦!

深入機(jī)器學(xué)習(xí)這么久,如果你不是勵(lì)志成為圖靈,我發(fā)現(xiàn)學(xué)好機(jī)器學(xué)習(xí)靠的不是數(shù)學(xué)功底、較強(qiáng)的邏輯思維,而是堅(jiān)韌。

五、如何稱為一個(gè)數(shù)據(jù)科學(xué)家

什么叫數(shù)據(jù)科學(xué)家?算法工程師和研發(fā)工程師,即搞數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、推薦系統(tǒng)的那群人,都可以稱為數(shù)據(jù)科學(xué)家。

你可以通過(guò)學(xué)習(xí)以下東西成為,如果你能看到這里的話,就一定程度表明你很堅(jiān)韌了。

  1. 數(shù)學(xué)(基礎(chǔ))

高等數(shù)學(xué)、線性代數(shù)、概率論,進(jìn)階可讀:凸優(yōu)化、離散學(xué)

  1. 編程語(yǔ)言(基礎(chǔ))

首選:Python!Python!簡(jiǎn)單易懂又優(yōu)雅
其他:C++、Java、R

  1. 算法和模型(理論)

數(shù)據(jù)分析、數(shù)據(jù)挖掘、推薦系統(tǒng)、機(jī)器學(xué)習(xí)、自然語(yǔ)言處理、圖像識(shí)別

  1. 開(kāi)源庫(kù)(工具)

單機(jī):Numpy、Pandas、Matplotlib、Scikit-learn、TensorFlow2、PyTorch
分布式:Spark

  1. 實(shí)操(實(shí)踐)

阿里巴巴大數(shù)據(jù)競(jìng)賽、Kaggle競(jìng)賽等

六、結(jié)語(yǔ)

希望我們都能成為“人生硬核玩家”