开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開APP
          userphoto
          未登錄

          開通VIP,暢享免費電子書等14項超值服

          開通VIP
          終極算法-機器學(xué)習(xí)和人工智能如何重塑世界-讀書筆記

            

            作者:人月神話,新浪博客同名

            簡介:多年SOA規(guī)劃建設(shè),私有云PaaS平臺架構(gòu)設(shè)計經(jīng)驗,長期從事一線項目實踐

            這本書籍的全名《終極算法-機器學(xué)習(xí)和人工智能如何重塑世界》,最近讀完這本書,整體感受書籍的含金量相當(dāng)高,而且本書整體的易讀性很好,,沒有想像的那么多枯燥的理論和公式,通過淺顯的方式把復(fù)雜的道理講解清楚。

            因此今天對本書的核心內(nèi)容做一些梳理和整理歸納。

            首先在序里面就談到了機器學(xué)習(xí)算法和傳統(tǒng)計算機算法不同,它從數(shù)據(jù)中做推斷,它們自己會去弄明白做事的方法。簡單來說,原來的計算機算法往往是我們已經(jīng)知道了算法,然后把特定的問題域匹配到具體的算法上,然后讓機器去計算出結(jié)果;而現(xiàn)在的機器學(xué)習(xí)算法是人不知道算法,只知道大量的數(shù)據(jù)(包括輸入和輸出),而需要機器從這些數(shù)據(jù)的學(xué)習(xí)和訓(xùn)練中推導(dǎo)出算法,這就是最大的不同點。即:

            傳統(tǒng)算法:算法和公式已知,計算機基于已于的算法公式進行計算機器算法:歷史數(shù)據(jù)已知,計算機根據(jù)數(shù)據(jù)自己訓(xùn)練和推導(dǎo)算法,并持續(xù)迭代

            機器學(xué)習(xí)算法在重塑整個世界,包括科學(xué),技術(shù),政治,經(jīng)濟,戰(zhàn)爭的方方面面。

            機器學(xué)習(xí)算法的基礎(chǔ)是數(shù)據(jù),這個數(shù)據(jù)包括了數(shù)據(jù)的輸入,也包括了最終的輸出結(jié)果,而學(xué)習(xí)算法要做的就是從大量的輸入和輸出中找出最恰當(dāng)?shù)乃惴ü?,因此?shù)據(jù)量越大越多,往往算法最終的準確度就越高。

            在序里面提到了一個關(guān)鍵,即心理學(xué)家丹諾曼提出的概念模型,代指為了有效利用某項技術(shù)而需要粗略掌握的知識,而不需要深入到這個知識內(nèi)部的具體原理。注意這個和我在前面講學(xué)習(xí)方法和模式的時候就談到過,剛開始要不求甚解,而這個不求甚解需要掌握的就是這個概念模型。

            機器學(xué)習(xí)的五大學(xué)派,后面的第3章到第7章就是圍繞這五大學(xué)派詳細展開描述。

            符號學(xué)派:將學(xué)習(xí)看作逆向演繹,并從哲學(xué),心理學(xué),邏輯學(xué)中尋求洞見。聯(lián)結(jié)學(xué)派:對大腦進行逆向分析,靈感來源于神經(jīng)科學(xué)和物理學(xué)。進化學(xué)派:通過計算機模擬進化,利用遺傳學(xué)和進化生物學(xué)知識。貝葉斯學(xué)派:學(xué)習(xí)本質(zhì)是一種概念推理,其理論根基在統(tǒng)計學(xué)。類推學(xué)派:通過相似性判斷的外推來進行學(xué)習(xí),并受心理學(xué)和數(shù)學(xué)最優(yōu)化影響。

            機器學(xué)習(xí)的革命

            注意書里面有一段關(guān)鍵的內(nèi)容來解釋傳統(tǒng)算法和學(xué)習(xí)算法的區(qū)別。

            傳統(tǒng)的算法是你將數(shù)據(jù)輸入到計算機,計算機本身是利用算法來進行計算和處理,最終輸出你需要的結(jié)果;而機器學(xué)習(xí)算法剛好是顛倒的,即你輸入到計算機中的是輸入數(shù)據(jù)和輸出數(shù)據(jù),而計算機最終輸出給你的是有價值的算法。這就是兩者最大的區(qū)別。

            這個算法需要不斷的學(xué)習(xí)和訓(xùn)練,因此數(shù)據(jù)量和樣本數(shù)越多,算法就越準確。注意為什么最終會得出這個算法,這個算法存在的邏輯是如何的?計算機也搞不清楚,本身也不需要搞清楚,計算機只知道這個最終輸出給你的算法是最匹配已有歷史輸入和輸出數(shù)據(jù)的。

            在機器學(xué)習(xí)中,知識往往是以統(tǒng)計模型的形式存在,而技能則是以程序的形式存在。

            這句話有點難以理解,我們可以把這個簡化描述下,即:

            if(知識點X1,知識點X2,...,知識點XN) Then or You Should do(知識點XY)

            人的思考和經(jīng)驗積累也一樣,即不是單純的積累知識點,而是應(yīng)該積累上面這種經(jīng)驗?zāi)J交蛘咚惴J健_@和我上篇文章談的知識和經(jīng)驗中的一些觀點又是相同的。

            

            比如用上面類似神經(jīng)網(wǎng)絡(luò)的一個構(gòu)圖來解釋,即當(dāng)你工作到一定時間后,比如8年,10年后你會發(fā)現(xiàn)真正新產(chǎn)生的知識點越來越少,但是雖然新的知識點越來越少,但是你的工作經(jīng)驗卻完全可能越來越多,對于兩個人的競爭而言,在工作的后期已經(jīng)不是知識點數(shù)目的競爭,而是知識點能夠串接為有價值的方法論和模式(經(jīng)驗)的競爭。

            用上面這個圖就可以很好的解釋這個問題,兩個圖里面圓圈代表知識點,在兩個圖里面的數(shù)目是一樣的,但是左邊的圖可以看到可能只形成了6種做事情的經(jīng)驗?zāi)J?,而對于右邊雖然知識點數(shù)目一樣,但是通過反復(fù)的實踐積累,形成了6*6種新的經(jīng)驗或模式。

            常人是形成N種經(jīng)驗?zāi)J?,而對于善于實踐,思考和總結(jié)的人可能則形成N*N種經(jīng)驗?zāi)J剑簿褪钦f個人的經(jīng)驗?zāi)芰σ欢ㄊ沁@種多知識點串聯(lián)匹配并解決問題的能力,而不是單知識點簡單匹配的能力。也就是我們說的:同樣的知識點經(jīng)過大量的反復(fù)實踐,可以形成指數(shù)級的經(jīng)驗?zāi)J綆臁?/p>

            在公司發(fā)展壯大后,往往會經(jīng)歷三個階段:

            工業(yè)革命是手工業(yè)自動化,而機器學(xué)習(xí)使自動化本身自動化。:

            所有事情都人工完成。所有事情或大部分事情通過計算機自動完成。(但是思考并形成算法是人做的)部分思考被機器替代。(即機器本身通過學(xué)習(xí)自己產(chǎn)生算法,而替代人的思考)

            對于機器學(xué)習(xí)算法本身,其方法本身和人類的思考方法也是類似的,即產(chǎn)生假設(shè),驗證,放棄或完善,反復(fù)的修正和迭代。

            那么人形成算法的過程和機器最大的區(qū)別在哪里的?

            人往往是期望通過最少的現(xiàn)場歸納出普適的定律或法則,形成解釋世界的精確模型。機器則是通過大量數(shù)據(jù),自我訓(xùn)練和學(xué)習(xí)得出最終算法,這種算法邏輯不需解釋。

            但是在人的算法過程中,并不是所有的現(xiàn)象都是線性的,都可以用模型精確描述,包括后面人類遇到的NP難題等,往往并沒有一個精確模型或最優(yōu)解。而機器學(xué)習(xí)則打開了這個全新的非線性模型世界。

            終極算法

            發(fā)明一種通用的算法可以歸結(jié)為發(fā)現(xiàn)宇宙最深層次的規(guī)律,所有現(xiàn)象都遵循該規(guī)律,然后找出計算的有效方法來將其和數(shù)據(jù)結(jié)合起來。

            注:這有點道德經(jīng)里面一生二,二生三,三生萬物的味道。

            本書的一個重要假設(shè)是:所有知識,無論是過去,現(xiàn)在還是未來的,都有可能通過單個通用學(xué)習(xí)算法來從數(shù)據(jù)中獲得,我們將該算法稱為終極算法。

            機器學(xué)習(xí)算法的首要任務(wù)是區(qū)別可以預(yù)測的事與不可預(yù)測的事。但是終極算法的目標(biāo)則是學(xué)習(xí)一切能夠認知的東西。在機器學(xué)習(xí)中,復(fù)雜性存在于數(shù)據(jù)中,而終極算法要做的就是消化這種復(fù)雜性。

            終極算法就是等式U(X)=0

            這個公式要表達的是某未知數(shù)X(可能很復(fù)雜)的某函數(shù)U(可能很復(fù)雜)等于0。每個等式都可以簡化為這種形式:

            例如,F(xiàn)=ma等于F-ma=0,如果你把F-ma當(dāng)作F的一個函數(shù)U,則U(F)=0。

            最后再來說明下對五大學(xué)派的闡述:

            符號學(xué)派:所有的信息都可以簡化為操作符號聯(lián)結(jié)學(xué)派:學(xué)習(xí)就是大腦要做的事情,因為我們要做的就是對大腦逆向演繹進化學(xué)派:所有形式的學(xué)習(xí)都源于自然選擇貝葉斯學(xué)派:所有掌握的知識都有不確定性,學(xué)習(xí)知識過程也是一種不確定性推理類推學(xué)派:學(xué)習(xí)的關(guān)鍵是認識到不同場景中的相似性,并由這種相似性推導(dǎo)出其他相似性

            這是終極算法這本書的第二部分讀書筆記,主要是記錄書里面談的五大學(xué)派,即符號學(xué)派,聯(lián)結(jié)學(xué)派,進化學(xué)派,貝葉斯學(xué)派和類推學(xué)派。

            這部分的內(nèi)容有些地方可讀寫并不是太好,包括對于每一個學(xué)派你讀完后實際上很難真正抓住里面的核心內(nèi)容,包括對某類算法的核心邏輯和演進過程也較晦澀。比如對于里面聯(lián)結(jié)學(xué)派的神經(jīng)網(wǎng)絡(luò),貝葉斯算法和隱式馬爾科夫鏈,相信你讀吳軍博士的《數(shù)學(xué)之美》往往更加容易理解。

            符號學(xué)派

            

            我們順著書里面章節(jié)的內(nèi)容可以看到的是邏輯推理,基于假設(shè)并驗證,規(guī)則和分類集,歸納和逆向演繹,分而治之和決策樹模型,方差和偏差這些關(guān)鍵字。

            你可以了解到的是符號學(xué)派強調(diào)邏輯和推理,也強調(diào)了基于先提出假設(shè)并進行歸納和驗證。在章節(jié)最后我們看到有一個關(guān)鍵總結(jié)即所有和智力相關(guān)的工作都可以理解為對符號的操縱,符號主義是通往終極算法的最短路徑。

            接著我們可以在百度百科找到關(guān)于符號主義的總結(jié),感覺更加容易理解,即:

            符號主義(Symbolism)是一種基于邏輯推理的智能模擬方法,又稱為邏輯主義(Logicism)、心理學(xué)派(Psychlogism)或計算機學(xué)派(Computerism),其原理主要為物理符號系統(tǒng)(即符號操作系統(tǒng))假設(shè)和有限合理性原理,長期以來,一直在人工智能中處于主導(dǎo)地位,其代表人物是紐威爾、肖、西蒙和尼爾森。

            該學(xué)派認為:人類認知和思維的基本單元是符號,而認知過程就是在符號表示上的一種運算。

            它認為人是一個物理符號系統(tǒng),計算機也是一個物理符號系統(tǒng),因此,我們就能夠用計算機來模擬人的智能行為,即用計算機的符號操作來模擬人的認知過程。

            這種方法的實質(zhì)就是模擬人的左腦抽象邏輯思維,通過研究人類認知系統(tǒng)的功能機理,用某種符號來描述人類的認知過程,并把這種符號輸入到能處理符號的計算機中,就可以模擬人類的認知過程,從而實現(xiàn)人工智能。可以把符號主義的思想簡單的歸結(jié)為“認知即計算”。

            從符號主義的觀點來看,知識是信息的一種形式,是構(gòu)成智能的基礎(chǔ),知識表示、知識推理、知識運用是人工智能的核心,知識可用符號表示,認知就是符號的處理過程,推理就是采用啟發(fā)式知識及啟發(fā)式搜索對問題求解的過程,而推理過程又可以用某種形式化的語言來描述,因而有可能建立起基于知識的人類智能和機器智能的同一理論體系 。

            而上面黑色加粗部分才是符號學(xué)派的核心內(nèi)容。我們抓住這個核心基本就對符號主義有了完整的理解,即從知識到符號,從認知到符號計算,從問題求解到符號的邏輯推理。對于早期的牛頓定理,各種物理學(xué)公式,通過符號對自然現(xiàn)象的精確表達,從結(jié)果到原因的邏輯分析都可以算做是符號學(xué)派的例子。

            聯(lián)結(jié)學(xué)派

            聯(lián)結(jié)主義相信知識是存儲在神經(jīng)元之間的聯(lián)結(jié)關(guān)系中。在這里我的里是知識點仍然是存儲在神經(jīng)元中,而認知能力則是存儲在各個神經(jīng)元之間的單一或復(fù)雜的聯(lián)結(jié)關(guān)系中。這和我前面談到的知識和經(jīng)驗中一些觀點匹配的,即一個人真正的認知或經(jīng)驗?zāi)芰?,一定是充分啟發(fā)了自我神經(jīng)元間的聯(lián)結(jié)關(guān)系。

            符號學(xué)派:符號和概念一一對應(yīng),并且是按照次序的。聯(lián)結(jié)學(xué)派:神經(jīng)元和概念是分散式的,并且認知過程可能是并行進行的。

            正是由于這個原因,計算機晶體管的數(shù)量已經(jīng)趕上了人類大腦神經(jīng)元的數(shù)量,但是在連接數(shù)量上,人類的大腦輕易獲勝。特別是在圖像或語音識別上,人類大腦的并行處理過程相當(dāng)復(fù)雜。

            那是否能夠抽象一個類似人類大腦神經(jīng)元和神經(jīng)元間連接的模型出來?

            

            基于這個思路在1943年提出了神經(jīng)元模型,即最早的感知器,而在感知器上需要解決的關(guān)鍵問題就是連接線和連接線的權(quán)值問題。從單層的感知器到多層和多步驟的感知,就形成了神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)。而對于神經(jīng)網(wǎng)絡(luò)模型,在前面博客文章中也談到過是深度學(xué)習(xí)算法的一個基礎(chǔ)模型,其核心內(nèi)容就是分了多少層? 以及模擬神經(jīng)元之間連線的權(quán)重。

            吳恩達是人工智能和機器學(xué)習(xí)領(lǐng)域的權(quán)威學(xué)者,也提到人類智能可以最終歸結(jié)為單個算法。從其負責(zé)的疊加自動編碼器深度學(xué)習(xí)算法項目,再到以玻爾茲曼機器為基礎(chǔ)的卷積神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)模型和相應(yīng)的深度學(xué)習(xí)算法在圖像識別,語音識別,新藥研制,自動駕駛等方面都取得了不小的成功。

            聯(lián)結(jié)再簡單點來說就是仍然基于大量的歷史訓(xùn)練數(shù)據(jù),在已知輸入和輸出的情況下,構(gòu)建復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,并計算最恰當(dāng)?shù)木W(wǎng)絡(luò)連接和聯(lián)結(jié)權(quán)重的過程。

            進化學(xué)派-自然的學(xué)習(xí)算法

            

            人類可以進化,那么我們可以假設(shè)到對于機器本身也可以自我進化和學(xué)習(xí),而這種學(xué)習(xí)過程即進化學(xué)派里面談到的遺傳算法,遺傳算法的關(guān)鍵是適應(yīng)度函數(shù),給出一個特定程序和某個設(shè)定的目標(biāo),適應(yīng)度函數(shù)會給程序打分,反映它與目標(biāo)的契合度。

            遺傳算法的過程就是不斷的持續(xù)迭代,當(dāng)達到某個理想的適應(yīng)度就結(jié)束。

            對于遺傳算法本身,我們?nèi)匀粎⒖及俣劝倏频亩x解釋的更加清楚,即:

            遺傳算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學(xué)機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。

            遺傳算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經(jīng)過基因(gene)編碼的一定數(shù)目的個體(individual)組成。每個個體實際上是染色體(chromosome)帶有特征的實體。染色體作為遺傳物質(zhì)的主要載體,即多個基因的集合,其內(nèi)部表現(xiàn)(即基因型)是某種基因組合,它決定了個體的形狀的外部表現(xiàn),如黑頭發(fā)的特征是由染色體中控制這一特征的某種基因組合決定的。

            因此,在一開始需要實現(xiàn)從表現(xiàn)型到基因型的映射即編碼工作。由于仿照基因編碼的工作很復(fù)雜,我們往往進行簡化,如二進制編碼,初代種群產(chǎn)生之后,按照適者生存和優(yōu)勝劣汰的原理,逐代(generation)演化產(chǎn)生出越來越好的近似解,在每一代,根據(jù)問題域中個體的適應(yīng)度(fitness)大小選擇(selection)個體,并借助于自然遺傳學(xué)的遺傳算子(genetic operators)進行組合交叉(crossover)和變異(mutation),產(chǎn)生出代表新的解集的種群。

            這個過程將導(dǎo)致種群像自然進化一樣的后生代種群比前代更加適應(yīng)于環(huán)境,末代種群中的最優(yōu)個體經(jīng)過解碼(decoding),可以作為問題近似最優(yōu)解。

            遺傳算法也是計算機科學(xué)人工智能領(lǐng)域中用于解決最優(yōu)化的一種搜索啟發(fā)式算法,是進化算法的一種。這種啟發(fā)式通常用來生成有用的解決方案來優(yōu)化和搜索問題。進化算法最初是借鑒了進化生物學(xué)中的一些現(xiàn)象而發(fā)展起來的,這些現(xiàn)象包括遺傳、突變、自然選擇以及雜交等。遺傳算法在適應(yīng)度函數(shù)選擇不當(dāng)?shù)那闆r下有可能收斂于局部最優(yōu) ,而不能達到全局最優(yōu)。

            該書的P175頁提到了先天和后天的概念,這部分也是相當(dāng)重要的內(nèi)容,即演化新論注重結(jié)構(gòu),而聯(lián)結(jié)學(xué)派注重權(quán)重,但是任何好的學(xué)習(xí)算法一定包括了結(jié)構(gòu)學(xué)習(xí)和權(quán)值學(xué)習(xí)兩部分的內(nèi)容。進化是尋求好的結(jié)構(gòu),而神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)則填滿這個結(jié)構(gòu),這樣的結(jié)合才是終極算法最簡單的一步。

            從神經(jīng)網(wǎng)絡(luò)到深度學(xué)習(xí)

            

            在這里先補充下對原來深度學(xué)習(xí)內(nèi)容的一個整理。

            深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。

            深度學(xué)習(xí)的概念由Hinton等人于2006年提出。基于深度置信網(wǎng)絡(luò)(DBN)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后提出多層自動編碼器深層結(jié)構(gòu)。此外Lecun等人提出的卷積神經(jīng)網(wǎng)絡(luò)是第一個真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能。

            人工神經(jīng)網(wǎng)絡(luò)本質(zhì)是有向圖

            人工神經(jīng)網(wǎng)絡(luò) ( Artifical Neural Network),標(biāo)志著另外一種自下而上的思路。神經(jīng)網(wǎng)絡(luò)沒有一個嚴格的正式定義。它的基本特點,是試圖模仿大腦的神經(jīng)元之間傳遞,處理信息的模式。

            人工神經(jīng)網(wǎng)絡(luò)描述本質(zhì)是一種特殊的有向圖。這個有向圖包括了一個或多個輸入X,中間多個隱含層S,一個輸出的結(jié)果Y。其中有向圖的節(jié)點即是神經(jīng)元,而連接弧即是神經(jīng)。

            這種流向圖的一個特別屬性是深度(depth):從一個輸入到一個輸出的最長路徑的長度。

            對于神經(jīng)網(wǎng)絡(luò)的有向圖還具備如下特點:

            所有的節(jié)點都分層,每層節(jié)點通過弧連接指向下一層節(jié)點,但是同層沒有弧連接。每條弧連接上都有權(quán)重值,根據(jù)權(quán)重值和上一個節(jié)點值就很容易計算出當(dāng)前節(jié)點值。各層之間不能跨層進行連接。最終的神經(jīng)元函數(shù)只能對輸入變量線性組合結(jié)果進行一次非線性變換。

            核心算法

            人工神經(jīng)網(wǎng)絡(luò)在設(shè)計的時候有兩個重點,一個是它的結(jié)構(gòu),即網(wǎng)絡(luò)分幾層,每層分幾個節(jié)點;第二個就是非線性函數(shù)f(.)的設(shè)計,常用的函數(shù)是指數(shù)函數(shù)。

            神經(jīng)網(wǎng)絡(luò)的計算模型,依靠大量的數(shù)據(jù)來訓(xùn)練,在進行訓(xùn)練前首先要定義成本函數(shù),而成本函數(shù)簡單來說就是通過機器學(xué)習(xí)得出的結(jié)果和實際結(jié)果間的差距,或者說訓(xùn)練值本身的靠譜程度。

            而學(xué)習(xí)和訓(xùn)練的算法即是根據(jù)成本函數(shù)的結(jié)果, 自學(xué), 糾錯, 最快地找到神經(jīng)元之間最優(yōu)化的加權(quán)值。神經(jīng)網(wǎng)絡(luò)算法的核心就是:計算、連接、評估、糾錯、瘋狂培訓(xùn)。

            對于學(xué)習(xí)的過程可以看到由于有多個S隱含層,因此隱含層越多,整個學(xué)習(xí)的復(fù)雜度和成本越大,整個學(xué)習(xí)過程也是一層一層逐步進行學(xué)習(xí)。

            神經(jīng)網(wǎng)絡(luò)訓(xùn)練

            整個神經(jīng)網(wǎng)絡(luò)的訓(xùn)練分為有監(jiān)督的訓(xùn)練和無監(jiān)督的訓(xùn)練。

            有監(jiān)督的訓(xùn)練:即準備訓(xùn)練的數(shù)據(jù)樣本的x輸入,同時本身有y輸出,我們需要的是將深度學(xué)習(xí)完成后的y1和我們期望的y進行差距比對,來最終確定訓(xùn)練結(jié)果中選擇哪個權(quán)重系數(shù)最合適。簡單來說,就是有了訓(xùn)練數(shù)據(jù),定義了一個成本函數(shù)C,然后按照梯度下降法找到讓成本達到最小值的那組參數(shù)。

            無監(jiān)督的訓(xùn)練,則是只有輸入數(shù)據(jù)X,而沒有對應(yīng)的輸出數(shù)據(jù)Y,這樣上面的成本函數(shù)就無法定義。因此我們就需要定義一個新的成本函數(shù),該成本函數(shù)能夠在不知道正確的輸出結(jié)果值的前提下,確定訓(xùn)練出來的模型究竟是好還是壞。

            深度學(xué)習(xí)當(dāng)前主要應(yīng)用在計算機視覺,語音識別,自然語言處理等領(lǐng)域。

            貝葉斯學(xué)派

            對于貝葉斯學(xué)派來說,學(xué)習(xí)只是另外一種形式的概率推理。你需要做的僅僅是運用貝葉斯定理,把假設(shè)當(dāng)作可能的原因,把數(shù)據(jù)當(dāng)作觀察到的效果。

            對于貝葉斯理論和隱式馬爾科夫鏈的描述個人認為仍然沒有《數(shù)學(xué)之美》這本書描述的淺顯易懂。因此這本書內(nèi)容也可以參考《數(shù)學(xué)之美》和網(wǎng)上的參考資料進一步學(xué)習(xí)。對于貝葉斯學(xué)派有一個重點,就是將我原來的精確模型轉(zhuǎn)變?yōu)榱嘶诮y(tǒng)計學(xué)思維的概率模型,其次是給出了一種從結(jié)果反推原因的一種可能。

            基于統(tǒng)計學(xué)的思維真正當(dāng)前深度學(xué)習(xí)和人工智能中的一個關(guān)鍵點,包括大數(shù)據(jù)相關(guān)技術(shù)的發(fā)展,都為基于大量數(shù)據(jù)訓(xùn)練和統(tǒng)計分析思路,來逆向推導(dǎo)模型成為了可能。而對于貝葉斯公式重點就是條件概率,貝葉斯理論的應(yīng)用場景很多,如在賣手游賬號互聯(lián)網(wǎng)領(lǐng)域中的語義和詞法分析,知識聚類,互聯(lián)網(wǎng)垃圾郵件的過濾等,都可以基于貝葉斯理論為基礎(chǔ),進行條件概率的反向推倒。

            邏輯和概率,一對不幸的組合:貝葉斯學(xué)派和符號學(xué)派一致認為,先驗假設(shè)不可避免,但對他們認可的先驗知識的種類卻存在分歧(P224頁),顯然我們既需要邏輯,也需要概率。將聯(lián)結(jié)學(xué)派和進化學(xué)派結(jié)合起來相對簡單,只要改善網(wǎng)絡(luò)結(jié)構(gòu),利用反向傳播來掌握參數(shù)。但是將邏輯和概念統(tǒng)一起來卻困難的多。多數(shù)專家認為將邏輯和概率相統(tǒng)一是不可能的,尋求一個終極算法的前景并不樂觀。

            對貝葉斯公式補充說明

            

            首先我們看下百度百科關(guān)于貝葉斯公式的基礎(chǔ)定義:

            貝葉斯定理由英國數(shù)學(xué)家貝葉斯 ( Thomas Bayes 1702-1761 ) 發(fā)展,用來描述兩個條件概率之間的關(guān)系,比如 P(A|B) 和 P(B|A)。按照乘法法則,可以立刻導(dǎo)出:

            P(A∩B)=P(A)*P(B|A)=P(B)*P(A|B)。

            如上公式也可變形為:P(B|A)=P(A|B)*P(B) / P(A)。

            那么對于上述公司的理解即是當(dāng)我們知道B發(fā)生的時候A成立的概率的時候,是可以反推A發(fā)生的時候B成立的概率的,但是前提是還需要知道兩個先驗概率,即P(B)和P(A)。

            看個例子進行說明如下:

            一座別墅在過去的 20 年里一共發(fā)生過 2 次被盜,別墅的主人有一條狗,狗平均每周晚上叫 3 次,在盜賊入侵時狗叫的概率被估計為 0.9,問題是:在狗叫的時候發(fā)生入侵的概率是多少?

            那結(jié)算的時,我們假設(shè) A 事件為狗在晚上叫,B 為盜賊入侵,則以天為單位統(tǒng)計:

            P(A)=3/7,P(B)=2/(20*365)=2/7300,P(A|B)=0.9

            按照公式很容易得出結(jié)果:P(B|A)=0.9*(2/7300) / (3/7)=0.00058

            即要知道P(B|A)首先要有兩個獨立的先驗概率,即狗叫的概率和歹徒入侵的概率。

            我們再來看一個場景:

            若某人已患禽流感,那么指標(biāo)A檢驗結(jié)果為陽性的概率為90%。那如果我們要分析張三檢驗結(jié)果為陽性,究竟患禽流感的概率有多大呢?即需要計算P(B|A),B為禽流感的概率。

            要計算這個,首先我們要知道P(B)的值,如果根據(jù)歷史數(shù)據(jù)禽流感的患病率為1/1000。知道了這個后我們還需要知道P(A)的值是多少,即檢查結(jié)果為陽性的概率是多少?

            那么P(A)如何結(jié)算的,可以看到陽性概率我們可以轉(zhuǎn)換計算,即陽性的檢查概率應(yīng)該等于患病的人檢查未陽性的概率+未患病的人檢查未陽性的概率。

            即P(A)=P(A|B)*P(B)+P(A|-B)*P(-B)

            上面的公式可以轉(zhuǎn)換為P(B|A)=P(A|B)*P(B) / P(A)=P(A|B)*P(B) / P(A|B)*P(B)+P(A|-B)*P(-B)

            P(A|-B)解釋起來就是,如果某人沒有患禽流感,但是檢查結(jié)果為陽性的概率。P(A|B)-若某人已患禽流感,那么指標(biāo)A檢驗結(jié)果為陽性的概率為90%P(A|-B)-若某人未患禽流感,那么指標(biāo)A檢驗結(jié)果為陽性的概率為9%P(B)-禽流感的整體患病率為0.1%

            知道了這幾個數(shù)據(jù),我們同樣可以計算得出當(dāng)檢查結(jié)果為陽性時候的患病概率。即貝葉斯公式最大的功勞是解決了兩個條件概率之間的關(guān)系和互求問題。

            對于中間的公式轉(zhuǎn)換我們也說清楚了,當(dāng)要計算反向的條件概率的時候,你可以去找兩個獨立的先驗概率,即A發(fā)生的概率和B發(fā)生的概率。也可以只找一個先驗概率,將另外一個概率轉(zhuǎn)換為非B情況下的條件概率。

            貝葉斯理論的應(yīng)用場景很多,如在互聯(lián)網(wǎng)領(lǐng)域中的語義和詞法分析,知識聚類,互聯(lián)網(wǎng)垃圾郵件的過濾等,都可以基于貝葉斯理論為基礎(chǔ),進行條件概率的反向推倒。

            類推學(xué)派-像什么就是什么

            類比是推動許多歷史上最偉大科學(xué)進步的動力。在這部分講了兩個算法,一個是最相鄰算法,一個是支持向量機,對于這兩個算法簡單解釋如下:

            何謂K近鄰算法,即K-NearestNeighbor algorithm,簡稱KNN算法, K個最近的鄰居,當(dāng)K=1時,算法便成了最近鄰算法,即尋找最近的那個鄰居。也即是給定一個訓(xùn)練數(shù)據(jù)集,對新的輸入實例(或者說是給定的數(shù)據(jù)集),在訓(xùn)練數(shù)據(jù)集中找到與該實例(數(shù)據(jù)集)最鄰近的K個實例,這K個實例的多數(shù)屬于某個類,就把該輸入實例分類到這個類中。

            對于最相鄰算法可以看到我們現(xiàn)在進行大數(shù)據(jù)分析中的聚合分析的時候經(jīng)常采用。

            在機器學(xué)習(xí)領(lǐng)域,支持向量機SVM(Support Vector Machine)是一個有監(jiān)督的學(xué)習(xí)模型,通常用來進行模式識別、分類以及回歸分析。Vapnik等人在多年研究統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上對線性分類器提出了另一種設(shè)計最佳準則。其原理也從線性可分說起,然后擴展到線性不可分的情況。甚至擴展到使用非線性函數(shù)中去,這種分類器被稱為支持向量機(Support Vector Machine,簡稱SVM)。支持向量機的提出有很深的理論背景。

            支持向量機方法是在后來提出的一種新方法。

            SVM的主要思想可以概括為兩點:⑴它是針對線性可分情況進行分析,對于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性不可分的樣本轉(zhuǎn)化為高維特征空間使其線性可分,從而 使得高維特征空間采用線性算法對樣本的非線性特征進行線性分析成為可能。

            

            符號學(xué)派的核心,即所有的知識都可以用抽象的符號來表達,而我們認知的過程即是對各種符號的加減乘除。從這個意義上來說傳統(tǒng)的數(shù)理化都可以理解為符號學(xué)派,即我們對世界現(xiàn)象的觀察都最終抽象為符號,同時由各種符號在組成一個個精確的模型,而這就是歸納和逆向演繹的過程。

            當(dāng)然,有了前人的總結(jié)和歸納,后人往往只需要進行演繹和應(yīng)用即可,即當(dāng)我們拿到輸入后只需要經(jīng)過這種模型計算最終就得到我們期望的輸出。

            符號學(xué)派是精確模型,認為世間現(xiàn)象是可以精確描述的,希望通過精確模型來解釋。而我們認知的過程往往又是希望通過最少的現(xiàn)象進行總結(jié)和歸納得出一個可以演繹所有現(xiàn)象的模型。那這里面就會有一個關(guān)鍵的問題,即:

            由于所有現(xiàn)象沒辦法窮舉,導(dǎo)致我們最終得出的模型本身是錯誤的,一個方法或定理只要有一個現(xiàn)象用以證謬,那就不會在成立,即使現(xiàn)在成立也很可能是我們沒有找到證謬的現(xiàn)象。

            那這里面就有一個觀點,即:

            從觀察現(xiàn)象-》進行歸納-》提出假設(shè),然后還需要對假設(shè)進行驗證,只有經(jīng)過進一步被實驗或其它演繹推理論證成立的假設(shè)才可能形成真正的科學(xué)模型指導(dǎo)后續(xù)實踐。

            符號學(xué)派的另外一個重點就是if.. Then結(jié)構(gòu),即如果輸入滿足什么條件,那么我們就可以應(yīng)用什么模型來解決我們面對的問題,我們將這些規(guī)則和模型輸入到計算機中,那么計算機就可以基于預(yù)設(shè)的這些內(nèi)容進行計算和學(xué)習(xí),或者連學(xué)習(xí)都談不上,只是計算機有了類似人一樣的知識庫和知識匹配模式。

            那么在這種情況下就會變成算法和模型是已知的,匹配規(guī)則是已知的,計算機要做的就是等待輸入,通過匹配規(guī)則選擇最恰當(dāng)?shù)乃惴▉斫鉀Q問題。

            符號學(xué)派核心邏輯是歸納和演繹推理,表達方式是通過符號的形式化表達。

            

            從符號學(xué)派到聯(lián)結(jié)學(xué)派和進化學(xué)派

            這個理解清楚后再來看聯(lián)結(jié)學(xué)派和進化學(xué)派,對于這兩個學(xué)派其實有很多的相似,但是都體現(xiàn)了學(xué)習(xí)的概念,即計算機的自我學(xué)習(xí)能力。而任何學(xué)習(xí)最基本的要求就是需要有訓(xùn)練集和測試集,同時需要有一個基本的模型框架結(jié)構(gòu),通過學(xué)習(xí)只是對模塊框架里面的參數(shù)進行調(diào)整。

            而這兩個學(xué)派的內(nèi)容可以看到基本都滿足上面的關(guān)鍵特征,即一開始我們并不知道精確模型究竟是如何的,而是需要通過學(xué)習(xí)和訓(xùn)練才能得出精確模型。

            對于聯(lián)結(jié)學(xué)派中的神經(jīng)網(wǎng)絡(luò),其核心支撐基礎(chǔ)是模擬大腦的神經(jīng)元和神經(jīng)網(wǎng)絡(luò)模型,認為神經(jīng)元存儲的僅僅是離散的知識點,而神經(jīng)元之間的聯(lián)結(jié)往往才是最重要的,這和符號學(xué)派里面強調(diào)的單一符號是離散知識點,而通過符號形成的最終認知模型才是最重要的。

            對于遺傳學(xué)派中的遺傳算法,則是模擬達爾文生物進化論的自然選擇和遺傳學(xué)機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。遺傳算法的關(guān)鍵是適應(yīng)度函數(shù),因此遺傳算法持續(xù)迭代就是不斷的逼近到我們期望的達到目標(biāo)的適應(yīng)度。

            對于遺傳算法可以進一步總結(jié)為不斷提升適應(yīng)度的過程,而首先則需要通過編碼后形成一個初始化的種群,通過適應(yīng)函數(shù)去考核每個基因的生存能力,然后選擇交叉變異去實現(xiàn)進化,搜索出種群的近似最優(yōu)解。

            其關(guān)鍵步驟即:

            初始化種群-》適應(yīng)選擇-》交叉變異-》適應(yīng)度選擇-》持續(xù)迭代。

            對于神經(jīng)網(wǎng)絡(luò)一定需要大量的訓(xùn)練數(shù)據(jù)進行訓(xùn)練,而對于遺傳算法類似啟發(fā)式持續(xù)迭代搜索最優(yōu)解的過程,神經(jīng)網(wǎng)絡(luò)有大的框架和模型結(jié)構(gòu),而遺傳算法即使最終得出最優(yōu)解往往也并沒有實際從邏輯上去解釋的模型結(jié)構(gòu)。

            對于貝葉斯學(xué)派我更愿意理解為大數(shù)據(jù)環(huán)境下的統(tǒng)計學(xué)思維學(xué)派,這個學(xué)派的產(chǎn)生具有重點顛覆性的意義,即從精確到概率,從確定到不確定,從小范圍抽樣到全集,從輸入+模型=》輸出變化到輸入+輸出=》模型,從原因到結(jié)果發(fā)展到能夠從結(jié)果逆向分析原因。所有這些內(nèi)容都在貝葉斯學(xué)派完成。

            對于這部分內(nèi)容和演講過程在吳軍博士的《智能時代》這本書解釋的相當(dāng)清楚,即:

            機械思維(傳統(tǒng)的符號學(xué)派)完全建立在確定性的基礎(chǔ)上,而信息論則完全相反,建立在不確定性(假設(shè))基礎(chǔ)上,要消息不確定性就必須引入信息。

            于是我們的思維邏輯發(fā)生進一步變化,即從機械思維到大數(shù)據(jù)思維的轉(zhuǎn)變。

            復(fù)雜時間很難找到確定性和因果關(guān)系-》因此用不確定性眼光看待世界-》把智能問題轉(zhuǎn)化為消除不確定性的問題-》找到消除相應(yīng)不確定性的信息(或者說大量具有相關(guān)性的數(shù)據(jù)可以幫助我們消除這種不確定性)。

            這里面有一個關(guān)鍵,即我們通過輸入-》算法-》輸出,這個算法并不是可以精確表達的,或者你都不清楚究竟這個算法是什么,也不能用符號精確描述,但是這個算法卻從統(tǒng)計學(xué)思維上最終給了你最有價值的輸出。

            我們不斷在找尋終極算法,但是面對世界的復(fù)雜性,越是采用符號學(xué)派的思路越難真正找到一個可以解釋所有現(xiàn)象的精確模型,而面對這種復(fù)雜和不確定性,在有了大量歷史數(shù)據(jù)積累的情況下,真正該有的思路即用大數(shù)據(jù)思維看待這種不確定性,去尋找能夠消除這種不確定性的最優(yōu)算法,而這個算法本身又是計算機有了人工智能后不斷的自我學(xué)習(xí),訓(xùn)練和進化而來的。

            前面談到的吳軍老師的《智能時代》,對里面和算法和學(xué)習(xí)相關(guān)內(nèi)容整理:

            

            我們認識世界的方式是如何的?

            這是這本書帶來的第二個有價值的點,即我們認識世界的方式一直在轉(zhuǎn)變,人類不斷的在采集信息,又將信息轉(zhuǎn)變?yōu)橹R,再將知識轉(zhuǎn)變?yōu)檎J識和改造世界的方法論。人類文明的過程可以簡化為:

            獲取數(shù)據(jù)-》分析數(shù)據(jù)-》建立模型-》預(yù)測未知

            而在古希臘和古羅馬文明時代,這里面有出現(xiàn)兩個點:

            其一是模型可能是錯的或者被復(fù)雜化,其原因是我們建立模型前由于我們認知局限,導(dǎo)致建立的假設(shè)本身就是錯的?例如托勒密的天體運行軌道模型,基于地心說+圓形軌道假設(shè)建立;

            其二是我們的模型是定性的,即我們很難有抽象的數(shù)學(xué)公式,并定量的去描述一個模型。而這些形成形成科學(xué)體系,要到近代科學(xué)家牛頓。

            牛頓最直接的貢獻,在于他用簡單而優(yōu)美的數(shù)學(xué)公式破解了自然之謎,其發(fā)表的巨著《自然哲學(xué)之?dāng)?shù)學(xué)原理》中,用簡單公式破解了宇宙萬物運行規(guī)律,其偉大成就就是宣告了科學(xué)時代的來臨。

            那么在這個階段最核心的就是機械思維,這種思維的核心包括了三點:

            其一是世界變化是有規(guī)律可循的其二是規(guī)律本身是有確定性可循的,并且可以用數(shù)學(xué)公式來精確表達;其三是這些規(guī)律可以用到未知領(lǐng)域指導(dǎo)實踐,改造自然。

            從這三點核心上也可以看到機械思維在前面幾次工業(yè)革命上帶來的巨大推動作用和價值。

            有果必有因,有現(xiàn)象必能找到確定性,有確定性必能用精確模型描述。

            但是機械思維發(fā)展中出現(xiàn)兩個問題,即有些時候我們沒有辦法做到精確建模,這本身又有兩個原因,其一是對目標(biāo)Y造成影響的X因子太多,無法窮舉和認知全;其二是我們測量系統(tǒng)出現(xiàn)問題,簡單來說采集不全和測量不準。這些都對我們確定性思維造成挑戰(zhàn)。

            解決該問題本身又有兩種思路:

            其一是概率和統(tǒng)計其二是對信息不確定性的量化表達-信息論和信息熵(香農(nóng))。

            機械思維完全建立在確定性的基礎(chǔ)上,而信息論則完全相反,建立在不確定性(假設(shè))基礎(chǔ)上,要消息不確定性就必須引入信息。于是我們的思維邏輯發(fā)生進一步變化,即從機械思維到大數(shù)據(jù)思維的轉(zhuǎn)變。

            復(fù)雜時間很難找到確定性和因果關(guān)系-》因此用不確定性眼光看待世界-》把智能問題轉(zhuǎn)化為消除不確定性的問題-》找到消除相應(yīng)不確定性的信息(或者說大量具有相關(guān)性的數(shù)據(jù)可以幫助我們消除這種不確定性)。

            

            而這些大量的具備相關(guān)性的數(shù)據(jù),則滿足我們普遍定義的大數(shù)據(jù)3V特征

            數(shù)據(jù)量足夠大:足夠大才能夠消除不確定性多維度:多維度更加容易分析互信息和相關(guān)性數(shù)據(jù)完備性:防止原來采用的概率或抽樣方法帶來的小概率事件影響。

            先根據(jù)相關(guān)性解決問題和改進目標(biāo)-》在認知水平達到后自然會進一步探索相關(guān)背后的因果。

            為何大數(shù)據(jù)變革發(fā)生在今天?

            為了解決不確定性問題,就需要足夠大量的數(shù)據(jù),同時保證數(shù)據(jù)的完備性。而隨著存儲技術(shù),網(wǎng)絡(luò)技術(shù),傳感網(wǎng)和數(shù)據(jù)采集技術(shù)的發(fā)展,我們獲取數(shù)據(jù)和存儲數(shù)據(jù)都更加容易。數(shù)據(jù)雖然出現(xiàn)指數(shù)級增長,但是我們已經(jīng)有能力和手段進行數(shù)據(jù)采集,存儲,分析挖掘。

            數(shù)據(jù)挖掘里面有個重點又是影響智能革命的機械學(xué)習(xí)和人工智能。

            

            今天廣泛使用的人工神經(jīng)網(wǎng)絡(luò),最大熵模型,邏輯回歸等理論早在40年前就已經(jīng)成熟,但是一直沒有受到太大重視,直到2021年Google創(chuàng)造了奇跡的阿爾法狗,其訓(xùn)練算法就是人工神經(jīng)網(wǎng)絡(luò)。

            機器學(xué)習(xí)的過程無一例外是一個不斷迭代,不斷進步的過程。專業(yè)術(shù)語就是期望值最大化,只要事先確定一個目標(biāo),這些算法就會不斷的優(yōu)化目標(biāo),讓他越來越接近真實的情況。那機器學(xué)習(xí)的三個核心要素即:

            數(shù)據(jù)量, 模型復(fù)雜度,迭代次數(shù)+學(xué)習(xí)深度層次

            借助大數(shù)據(jù)和并行計算技術(shù),可以看到三個問題都可以很好解決,對于大數(shù)據(jù)量下我們也可以采用復(fù)雜模型進行深度學(xué)習(xí)并創(chuàng)造奇跡。對于阿爾法狗的勝利即可以看到大量歷史數(shù)據(jù)棋譜的輸入,更加復(fù)雜的人工神經(jīng)網(wǎng)絡(luò)模型,以及通過大規(guī)模并行解決解決學(xué)習(xí)深度和迭代次數(shù)問題。

          本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
          打開APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          人工智能革命:歷史、當(dāng)下與未來
          人工智能入門基礎(chǔ)之一代宗師
          危機發(fā)生時市場決策行為的剖析:基于不確定系統(tǒng)理論
          決策樹分類和預(yù)測算法的原理及實現(xiàn) | 36大數(shù)據(jù)
          地質(zhì)統(tǒng)計學(xué)反演技術(shù)專題之三:基于MCMC的StatMod及RockMod
          對話RealAI:從底層技術(shù)框架出發(fā),引入貝葉斯深度學(xué)習(xí),推動第三代AI發(fā)展 | 鎂客請講
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
          綁定賬號成功
          后續(xù)可登錄賬號暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點擊這里聯(lián)系客服!

          聯(lián)系客服