爲什麼我們現在會對機器學習感興趣?

這是 MIT 出版社 Essential Knowledge 系列中《Machine Learning: The New AI》的第一章。

當初讀很有啓發,最近開始重新學 ML,便用空閒時間翻譯過來。

這篇最有意思的兩點。第一,從計算機發展的角度來解釋當前這個大數據+AI 時代的產生。比起之前我看一些只是提到 Data + Computation 的直接說法,這無疑更讓人有種豁然開朗的感覺,因爲現在這些很熱的詞彙 AI,大數據,物聯網什麼,都跟基礎的計算髮展有關,如果我們瞭解這些,那麼對它們之間的連接也就更直觀,而不是鬆散的概念。

第二,關於如何從大腦中獲得智能理論,之後在進行不同硬件實現的設想。腦洞有點大,挺有意思的。

數字化的力量

在過去半世紀裏,計算與數字技術給我們生活帶來巨大轉變。幾世紀前發明的工具,設備和服務,現在越來越多地被其數字化的“e-”版本所取代,而我們自身也在不斷地適應這種數字環境。

這種轉變非常之快:曾經計算機價格昂貴,只有大組織,如政府,大公司,大學能負擔得起。那時也只有這些組織要計算機來解決一些難題,還能承擔得起採購和維護的高成本。那時,計算機“中心”,分佈在不同樓層或建築,裏面容納着耗電量巨大的龐然大物,在大廳裏,磁帶轉動,卡片打孔,數字被咀嚼,Bug (本義蟲子,又常指程序中的故障) 還是真正的蟲子。

很快,隨着計算機越來越廉價,可供更多人使用了,於是其應用領域也得到了擴大。一開始計算機只是個計算器,用來加減乘除數字,現在卻花樣百出。或許計算機技術的主要驅動力便是,當人們意識到每條信息都可數字化。這意味着之前處理數字的計算機,也能用於處理所有類型的信息(數字化的)了。

更確切說,計算機將每個數字表示爲0或1的二進制數(比特)序列,之後這種序列也能表示其他信息。例如,“101100”可表示數字 44,同時也是逗號的代碼; 同樣,“1000001”同時是 65 和大寫字母'A'。根據環境,計算機程序用其中一種解釋來操作序列。

事實上,此類比特序列不僅可代表數字和文本,還能代表其他類型的信息 - 例如,照片的顏色或歌曲的色調,甚至計算機程序本身就是比特序列。此外,與這些信息相關聯的操作(例如使圖像更亮或在照片中找到面部)也能被轉換爲操縱比特序列的命令序列。

計算機存儲數據

計算機的強大之處在於每條信息都能數字化表示,並且對於這些表示,都能寫成出計算機指令來進行操作。

這就導致了20世紀60年代數據庫的出現。數據庫是用於存儲和操縱數據的特殊程序。此外還有些外存儲設備,比如磁帶或磁盤,以磁性方式存儲數據,即使關機內容也不會被擦除。

有了數據庫,計算機就不再只是處理信息的工具,更成了數字化信息的存儲庫。隨着時間推移,數字媒體變得越來越快速,廉價和可靠,以至於取代了紙,成了人類信息存儲的主要手段。

之後,微處理器的發明,以及其小型化和成本減少的並行發展,20世紀80年代初起,個人計算機越來越普及。這使得小型企業也能使用計算機了,但最重要的是計算機體積小且便宜,足以讓其成爲日常家用電器了。這讓每個人發現了值得計算機處理的任務,於是應用程序大量增長,隨後便是數字技術民主化時代的到來。

圖形化界面和鼠標使計算機更易使用。我們不用學習編程,也不用記住各種複雜的指令。屏幕就是工作環境的數字模擬,有虛擬桌面,有文件,有圖標,甚至有垃圾桶,鼠標就是虛擬手,可以用它來選擇,閱讀或編輯。

