機器學習算法

機器學習算法

機器學習(MachineLearning,ML)是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智慧的核心,是使計算機具有智慧型的根本途徑,其套用遍及人工智慧的各個領域,它主要使用歸納、綜合而不是演繹。

基本信息

發展史

機器學習是人工智慧研究較為年輕的分支,它的發展過程大體上可分為4個時期。
第一階段是在20世紀50年代中葉到60年代中葉,屬於熱烈時期。
第二階段是在20世紀60年代中葉至70年代中葉,被稱為機器學習的冷靜時期。
第三階段是從20世紀70年代中葉至80年代中葉,稱為復興時期。
機器學習的最新階段始於1986年。
機器學習進入新階段的重要表現在下列諸方面:
(1)機器學習已成為新的邊緣學科並在高校形成一門課程。它綜合套用心理學生物學和神經生理學以及數學、自動化和計算機科學形成機器學習理論基礎。
(2)結合各種學習方法,取長補短的多種形式的集成學習系統研究正在興起。特別是連線學習符號學習的耦合可以更好地解決連續性信號處理中知識與技能的獲取與求精問題而受到重視。
(3)機器學習與人工智慧各種基礎問題的統一性觀點正在形成。例如學習與問題求解結合進行、知識表達便於學習的觀點產生了通用智慧型系統SOAR的組塊學習。類比學習與問題求解結合的基於案例方法已成為經驗學習的重要方向。
(4)各種學習方法的套用範圍不斷擴大,一部分已形成商品。歸納學習的知識獲取工具已在診斷分類型專家系統中廣泛使用。連線學習在聲圖文識別中占優勢。分析學習已用於設計綜合型專家系統。遺傳算法與強化學習在工程控制中有較好的套用前景。與符號系統耦合的神經網路連線學習將在企業的智慧型管理與智慧型機器人運動規劃中發揮作用。
(5)與機器學習有關的學術活動空前活躍。國際上除每年一次的機器學習研討會外,還有計算機學習理論會議以及遺傳算法會議。

研究意義

機器學習有下面幾種定義:“機器學習是一門人工智慧的科學,該領域的主要研究對象是人工智慧,特別是如何在經驗學習中改善具體算法的性能”。“機器學習是對能通過經驗自動改進的計算機算法的研究”。“機器學習是用數據或以往的經驗,以此最佳化電腦程式的性能標準。”
一種經常引用的英文定義是:AcomputerprogramissaidtolearnfromexperienceEwithrespecttosomeclassoftasksTandperformancemeasureP,ifitsperformanceattasksinT,asmeasuredbyP,improveswithexperienceE.
機器的能力是否能超過人的,很多持否定意見的人的一個主要論據是:機器是人造的,其性能和動作完全是由設計者規定的,因此無論如何其能力也不會超過設計者本人。這種意見對不具備學習能力的機器來說的確是對的,可是對具備學習能力的機器就值得考慮了,因為這種機器的能力在套用中不斷地提高,過一段時間之後,設計者本人也不知它的能力到了何種水平。

基本結構

表示學習系統的基本結構。環境向系統的學習部分提供某些信息,學習部分利用這些信息修改知識庫,以增進系統執行部分完成任務的效能,執行部分根據知識庫完成任務,同時把獲得的信息反饋給學習部分。在具體的套用中,環境,知識庫和執行部分決定了具體的工作內容,學習部分所需要解決的問題完全由上述3部分確定。下面我們分別敘述這3部分對設計學習系統的影響。
知識的表示有多種形式,比如特徵向量一階邏輯語句、產生式規則、語義網路和框架等等。這些表示方式各有其特點,在選擇表示方式時要兼顧以下4個方面:
(1)表達能力強。
(2)易於推理。
(3)容易修改知識庫。
(4)知識表示易於擴展。
對於知識庫最後需要說明的一個問題是學習系統不能在全然沒有任何知識的情況下憑空獲取知識,每一個學習系統都要求具有某些知識理解環境提供的信息,分析比較,做出假設,檢驗並修改這些假設。因此,更確切地說,學習系統是對現有知識的擴展和改進。
執行部分是整個學習系統的核心,因為執行部分的動作就是學習部分力求改進的動作。同執行部分有關的問題有3個:複雜性、反饋和透明性。

分類

基於學習策略

