作者:阿米特·V. 喬希(Ameet V Joshi)
來源:華章科技
01 人工智能
艾倫·圖靈(Alan Turing)對人工智能的定義如下:
如果窗簾后面有一臺機器,并且有人正在與之互動(無論以何種方式,例如音頻或打字等),并且如果該人覺得他正在與另一個人互動,那么這臺機器就是人工智能的。
這是定義AI的一種非常獨特的方式。它并不直接針對智能的概念,而是專注于類人的行為。事實上,這一目標的范圍甚至比單純的智能更為廣泛。從這個角度來看,AI并不意味著要建造一臺可以立即解決任何問題的超智能機器,而是要建造一臺能模仿人類行為的機器。
然而,僅僅制造模仿人類的機器聽起來并不有趣。從現代角度來看,每當我們談到AI時,指的是能夠執行以下一項或多項任務的機器:理解人類語言,執行涉及復雜操縱的機械任務,在很短的時間內解決可能涉及大量數據的基于計算機的復雜問題,并以類人的方式回復答案,等等。
電影《2001:太空漫游》中描述的超級計算機HAL非常接近現代AI的觀點。它是一臺機器,能夠處理各種來源的大量數據,并以極快的速度生成對其的見解和總結,并且能夠以類人的交互方式(如語音對話)將這些結果傳達給人類。
從類人行為的角度來看,人工智能有兩個方面。一方面,機器是智能的并且能夠與人類交流,但是沒有任何運動功能。HAL就是這類人工智能的例子。另一方面,涉及與類人的運動能力的物理交互,這涉及機器人領域。
02 機器學習
術語“機器學習”或簡稱ML(machine Learning),是亞瑟·塞繆爾(Arthur Samuel)在1959年用機器解決跳棋游戲的背景下提出的。該術語指的是一種計算機程序,它可以學習產生一種行為,而這種行為不是由程序的作者明確編程實現的。相反,它能夠顯示出作者可能完全沒有意識到的行為。
這種行為的學習基于三個因素:
- 程序消耗的數據;
- 量化當前行為和理想行為之間的誤差或某種形式的距離的度量;
- 使用量化誤差指導程序在后續事件中產生更好行為的反饋機制。
可以看出,第二個和第三個因素很快使這個概念變得抽象,并強調其深層的數學根源。機器學習理論中的方法對于構建人工智能系統至關重要。
機器學習算法大致分為三種類型:
- 監督學習算法
- 無監督學習算法
- 強化學習算法。
讓我們詳細了解每種類型。
03 監督學習
為簡單起見,讓我們將機器學習系統看作一個黑盒,在給定一些輸入時會產生些輸出。如果我們已經有一個歷史數據,該歷史數據包含一組輸入的一組輸出,則基于這些數據的學習稱為監督學習。
監督學習的一個經典示例是分類。假設我們已經測量了3種不同類型的花( Setosa山鳶尾、 Versicolor變色鳶尾、 Virginica弗吉尼亞鳶尾)的4種不同的屬性(尊片長度、尊片寬度、花瓣長度和花瓣寬度)。
我們對每種花的25種不同示例進行了測量。然后,這些數據將用作訓練數據,其中有可用于訓練模型的輸入(4個測量的屬性)和相應的輸出(花的類型)。然后以監督的方式訓練合適的機器學習模型。一旦模型被訓練好,就可以根據萼片和花瓣的尺寸對任何花(在三種已知類型之間)進行分類。
04 無監督學習
在無監督學習范式中,標記數據是不可用的。無監督學習的一個經典例子是“聚類”。考慮與前面小節中描述的相同示例,在該示例中,我們對三種類型的花的萼片和花瓣尺寸進行了測量。但是,在本例中,我們沒有每組測量的花的確切名稱。我們所擁有的只是一組測量值。此外,我們被告知這些測量值屬于三種不同類型的花。
在這種情況下,可以使用無監督學習技術自動識別三組測量值(所屬的)類簇。但是,由于標簽未知,我們所能做的就是將每個類簇稱為flower-type-1、flower-type-2和flower-type-3。如果給出一組新的測量值,我們可以找到它們最接近的類簇,并將它們歸類為其中之一。
05 強化學習
強化學習是一種特殊的學習方法,需要與監督和無監督方法分開對待。強化學習涉及來自環境的反饋,因此它并不是完全無監督的,但是,它也沒有一組可用于訓練的標記樣本,因此不能將其視為有監督的。在強化學習方法中,系統不斷地與環境進行交互以尋求產生期望的行為,并從環境中獲取反饋。
06 靜態學習
劃分機器學習方法的另一種方式是根據它們處理的數據類型進行分類。接收靜態標記數據的系統稱為靜態學習方法。處理隨時間不斷變化的數據的系統稱為動態方法。每種方法都可以是有監督的,也可以是無監督的,但是,強化學習方法始終是動態的。
靜態學習是指對作為單個快照獲取的數據進行學習,并且數據的屬性隨時間保持不變。一旦在數據上訓練了模型(使用監督學習或無監督學習),就可以在將來的任何時間將訓練后的模型應用于類似的數據,而且該模型仍然有效,并將按預期執行。典型的例子是不同動物的圖像分類。
07 動態學習
這也稱為基于時間序列的學習。這類問題中的數據對時間敏感,會隨著時間不斷變化。因此,模型訓練不是一個靜態的過程,而是需要不斷地(或在每個合理的時間窗口之后)對模型進行訓練,以保持有效。
此類問題的典型例子是天氣預報或股票市場預測。一年前訓練過的模型對于預測明天的天氣或預測明天任何股票的價格將完全無用。兩種類型的根本區別在于狀態的概念。在靜態模型中,模型的狀態是不變的,而在動態模型中,模型的狀態是時間的函數,它在不斷變化。
08 維數
在處理各種數據集時,維數通常是一個令人困惑的概念。從物理角度看,維度是空間維度:長度、寬度和高度。(為了簡單起見,我們不把時間當作第四維度來深入研究物理學。)在任何現實生活的場景中,我們遇到的都不超過這三個維度。
但是,當我們處理用于機器學習的數據時,通常有幾十個、數百個甚至更多個維度。為了理解這些高維度,我們需要研究維度的基本性質。
空間維度的定義使得每個維度都與其他兩個維度垂直或正交。這種正交性對于三維空間中的所有點都有唯一表示至關重要。如果維度不是互相正交的,則空間中的相同點可以具有多種表示形式,并且基于此的整個數學計算將失敗。
例如,如果我們將三個坐標設置為長度、寬度和高度,并具有任意的原點(原點的精確位置僅會更改坐標值,但不會影響唯一性屬性,因此只要它在整個計算過程中保持不變,任何原點的選擇都是可以的。)
坐標(0,0,0)標記原點本身的位置。坐標(1,1,1)將標記一個點空間,該點空間在每個維度中均距原點1個單位,并且是唯一的。沒有其他坐標系可以表示空間中的相同位置。
現在,讓我們將這個概念擴展到更高的維度。在數學上添加更多的維度相對容易,但是很難在空間上可視化它們。如果我們添加第四個維度,則它必須與之前的所有三個維度都正交。在這樣的四維空間中,原點的坐標為(0,0,0,0)。三維空間中的點(1,1,1)可以在四維空間中具有坐標(1,1,1,0)。
只要確保正交性,就可以保證坐標的唯一性。同樣地,我們可以有任意數量的維度,所有的數學計算仍然成立。
考慮前面描述的鳶尾花數據示例。輸入有4個特征:萼片和花瓣的長度和寬度。由于這4個特征相互獨立,所以它們可以看作是正交的。因此,當使用鳶尾花數據解決問題時,我們實際上是在處理四維輸入空間。
09 維數災難
即使從數學的角度來看,增加任意數量的維度都是可以的,但是仍然存在一個問題。隨著維度的增加,數據的密度呈指數下降。
例如,如果我們在訓練數據中有1000個數據點,并且數據具有3個獨有的特征。假設所有特征的值在1~10之間。所有這1000個數據點都位于一個大小為10×10×10的立方體中。因此,密度為1000/1000或每單位立方體1個樣本。如果有5個獨有的特征而不是3個,那么數據的密度很快就會下降到每單位5維立方體0.01個樣本。
數據的密度很重要,因為數據的密度越高,找到一個好模型的可能性就越大,模型準確性的置信度就越高。如果密度很低,則使用該數據的訓練模型的置信度就會很低。因此,盡管高維在數學上是可以接受的,但是人們需要注意維數,以便能夠開發出具有高置信度的良好的機器學習模型。
10 奧卡姆剃刀原理
在開發和應用機器學習模型時,總是會遇到多種可能的解決方案和多種可能的方法來獲得答案。很多時候,對于哪種解決方案或哪種方法比其他方法更好,沒有任何理論指導。在這種情況下,奧卡姆剃刀原理的概念(有時也稱為簡約原則)可以有效地應用。該原理指出:
一個人不應該做出超過最低需求的假設,或者換句話說,當一個解決方案有多種選擇時,最簡單的方法就是最好的。
這個原理不完全是一個定理,不能作為一個定量規則或方程來應用。但是,在現實生活中做出這樣的決定時,它是一個強有力的有效的概念指南。
還需要注意的是,這條規則創建了一種折中的形式,一方面,我們擁有更多復雜性形式的信息,另一方面,我們卻擁有更少的簡單性形式的信息。人們不應該過于簡單化問題,以致丟失一些核心信息。奧卡姆剃刀原理的另一個衍生方面是更簡單的解決方案往往具有更多的泛化能力。
11 “沒有免費的午餐”定理
在設計機器學習系統時,需要注意的另一個有趣的概念來自Wolpert和Macready的論文,其形式是“沒有免費的午餐”定理或優化中的NFL定理。該定理實質上指出:
如果一個算法在某類問題上表現得更好,那么它會以在其他類別的問題上性能下降的形式付出代價。換句話說,對于所有類型的問題,你都無法擁有單一最佳的解決方案。
這個定理需要更多地作為指導原則而不是定律,因為在所有可能的問題類別中,一個設計良好的算法完全有可能勝過其他設計不太好的算法。但是,在實際情況下可以從這個定理推斷出,我們不能對所有的問題都采用同一個解決方案,并期望它在所有的情況下都能很好地工作。
12 收益遞減規律
收益遞減規律通常出現在經濟和商業場景中。它指出,隨著現有員工人數的增加,增加更多的員工來完成一項工作開始產生越來越少的收益。
從機器學習的角度來看,這一規律可以應用于特征工程。從給定的數據集中,人們只能提取一定數量的特征,在此之后,性能上的收益開始減少,付出的努力是不值得的。在某些方面,它與奧卡姆剃刀原理一致,并增加了更多的細節。
13 專家系統
在機器學習開始真正意義上的商業化之前,很少有其他系統已經突破常規計算的邊界。其中一個顯著的應用是專家系統。
艾倫·圖靈的定義標志著機器智能被認可的時代的開始,人工智能領域也隨之誕生。然而,在早期(一直到20世紀80年代),機器智能或機器學習領域僅限于所謂的專家系統或基于知識的系統。專家系統領域的頂尖專家之一,Edward Feigenbaum博士,曾經這樣定義專家系統:
一種智能計算機程序,使用知識和推理過程來解決很難解決的以至于需要大量的人類專業知識才能解決的問題。
這種系統能夠替代某些領域的專家。這些機器經過編程,用于執行基于復雜邏輯運算的復雜啟發式任務。
盡管這些系統能夠取代特定領域的專家,但如果我們將其與人類智能進行比較,就會發現它們并不是真正意義上的“智能”系統。原因是系統被“硬編碼”為僅解決特定類型的問題,如果需要解決一個更簡單但完全不同的問題,這些系統將很快變得完全無用。
盡管如此,這些系統還是非常流行和成功的,特別是在需要重復但高度精確的性能的領域,例如診斷、檢查、監測和控制。
關于作者:Ameet V.Joshi,博士,目前是微軟的一名數據科學經理。他于2006年在密歇根州立大學獲得博士學位。他擁有超過15年的機器學習算法開發方面的經驗,涉及各種不同的工業領域,包括管道檢查、家庭能源分解、微軟Cortana智能和CRM中的商務智能。
本文摘編自《機器學習與人工智能:從理論到實踐》,經出版方授權發布。