同時,軟件也從商業應用轉向了個人應用,通過處理更多類型數據,讓生活更加數字化了。我們有文字處理器(Word)來處理信件和其他個人文件,有電子表格(Excel)來處理家用計算,還有音樂或攝影等愛好的軟件;如果想,還能用它來玩遊戲!計算已經成了日常。

用戶界面,還有各種日常應用,意味着人與計算機之間的一種和解,過去所熟悉的現實世界和數字世界的和解。計算機被編程得更好地適應我們的生活,而我們也慢慢地一點點去適應它們。隨着時間推移,使用電腦已是基本技能。

個人計算機使數字技術成爲生活中的一個重要部分,對於這裏要講到的故事而言,最重要的是它讓生活更多地被以數字方式記錄下來。因此,它是將我們生活數據化中很重要的基石,之後這些數據可用來分析和學習。

計算機交換數據

計算機的下一個重要發展便是連通性。雖然,之前有通過數據傳輸器連接計算機交換信息,但通過電話線或專用線路,將個人計算機彼此連接或連接到服務器的商業系統,卻要等到90年代才普及起來。

計算機網絡意味着計算機不再是孤立的了,而可以與遠程的計算機交換數據。用戶不再侷限於訪問自己計算機的數據,還能訪問其他地方的數據,如果想,也能將數據分享給其他用戶。

計算機網絡的發展很快便在因特網中到達了頂峯,因特網是一個覆蓋全球的計算機網絡。因特網使世界上任何能用計算機的人,都能向其他任何人發送電子郵件等信息。而且因爲所有數據和設備都已數字化,於是可共享的信息就不僅僅是文本和數字;還能是圖像,視頻,音樂以及其他任何東西。

通過計算機網絡,數字化信息能以光速發給在任何地方的任何人。至此,計算機就不再僅僅只是存儲和處理數據的機器,它也成爲了傳輸和共享信息的手段。計算機網絡發展很快,數字通信慢慢變得廉價,快速和可靠,以至於數字傳輸已取代實體郵件,成了信息傳輸的主要方式。

任何“在線”的人都能在計算機上通過網絡向其他人分享數據,這便是萬維網誕生的方式。人們可以在“網上”衝浪,瀏覽這些共享信息。很快,通過安全協議還能共享一些機密信息,從而允許通過網絡進行商業交易,例如在線購物或銀行業務。這種在線連接性進一步增加了數字技術的滲透。當使用網絡服務提供商的“www.”門戶獲得在線服務時,計算機就會變成商店,銀行,圖書館或大學的數字版本;這,反過來,又創造了更多數據

移動計算

每十年我們都能看到計算機變得越來越小,隨着電池技術的進步,在20世紀90年代中期,筆記本電腦也開始普及起來; 這開啓了移動計算的新時代。同一時間,手機也開始流行起來。在2005年左右,這兩項技術又都融入了智能手機中。

智能手機是種同時是計算機的手機。現在智能手機越來越智能,以至於手機最初的打電話功能,如今只是智能手機上衆多應用中的一個,還很少被用到。傳統手機是種聲學設備:你跟它說話,同時能聽到另一端的人說話。而今天的智能手機更像是個視覺設備; 它有個大屏幕,我們花更多時間在看屏幕,點擊它,而不是在說話。

智能手機就是臺始終在線的計算機,它允許用戶在移動時訪問互聯網,獲得各種信息。因此,它擴展了我們的連接性,讓我們更容易地連接網絡,例如在旅行時訪問其他計算機上的數據。此外,它還讓我們和我們的數據更容易被他人訪問了。

智能手機的一大特殊在於,它也是種移動傳感設備,因爲它始終在我們身上,可以不斷記錄我們的信息,特別是位置,並可以提供這些數據。智能手機讓我們可以被檢測,被追蹤,被記錄。