學習策略是指學習過程中系統所採用的推理策略。一個學習系統總是由學習和環境兩部分組成。由環境(如書本或教師)提供信息,學習部分則實現信息轉換,用能夠理解的形式記憶下來,並從中獲取有用的信息。在學習過程中,學生(學習部分)使用的推理越少,他對教師(環境)的依賴就越大,教師的負擔也就越重。學習策略的分類標準就是根據學生實現信息轉換所需的推理多少和難易程度來分類的,依從簡單到複雜,從少到多的次序分為以下六種基本類型:
人工神經網路人工神經網路
1)機械學習(Rotelearning)
學習者無需任何推理或其它的知識轉換,直接吸取環境所提供的信息。如塞繆爾的跳棋程式,紐厄爾西蒙的LT系統。這類學習系統主要考慮的是如何索引存貯的知識並加以利用。系統的學習方法是直接通過事先編好、構造好的程式來學習,學習者不作任何工作,或者是通過直接接收既定的事實和數據進行學習,對輸入信息不作任何的推理。
2)示教學習(Learningfrominstruction或Learningbybeingtold)
學生從環境(教師或其它信息源如教科書等)獲取信息,把知識轉換成內部可使用的表示形式,並將新的知識和原有知識有機地結合為一體。所以要求學生有一定程度的推理能力,但環境仍要做大量的工作。教師以某種形式提出和組織知識,以使學生擁有的知識可以不斷地增加。這種學習方法和人類社會的學校教學方式相似,學習的任務就是建立一個系統,使它能接受教導和建議,並有效地存貯和套用學到的知識。不少專家系統在建立知識庫時使用這種方法去實現知識獲取。
3)演繹學習(Learningbydeduction)
學生所用的推理形式為演繹推理。推理從公理出發,經過邏輯變換推導出結論。這種推理是"保真"變換和特化(specialization)的過程,使學生在推理過程中可以獲取有用的知識。這種學習方法包含宏操作(macro-operation)學習、知識編輯和組塊(Chunking)技術。演繹推理的逆過程是歸納推理。
4)類比學習(Learningbyanalogy)
利用二個不同領域(源域、目標域)中的知識相似性,可以通過類比,從源域的知識(包括相似的特徵和其它性質)推導出目標域的相應知識,從而實現學習。類比學習系統可以使一個已有的計算機套用系統轉變為適應於新的領域,來完成原先沒有設計的相類似的功能。
類比學習需要比上述三種學習方式更多的推理。它一般要求先從知識源(源域)中檢索出可用的知識,再將其轉換成新的形式,用到新的狀況(目標域)中去。類比學習在人類科學技術發展史上起著重要作用,許多科學發現就是通過類比得到的。
5)基於解釋的學習(Explanation-basedlearning,EBL)
學生根據教師提供的目標概念、該概念的一個例子、領域理論及可操作準則,首先構造一個解釋來說明為什該例子滿足目標概念,然後將解釋推廣為目標概念的一個滿足可操作準則的充分條件。EBL已被廣泛套用於知識庫求精和改善系統的性能。
6)歸納學習(Learningfrominduction)
歸納學習是由教師或環境提供某概念的一些實例或反例,讓學生通過歸納推理得出該概念的一般描述。這種學習的推理工作量遠多於示教學習和演繹學習,因為環境並不提供一般性概念描述(如公理)。從某種程度上說,歸納學習的推理量也比類比學習大,因為沒有一個類似的概念可以作為"源概念"加以取用。歸納學習是最基本的,發展也較為成熟的學習方法,在人工智慧領域中已經得到廣泛的研究和套用。

基於獲取知識的表示

遺傳算法遺傳算法
學習系統獲取的知識可能有:行為規則、物理對象的描述、問題求解策略、各種分類及其它用於任務實現的知識類型。對於學習中獲取的知識,主要有以下一些表示形式:
1)代數表達式參數
學習的目標是調節一個固定函式形式的代數表達式參數或係數來達到一個理想的性能。
2)決策樹
決策樹來劃分物體的類屬,樹中每一內部節點對應一個物體屬性,而每一邊對應於這些屬性的可選值,樹的葉節點則對應於物體的每個基本分類。
3)形式文法
在識別一個特定語言的學習中,通過對該語言的一系列表達式進行歸納,形成該語言的形式文法。
4)產生式規則
產生式規則表示為條件—動作對,已被極為廣泛地使用。學習系統中的學習行為主要是:生成、泛化、特化(Specialization)或合成產生式規則。
5)形式邏輯表達式
形式邏輯表達式的基本成分是命題謂詞變數約束變數範圍的語句,及嵌入的邏輯表達式。
6)圖和網路
有的系統採用圖匹配和圖轉換方案來有效地比較和索引知識。
7)框架和模式(schema)
每個框架包含一組槽,用於描述事物(概念和個體)的各個方面。
8)電腦程式和其它的過程編碼
獲取這種形式的知識,目的在於取得一種能實現特定過程的能力,而不是為了推斷該過程的內部結構。
9)神經網路
這主要用在聯接學習中。學習所獲取的知識,最後歸納為一個神經網路。

基於套用領域

最主要的套用領域有:專家系統、認知模擬、規劃和問題求解、數據挖掘、網路信息服務、圖象識別、故障診斷、自然語言理解機器人和博弈等領域。
從機器學習的執行部分所反映的任務類型上看,大部分的套用研究領域基本上集中於以下兩個範疇:分類和問題求解。
(1)分類任務要求系統依據已知的分類知識對輸入的未知模式(該模式的描述)作分析,以確定輸入模式的類屬。相應的學習目標就是學習用於分類的準則(如分類規則)。
(2)問題求解任務要求對於給定的目標狀態,尋找一個將當前狀態轉換為目標狀態的動作序列;機器學習在這一領域的研究工作大部分集中於通過學習來獲取能提高問題求解效率的知識(如搜尋控制知識,啟發式知識等)。

綜合分類

綜合考慮各種學習方法出現的歷史淵源、知識表示、推理策略、結果評估的相似性、研究人員交流的相對集中性以及套用領域等諸因素。將機器學習方法區分為以下六類:
1)經驗性歸納學習(empiricalinductivelearning)
經驗性歸納學習採用一些數據密集的經驗方法對例子進行歸納學習。其例子和學習結果一般都採用屬性、謂詞、關係等符號表示。它相當於基於學習策略分類中的歸納學習,但扣除聯接學習、遺傳算法、加強學習的部分。
2)分析學習(analyticlearning)
分析學習方法是從一個或少數幾個實例出發,運用領域知識進行分析。其主要特徵為:使用過去的問題求解經驗(實例)指導新的問題求解,或產生能更有效地運用領域知識的搜尋控制規則。
分析學習的目標是改善系統的性能,而不是新的概念描述。分析學習包括套用解釋學習、演繹學習、多級結構組塊以及宏操作學習等技術。
3)類比學習
它相當於基於學習策略分類中的類比學習。在這一類型的學習中比較引人注目的研究是通過與過去經歷的具體事例作類比來學習,稱為基於範例的學習(case_basedlearning),或簡稱範例學習。
4)遺傳算法
遺傳算法模擬生物繁殖的突變、交換和達爾文自然選擇(在每一生態環境中適者生存)。它把問題可能的解編碼為一個向量,稱為個體,向量的每一個元素稱為基因,並利用目標函式(相應於自然選擇標準)對群體(個體的集合)中的每一個個體進行評價,根據評價值(適應度)對個體進行選擇、交換、變異等遺傳操作,從而得到新的群體。遺傳算法適用於非常複雜和困難的環境,比如,帶有大量噪聲和無關數據、事物不斷更新、問題目標不能明顯和精確地定義,以及通過很長的執行過程才能確定當前行為的價值等。
5)聯接學習
典型的聯接模型實現為人工神經網路,其由稱為神經元的一些簡單計算單元以及單元間的加權聯接組成。
6)增強學習
增強學習的特點是通過與環境的試探性(trialanderror)互動來確定和最佳化動作的選擇,以實現所謂的序列決策任務。在這種任務中,學習機制通過選擇並執行動作,導致系統狀態的變化,並有可能得到某種強化信號(立即回報),從而實現與環境的互動。強化信號就是對系統行為的一種標量化的獎懲。系統學習的目標是尋找一個合適的動作選擇策略,即在任一給定的狀態下選擇哪種動作的方法,使產生的動作序列可獲得某種最優的結果(如累計立即回報最大)。

學習形式分類

1)監督學習(supervisedlearning)
監督學習,即在機械學習過程中提供對錯指示。一般實在是數據組中包含最終結果(0,1)。通過算法讓機器自我減少誤差。這一類學習主要套用於分類和預測(regression&classify)。監督學習從給定的訓練數據集中學習出一個函式,當新的數據到來時,可以根據這個函式預測結果。監督學習的訓練集要求是包括輸入和輸出,也可以說是特徵和目標。訓練集中的目標是由人標註的。常見的監督學習算法包括回歸分析和統計分類。
2)非監督學習(unsupervisedlearning)
非監督學習又稱歸納性學習(clustering)利用K均值聚類(Kmeans),建立中心(centriole),通過循環和遞減運算(iteration&descent)來減小誤差,達到分類的目的。

套用

機器學習領域的研究工作主要圍繞以下三個方面進行:
(1)面向任務的研究:研究和分析改進一組預定任務的執行性能的學習系統。
(2)認知模型:研究人類學習過程並進行計算機模擬。
(3)理論分析:從理論上探索各種可能的學習方法和獨立於套用領域的算法
機器學習是繼專家系統之後人工智慧套用的又一重要研究領域,也是人工智慧和神經計算的核心研究課題之一。現有的計算機系統和人工智慧系統沒有什麼學習能力,至多也只有非常有限的學習能力,因而不能滿足科技和生產提出的新要求。對機器學習的討論和機器學習研究的進展,必將促使人工智慧和整個科學技術的進一步發展。
機器學習已經有了十分廣泛的套用,例如:數據挖掘計算機視覺自然語言處理生物特徵識別搜尋引擎醫學診斷、DNA序列測序、語音和手寫識別、戰略遊戲和機器人運用。

熱門詞條

聯絡我們