計算機移動性的提高也只是最近的事情。最早計算機很大,在“計算中心”裏;它保持固定,我們需要走到它面前使用。然後,我們可以坐在終端前使用計算機。再然後,一臺小型計算機出現在我們部門裏,再然後,一臺較小的計算機放在我們辦公室或家裏的桌子上,再然後,一臺更小的計算機出現在我們腿上,而現在,計算機已經放在我們口袋裏,天天陪伴我們了。

最早,計算機很少,可能每千人才有一臺計算機,比如每個公司或校園有臺計算機。這種人機比增加得非常快,而個人計算機的目標便是爲每人配備一臺計算機。今天每個人都有很多臺計算機。別不信,其實現在我們所有的設備都是計算機,或裏面有計算機。你的手機是臺計算機,你的電視也是,你的車內有許多計算機用於不同功能,而你的iPod播放器就如你的相機或手錶一樣是臺特殊的計算機。智能設備就是臺計算機,一臺可完成數字版所需功能的計算機。

普適計算是一個越來越受歡迎的術語;它意味着使用計算機,卻又意識不到在使用計算機。這意味着時刻使用大量計算機用於各種目的,而無需明確地將其稱爲計算機。數字版本的功能,具有其通常的優點,例如速度,準確性和易適應性。而另一個優點是,設備的數字版本可記錄數字化的所有數據。此外,如果它在線,還能與其他在線計算機交流,並提供其數據。我們稱它們爲“智能物件”,並將它們的連接稱爲物聯網

社交數據

幾千年前,如果你想被畫被雕刻,或讓你的故事被記住和傳頌,你得是神。一千年前,你需要成爲國王或王后,幾個世紀前,你需要成爲富商或他的家人。然而現在,任何人,甚至湯罐頭也可以被畫。計算和數據也發生了類似的民主化。曾經只有大型組織纔有值得用計算機去解決的任務,也只有它們擁有數據;而從個人計算機開始,人們甚至是物件也成了數據的生成者。

數據一個最近的來源是社交媒體,它是我們社交互動的數字化,它取代了過去在集市,廣場,市場中的討論;我們可對它的數據進行收集,存儲和分析。

通過社交媒體,每個人現在都是名人,每個人的生活都值得關注,我們是自己的狗仔隊。每次我們在線,我們就是名人。社交媒體允許我們在生活中寫下自己的數字自傳。在過去,書籍和報紙價格昂貴,很少有東西能被記下來,除了那些英雄偉人的故事。而現在記錄數據變得很廉價,每個人都是自己小小在線領土的國王和王后。今天,寵愛孩子的父母,在孩子第一個月產生的數據,就比荷馬講述完奧德修斯的完整冒險的數據還多。

大數據:數據衝擊

所有由數字化機器和服務產生的數據,都曾被認爲是數字化的副產品。而如今科學家爲了有效地存儲和操作大量數據,已對數據庫進行大量研究,存儲數據是因爲我們需要它。在過去二十年裏,所有這些數據都成了一種資源;更多數據意味着更好。

設想一下,如果一家超市連鎖店每天向數百萬客戶銷售數千種商品,無論是在各地的實體店中,還是通過網上的虛擬商店。銷售點終端都是數字化的,並記錄每筆交易的詳細信息:客戶ID,購買的商品和價格,花費的總金額等等。這些商店都連接着網絡,於是所有商店中所有終端的數據就可以馬上傳輸到中央數據庫中。這相當於每天都有很多(而且最新的)數據。

數據開始推動一切;不再是程序員,而是數據本身開始定義下一步該做什麼。

在過去二十多年裏,人們越發開始問自己,我們可以用這些數據做些什麼。有了這個問題,整個計算機發展方向便發生了逆轉。過去,程序處理數據,又吐出來數據——數據是被動的。而現在,數據本身開始推動操作;於是便不再是程序員,而是數據定義下一步該如何做。

比如,超市連鎖店總希望知道哪位顧客可能會購買哪種商品。知道這些後,商店就能更有效地存貨,這將增加銷售和利潤;還能提高客戶滿意度,因爲客戶能更快,更便捷地找到最符合其需求的產品。

然而這項任務並不簡單。我們不知道哪些人可能會購買這種口味冰淇淋,或看這部新電影。此外客戶行爲還會隨時間,地理位置而變化。

但我們能知道的是,客戶行爲並非完全隨機。人們不會去超市隨意買東西。當他們買啤酒時,也會買薯片;他們在夏天買冰淇淋,在冬天買 Glühwein 的香料。客戶行爲中存在某些模式,這就是數據發揮作用的地方。

雖然我們不瞭解客戶行爲模式,但我們希望在收集到的數據中看到它們。如果能在過去的數據中找到這種模式,那麼就可以假設未來,至少在不久的將來,發生的將與收集到的數據沒太大不同,我們可以對其做出預測。

我們或許無法完全一致的發現背後的行爲模式,但至少能構建出一個良好且有用的近似值。這種近似或許無法解釋所有過程,但可以解釋部分數據,檢測到一些模式。之後我們可以用這些模式來進行預測;它們也能幫助理解完整的行爲模式。

這被稱爲數據挖掘。類比自挖礦,從大量泥土中挖掘出少量非常珍貴的材料。同樣,在數據挖掘中,我們處理大量數據以構造具有使用價值的簡單模型,比如說有高預測準確性的模型。

數據挖掘是一種機器學習。因爲我們不知道客戶行爲的規則,無法編寫程序,但計算機可以通過從客戶的數據中提取出規則,來進行“學習”。

現在,許多潛在的應用存在於我們不知道規則,但卻有大量數據的地方。企業大量使用計算機和數字技術意味着,各種領域都有大量數據。個人在日常社交中也總使用計算機或智能設備,因此我們也有大量相關數據。

除了公司和個人數據,另一個數據來源是科學。隨着更好的傳感器的出現,可以檢測到更多數據,比如在天文學,生物學,物理學。我們需要用學習算法來理解這些越來越多的數據。

互聯網本身就是一個巨大的數據庫,我們需要智能算法來幫忙找到想要的東西。我們今天擁有的數據的一個重要特徵是,它是多模態的,對於同一件感興趣的對象或事件,相關數據有文字,圖像,還有聲音等等各種形式。因此,現在機器學習的一個大的挑戰是,如何結合這些不同來源的數據。例如,在消費者數據分析中,除了過去的交易數據外,還有 Web 日誌,這些日誌也可能很有用。

隨着在日常中使用越來越多的智能設備,我們都成爲了數據的生產者。每當購買產品,租用電影,訪問網頁,寫博客或在社交媒體上發帖時,甚至走路或開車時,我們都在生成數據。這些數據對於有興趣收集和分析的人來說很有價值,因爲客戶們總是對的。此外數據本身也很有趣。

同時,我們每個人不僅是數據生產者,同時也是數據消費者。我們希望得到定製化的產品和服務,希望需求能被理解,興趣能被迎合。這都得靠分析我們過去的數據。

學習 VS 編程

爲了用計算機解決問題,我們需要算法。算法就是一系列指令,用來將輸入轉爲輸出。例如,可以設計一個用於排序的算法,輸入是一組數字,而輸出是這些數的有序數列。對於相同的任務,可能存在多個算法,有時可能對最有效的算法感興趣,有時可能對最少指令或內存的算法感興趣,也或者都關注。

然而,對某些問題,沒有算法來解決。比如預測客戶行爲;還有區分垃圾郵件。我們知道輸入:電子郵件,最簡單的情況就是文本消息。我們知道輸出:判斷是否爲垃圾郵件。但卻不知道如何將輸入轉換爲輸出。什麼被認爲是垃圾郵件的標準是隨時間而變化的,而且對於不同人也是不同的。

這些缺失的知識,就只能從數據中尋找了。我們可以輕鬆地編譯成千上萬條消息,其中一些知道是垃圾郵件,其中一些不是,我們想要的是,從這些樣本中“學習”到什麼是垃圾郵件。換句話說,我們希望計算機自動提取該任務的算法。雖然沒有必要去學習排序數組的算法(已經有了),但有很多應用我們並沒有算法,卻有大量數據。

人工智能

機器學習不僅只是個數據庫或編程問題;它也是人工智能的必要條件。一個處於不斷變化環境中的系統,應具備學習能力;否則很難稱爲聰明。如果系統能學習並適應變化,系統設計者就無需預測,爲所有可能情況提供解決方案。

對人類來說,進化就是我們的系統設計師,我們身體的形狀,以及內在直覺反應都發展了數百萬年。我們還學會了如何在生活中改變自己的行爲,這有助於應對進化無法預測的環境變化。在一個明確定義的環境中,一個簡單生命可能會內置所有行爲模式,但比起這種對生活中每種模式編碼出一個應對方法,進化給了我們大腦和其中的學習機制,讓我們能通過經驗更新自己,適應不同的環境。這就是爲什麼人類能在非常不同的氣候和條件下,在全球不同地區生存繁榮。當我們在某種情況下學到最佳策略時,知識就會存儲在大腦中,當情況再次出現,就會回想起合適的策略並採取相應的行動。

我們每個人,甚至說每個動物,都是數據科學家。我們從傳感器收集數據,然後處理數據以獲得抽象規則來認知環境,並控制在該環境中的行爲,以最小化疼痛或最大化愉悅。我們可以用記憶將這些規則存儲在大腦中,然後在需要時回憶並使用。並且學習是終身的,之後當環境發生變化,我們會遺忘或修改不再適用的規則。

然而,學習有其侷限性。可能有些東西永遠無法通過大腦有限的能力來學習,就像我們永遠無法“學習“長出第三隻手,或者是腦袋後長出眼睛(這得改變基因構成)。粗略地說,遺傳學定義了能工作上萬代的硬件,而學習則定義了在個人生命週期中運行在硬件上的軟件。

人工智能雖然可從大腦獲得啓發。比如,認知科學家和神經科學家的爲了瞭解大腦功能,建立了神經網絡模型,並進行模擬研究。然而,人工智能現在主要是計算機科學的一部分,我們的目標是建立有用的系統,如在其他工程領域一樣。因此,雖然大腦給了啓發,但最終我們並不太關心所開發算法的生物合理性。

我們對大腦感興趣,是因爲相信它能幫我們構建更好的計算機系統。大腦具有很多強大的功能,在許多領域超越了當前的工程產品 - 例如視覺,語音識別和學習方面。如果能在機器上實施這些,那麼這些應用將具有非常大的經濟效益。如果我們能夠理解大腦如何實現這些功能的,就能將這些任務的解決方案轉換成正式算法,並在計算機上實現。

計算機也被稱爲“電腦”,但計算機和大腦是不同的。計算機通常具有一個或多個處理器,而大腦則由大量的處理單元(神經元)組成,進行並行操作。儘管細節尚未太清楚,但一般認爲這些處理單元比計算機中的一般處理器更簡單和更慢。另一個讓大腦與衆不同,並被認爲提供其計算能力的特性,是它的超強連接性。大腦中的神經元與成千上萬的其他神經元用突觸連接,並且並行運行。在計算機中,處理器是主動一直運行的,而存儲器則是分離和被動的;然而在大腦中的處理器和存儲器,確是分佈在網絡上的,處理由神經元完成,記憶發生在神經元的突觸中。

瞭解大腦

根據 Marr(1982)的觀點,一個信息處理系統可分爲三個層次來理解:

  1. 對應計算目標和任務抽象定義的計算理論

  2. 表示算法,關於如何表示輸入和輸出,以及關於從輸入轉換到輸出的算法的規範;

  3. 硬件實現是系統的實際物理實現。

這背後的思想是,對於相同計算理論,可能存在多個表示和操縱該表示中符號的算法。類似的,對於任何給定表示和算法,可能存在多個硬件實現。對於任何理論,可用衆多算法中的一個,對於這個算法,可用多個不同硬件中的一個實現。

舉個例子:'6','VI'和'110'是數字六的三種表示;分別是阿拉伯數字,羅馬數字和二進制數。根據所用表示,我們有不同的加法算法。數字計算機用二進制數,並且用特定電路對它做加法,這是種特定的硬件實現。而在算盤上,數字表示是不同的,而且加法操作也對應不同指令集,這是另一種硬件實現。當我們在腦袋中加兩個數時,會使用另一種表示,和適合於該表示的算法,該算法由神經元實現。然而,所有這些硬件實現,大腦,算盤,計算機,都是爲了實現同一個計算理論:加法。

還有一個典型的例子是,自然飛行器和人造飛行器的區別。一隻麻雀拍打翅膀來飛;而一架飛機機翼卻不能拍打,而是用噴氣式發動機。麻雀和飛機是爲不同目的而構建的兩種硬件實現,滿足不同約束。但都實現了相同的理論,即空氣動力學。

從這個角度,我們可以說大腦是一種用於學習的硬件實現。如果從這個實現中,能逆向工程提取出所用的表示和算法,然後從中獲得其所實現的計算理論,那麼就可以用另一種表示和算法,用現有的更適合的硬件來實現,並且希望這個實現能更便宜,更快捷,更準確。

正如發現空氣動力學理論過程一樣,最初大家嘗試建造的飛行器看起來很像鳥類,因此也能預期,最初搭建具有大腦能力的系統時,也會是看起來像是具有大量處理單元網絡的大腦。在未來,當我們發現了智能的計算理論時,或許會發現神經元和突觸只不過是實現細節,就像羽毛之於飛行一樣。

模式識別

在計算機科學裏,很多任務我們都試着搭建,由人工規則和算法組成的“專家系統”。然而幾十年卻只取得了非常有限的成果。這裏面涉及到的很多任務,都被認爲需要一定程度的智能。而最近,一個方法讓我們看到了巨大進展,那就是在大量數據中使用機器學習。

舉個面孔識別的例子:人類能毫不費力地做到,我們每天都看臉或照片來識別家人和朋友,就算姿勢,燈光,髮型等方面有差異,也能輕鬆識別出來。面部感知對人類很重要,因爲我們要借來區分朋友和敵人。除了識別功能,這和生存也有很大關係,因爲面部相當於我們內部狀態的儀表板。從臉上可以讀到諸如快樂,憤怒,驚訝和羞恥之類的感覺,我們進化到了不光會展示這些狀態,也能從別人身上發現這些狀態。

雖然我們很容易就能做出這樣的識別,但卻是無意識和本能的,自己無法解釋是如何做到的。正因爲無法解釋是如何做到的,所以也就無法編寫相應計算機程序。

而通過分析一個人的不同面部圖像,一個學習系統則會捕獲到特定於該人的模式,之後檢測給定圖像中是否有該模式。這是模式識別的一個例子。

我們能做到這個是因爲,面部圖像就像任何自然圖像一樣,不只是隨機像素的集合(比如花屏的電視)。臉有其結構。它是對稱的,眼睛,鼻子和嘴巴位於臉部的某些部位。每個人的臉,都是這些部位特定組合的一種模式。當照明或姿勢發生變化時,當頭發變長或戴上眼鏡時,或當我們變老時,臉部圖像的某些部分會變化,但有些部分卻不會。這類似於客戶行爲中定期購買和衝動購買。學習算法通過遍歷該一個人的多個圖像,來找到不變的辨別特徵,還有它們如何特定組合來定義這個人的臉。

當我們談學習的時候都談些什麼

在機器學習中,目標是構建能擬合給定數據的程序。學習程序與普通程序不同之處在於,它是個具有可變參數的通用模板,並能爲這些參數分配不同的值,來做不同的事情。學習算法可以通過調節模板(模型)的參數,不斷優化在數據上定義的性能指標。

例如,對於面部識別器,學習算法會調整參數,以使得在一組訓練圖像上獲得最高的預測準確度。這種學習通常是重複和漸進的。學習程序一個個地看大量樣本圖像,對於每個樣本,參數都稍微更新一點,以便性能逐漸提高。就像人的學習過程:當我們學習任務時,也是一步步學習它,慢慢做得更好,無論是網球,幾何學還是外語。

在構建學習系統時,主要需考慮:

  1. 應記住,僅僅擁有大量數據,並不意味着就有可學習的規則。首先應確保底層規則是存在相關性,並且收集的數據能提供足夠信息,以便能以一定準確度學習它們。假設有一本包含人名和電話號碼的電話簿,那麼認爲名字和電話號碼之間有關係,然後用電話簿(無論多大)進行學習訓練,之後看到新名稱來預測相應電話號碼的行爲是完全沒有意義的。

  2. 其次,學習算法本身應是高效的,因爲通常我們會有很多數據,並希望學習儘可能快,並能有效地使用計算和內存資源。還有在許多應用中,問題的隱藏特性可能會隨時間而變化;在這種情況下,先前收集的數據會變得過時,就要用新數據來有效地更新訓練模型。

  3. 最後,一旦學習系統被構建出,並開始使用它進行預測,它在記憶和計算方面也應是高效的。在某些應用中,最終模型的高效性,可能與其預測準確性一樣重要。

歷史

幾乎所有的科學都是用模型來擬合數據。科學家,如伽利略,牛頓和孟德爾,他們設計實驗,然後進行觀察並收集數據。之後,試圖通過設計理論來提取出知識,即建立模型來解釋觀察到的數據。之後再用這些理論來進行預測,如果預測錯誤,就收集更多數據並修改理論。這個數據收集和理論(模型)構建過程一直持續到他們得到了具有足夠解釋能力的模型爲止。

我們現在已經到了很難再對這些數據進行手動分析的地步,因爲數據量巨大,難以進行人工分析。而且能進行這種分析的人並不多。因此,人們開始越來越關注,能自動分析數據,並從中提取信息的計算機程序,即學習系統。

學習算法起源於不同的科學領域。有時相同或非常相似的算法,通過不同的歷史路徑,在不同的領域中獨立發明出來並不罕見。

機器學習的主要理論來自統計學,其中從特定觀察到一般描述被稱爲推理 (inference),而學習被稱爲估計(estimation)。分類在統計學中稱爲判別分析。統計學家過去常常在小樣本上工作,而且作爲數學家,他們主要研究能用數學方法分析的簡單模型。而在工程中,分類被稱爲模式識別,方法更經驗主義。

在計算機科學中,作爲人工智能研究的一部分,也對學習算法進行了研究;同時有一個平行但幾乎獨立的研究,被稱爲數據庫中的知識發現;在電氣工程中,信號處理的研究,產生了自適應圖像處理和語音識別程序。

在20世紀80年代中期,人們對各個學科的人工神經網絡模型產生了巨大的興趣。這些學科包括物理學,統計學,心理學,認知科學,神經科學和語言學,更別說計算機科學,電氣工程和自適應控制領域。也許神經網絡研究最重要的貢獻便是這種跨學科的共同作用,特別是統計學和計算機科學。始於20世紀80年代的神經網絡研究並非偶然。那時,隨着VLSI(超大規模集成)技術的進步,我們獲得了構建有着數千個處理器的並行運算硬件的能力,而神經網絡作爲一種,可以將計算分佈在大量處理單元並行運算的理論,也就引起了大家的興趣。並且,因爲可以自我學習,而不需要人工編程,大家興趣就更大了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章