什麼是機器學習

什麼是 Machine Learning

      Machine Learning(機器學習)是研究計算機怎樣模擬或實現人的學習行爲,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域,它主要使用歸納、綜合而不是演譯。
      機器學習是關於理解與研究學習的內在機制、建立能夠通過學習自動提高自身水平的計算機程序的理論方法的學科。近年來機器學習理論在諸多應用領域得到成功的應用與發展,已成爲計算機科學的基礎及熱點之一。採用機器學習方法的計算機程序被成功用於機器人下棋程序、語音識別、信用卡欺詐監測、自主車輛駕駛、智能機器人等應用領域,除此之外機器學習的理論方法還被用於大數據集的數據挖掘這一領域。實際上,在任何有經驗可以積累的地方,機器學習方法均可發揮作用。
      學習能力是智能行爲的一個非常重要的特徵,但至今對學習的機理尚不清楚。人們曾對機器學習給出各種定義。H.A.Simon認爲,學習是系統所作的適應性變化,使得系統在下一次完成同樣或類似的任務時更爲有效。R.s.Michalski認爲,學習是構造或修改對於所經歷事物的表示。從事專家系統研製的人們則認爲學習是知識的獲取。這些觀點各有側重,第一種觀點強調學習的外部行爲效果,第二種則強調學習的內部過程,而第三種主要是從知識工程的實用性角度出發的。
      機器學習在人工智能的研究中具有十分重要的地位。一個不具有學習能力的智能系統難以稱得上是一個真正的智能系統,但是以往的智能系統都普遍缺少學習的能力。例如,它們遇到錯誤時不能自我校正;不會通過經驗改善自身的性能;不會自動獲取和發現所需要的知識。它們的推理僅限於演繹而缺少歸納,因此至多隻能夠證明已存在事實、定理,而不能發現新的定理、定律和規則等。隨着人工智能的深入發展,這些侷限性表現得愈加突出。正是在這種情形下,機器學習逐漸成爲人工智能研究的核心之一。它的應用已遍及人工智能的各個分支,如專家系統、自動推理、自然語言理解、模式識別、計算機視覺、智能機器人等領域。其中尤其典型的是專家系統中的知識獲取瓶頸問題,人們一直在努力試圖採用機器學習的方法加以克服。
      機器學習的研究是根據生理學、認知科學等對人類學習機理的瞭解,建立人類學習過程的計算模型或認識模型,發展各種學習理論和學習方法,研究通用的學習算法並進行理論上的分析,建立面向任務的具有特定應用的學習系統。這些研究目標相互影響相互促進。
      機器學習已經有了十分廣泛的應用例如搜索引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略遊戲和機器人運用。
      自從1980年在卡內基-梅隆大學召開第一屆機器學術研討會以來,機器學習的研究工作發展很快,已成爲中心課題之一。
      目前,機器學習領域的研究工作主要圍繞以下三個方面進行:
      (1)面向任務的研究 研究和分析改進一組預定任務的執行性能的學習系統。
      (2)認知模型 研究人類學習過程並進行計算機模擬。
      (3)理論分析 從理論上探索各種可能的學習方法和獨立於應用領域的算法。
    機器學習是繼專家系統之後人工智能應用的又一重要研究領域,也是人工智能和神經計算的核心研究課題之一。現有的計算機系統和人工智能系統沒有什麼學習能力,至多也只有非常有限的學習能力,因而不能滿足科技和生產提出的新要求。本章將首先介紹機器學習的定義、意義和簡史,然後討論機器學習的主要策略和基本結構,最後逐一研究各種機器學習的方法與技術,包括機械學習、基於解釋的學習、基於事例的學習、基於概念的學習、類比學習和基於訓練神經網絡的學習等。對機器學習的討論和機器學習研究的進展,必將促使人工智能和整個科學技術的進一步發展 。 
 
一、 機器學習的定義和研究意義
    學習是人類具有的一種重要智能行爲,但究竟什麼是學習,長期以來卻衆說紛紜。社會學家、邏輯學家和心理學家都各有其不同的看法。按照人工智能大師西蒙的觀點,學習就是系統在不斷重複的工作中對本身能力的增強或者改進,使得系統在下一次執行同樣任務或類似任務時,會比現在做得更好或效率更高。西蒙對學習給出的定義本身,就說明了學習的重要作用。
  機器能否象人類一樣能具有學習能力呢?1959年美國的塞繆爾(Samuel)設計了一個下棋程序,這個程序具有學習能力,它可以在不斷的對奕中改善自己的棋藝。4年後,這個程序戰勝了設計者本人。又過了3年,這個程序戰勝了美國一個保持8年之久的常勝不敗的冠軍。這個程序向人們展示了機器學習的能力,提出了許多令人深思的社會問題與哲學問題。
    機器的能力是否能超過人的,很多持否定意見的人的一個主要論據是:機器是人造的,其性能和動作完全是由設計者規定的,因此無論如何其能力也不會超過設計者本人。這種意見對不具備學習能力的機器來說的確是對的,可是對具備學習能力的機器就值得考慮了,因爲這種機器的能力在應用中不斷地提高,過一段時間之後,設計者本人也不知它的能力到了何種水平。  
  什麼叫做機器學習(machine learning)?至今,還沒有統一的“機器學習”定義,而且也很難給出一個公認的和準確的定義。爲了便於進行討論和估計學科的進展,有必要對機器學習給出定義,即使這種定義是不完全的和不充分的。顧名思義, 機器學習 是研究如何使用機器來模擬人類學習活動的一門學科。稍爲嚴格的提法是:機器學習是一門研究機器獲取新知識和新技能,並識別現有知識的學問。這裏所說的“機器”,指的就是計算機;現在是電子計算機,以後還可能是中子計算機、光子計算機或神經計算機等等
二、 機器學習的發展史
  機器學習是人工智能研究較爲年輕的分支,它的發展過程大體上可分爲4個時期。
   第一階段是在50年代中葉到60年代中葉,屬於熱烈時期。…>
   第二階段是在60年代中葉至70年代中葉,被稱爲機器學習的冷靜時期。
   第三階段是從70年代中葉至80年代中葉,稱爲復興時期。
   機器學習的最新階段始於1986年。
   機器學習進入新階段的重要表現在下列諸方面:
   (1) 機器學習已成爲新的邊緣學科並在高校形成一門課程。它綜合應用心理學、生物學和神經生理學以及數學、自動化和計算機科學形成機器學習理論基礎。
   (2) 結合各種學習方法,取長補短的多種形式的集成學習系統研究正在興起。特別是連接學習符號學習的耦合可以更好地解決連續性信號處理中知識與技能的獲取與求精問題而受到重視。
   (3) 機器學習與人工智能各種基礎問題的統一性觀點正在形成。例如學習與問題求解結合進行、知識表達便於學習的觀點產生了通用智能系統SOAR的組塊學習。類比學習與問題求解結合的基於案例方法已成爲經驗學習的重要方向。
   (4) 各種學習方法的應用範圍不斷擴大,一部分已形成商品。歸納學習的知識獲取工具已在診斷分類型專家系統中廣泛使用。連接學習在聲圖文識別中佔優勢。分析學習已用於設計綜合型專家系統。遺傳算法與強化學習在工程控制中有較好的應用前景。與符號系統耦合的神經網絡連接學習將在企業的智能管理與智能機器人運動規劃中發揮作用。
   (5) 與機器學習有關的學術活動空前活躍。國際上除每年一次的機器學習研討會外,還有計算機學習理論會議以及遺傳算法會議。
三、 機器學習的主要策略
  學習是一項複雜的智能活動,學習過程與推理過程是緊密相連的,按照學習中使用推理的多少,機器學習所採用的策略大體上可分爲4種——機械學習、通過傳授學習、類比學習和通過事例學習。學習中所用的推理越多,系統的能力越強。
四、機器學習系統的基本結構
        
  上圖表示學習系統的基本結構。環境向系統的學習部分提供某些信息,學習部分利用這些信息修改知識庫,以增進系統執行部分完成任務的效能,執行部分根據知識庫完成任務,同時把獲得的信息反饋給學習部分。在具體的應用中,環境,知識庫和執行部分決定了具體的工作內容,學習部分所需要解決的問題完全由上述3部分確定。下面我們分別敘述這3部分對設計學習系統的影響。
  影響學習系統設計的最重要的因素是環境向系統提供的信息。或者更具體地說是信息的質量。知識庫裏存放的是指導執行部分動作的一般原則,但環境向學習系統提供的信息卻是各種各樣的。如果信息的質量比較高,與一般原則的差別比較小,則學習部分比較容易處理。如果向學習系統提供的是雜亂無章的指導執行具體動作的具體信息,則學習系統需要在獲得足夠數據之後,刪除不必要的細節,進行總結推廣,形成指導動作的一般原則,放入知識庫,這樣學習部分的任務就比較繁重,設計起來也較爲困難。
  因爲學習系統獲得的信息往往是不完全的,所以學習系統所進行的推理並不完全是可靠的,它總結出來的規則可能正確,也可能不正確。這要通過執行效果加以檢驗。正確的規則能使系統的效能提高,應予保留;不正確的規則應予修改或從數據庫中刪除。
  知識庫是影響學習系統設計的第二個因素。知識的表示有多種形式,比如特徵向量、一階邏輯語句、產生式規則、語義網絡和框架等等。這些表示方式各有其特點,在選擇表示方式時要兼顧以下4個方面:
  (1)表達能力強。(2)易於推理。(3)容易修改知識庫。(4)知識表示易於擴展。
  對於知識庫最後需要說明的一個問題是學習系統不能在全然沒有任何知識的情況下憑空獲取知識,每一個學習系統都要求具有某些知識理解環境提供的信息,分析比較,做出假設,檢驗並修改這些假設。因此,更確切地說,學習系統是對現有知識的擴展和改進。
  執行部分是整個學習系統的核心,因爲執行部分的動作就是學習部分力求改進的動作。同執行部分有關的問題有3個:複雜性、反饋和透明性。
五、機器學習分類
1、基於學習策略的分類
      學習策略是指學習過程中系統所採用的推理策略。一個學習系統總是由學習和環境兩部分組成。由環境(如書本或教師)提供信息,學習部分則實現信息轉換,用能夠理解的形式記憶下來,並從中獲取有用的信息。在學習過程中,學生(學習部分)使用的推理越少,他對教師(環境)的依賴就越大,教師的負擔也就越重。學習策略的分類標準就是根據學生實現信息轉換所需的推理多少和難易程度來分類的,依從簡單到複雜,從少到多的次序分爲以下五種基本類型:
      1)機械學習(Rote learning)
      學習者無需任何推理或其它的知識轉換,直接吸取環境所提供的信息。如塞繆爾的跳棋程序,紐厄爾和西蒙的LT系統。這類學習系統主要考慮的是如何索引存貯的知識並加以利用。系統的學習方法是直接通過事先編好、構造好的程序來學習,學習者不作任何工作,或者是通過直接接收既定的事實和數據進行學習,對輸入信息不作任何的推理。
      2)示教學習(Learning from instruction或Learning by being told)。
      學生從環境(教師或其它信息源如教科書等)獲取信息,把知識轉換成內部可使用的表示形式,並將新的知識和原有知識有機地結合爲一體。所以要求學生有一定程度的推理能力,但環境仍要做大量的工作。教師以某種形式提出和組織知識,以使學生擁有的知識可以不斷地增加。這種學習方法和人類社會的學校教學方式相似,學習的任務就是建立一個系統,使它能接受教導和建議,並有效地存貯和應用學到的知識。目前,不少專家系統在建立知識庫時使用這種方法去實現知識獲取。示教學習的一個典型應用例是FOO程序。
      3)演繹學習(Learning by deduction)。
      學生所用的推理形式爲演譯推理。推理從公理出發,經過邏輯變換推導出結論。這種推理是"保真"變換和特化(specialization)的過程,使學生在推理過程中可以獲取有用的知識。這種學習方法包含宏操作(macro-operation)學習、知識編輯和組塊(Chunking)技術。演繹推理的逆過程是歸納推理。
      4)類比學習(Learning by analogy)。
      利用二個不同領域(源域、目標域)中的知識相似性,可以通過類比,從源域的知識(包括相似的特徵和其它性質)推導出目標域的相應知識,從而實現學習。類比學習系統可以使一個已有的計算機應用系統轉變爲適應於新的領域,來完成原先沒有設計的相類似的功能。類比學習需要比上述三種學習方式更多的推理。它一般要求先從知識源(源域)中檢索出可用的知識,再將其轉換成新的形式,用到新的狀況(目標域)中去。類比學習在人類科學技術發展史上起着重要作用,許多科學發現就是通過類比得到的。例如著名的盧瑟福類比就是通過將原子結構(目標域)同太陽系(源域)作類比,揭示了原子結構的奧祕。
      5)基於解釋的學習(Explanation-based learning, EBL)。
      學生根據教師提供的目標概念、該概念的一個例子、領域理論及可操作準則,首先構造一個解釋來說明爲什該例子滿足目標概念,然後將解釋推廣爲目標概念的一個滿足可操作準則的充分條件。EBL已被廣泛應用於知識庫求精和改善系統的性能。著名的EBL系統有迪喬恩(G.DeJong)的GENESIS, 米切爾(T.Mitchell)的LEXII和LEAP, 以及明頓(S.Minton)等的PRODIGY。
      6)歸納學習(Learning from induction)。
      歸納學習是由教師或環境提供某概念的一些實例或反例,讓學生通過歸納推理得出該概念的一般描述。這種學習的推理工作量遠多於示教學習和演繹學習,因爲環境並不提供一般性概念描述(如公理)。從某種程度上說,歸納學習的推理量也比類比學習大,因爲沒有一個類似的概念可以作爲"源概念"加以取用。歸納學習是最基本的,發展也較爲成熟的學習方法,在人工智能領域中已經得到廣泛的研究和應用。
2、基於所獲取知識的表示形式分類
      學習系統獲取的知識可能有:行爲規則、物理對象的描述、問題求解策略、各種分類及其它用於任務實現的知識類型。
      對於學習中獲取的知識,主要有以下一些表示形式:
     1)代數表達式參數:學習的目標是調節一個固定函數形式的代數表達式參數或係數來達到一個理想的性能。
      2)決策樹:用決策樹來劃分物體的類屬,樹中每一內部節點對應一個物體屬性,而每一邊對應於這些屬性的可選值,樹的葉節點則對應於物體的每個基本分類。
      3)形式文法:在識別一個特定語言的學習中,通過對該語言的一系列表達式進行歸納,形成該語言的形式文法。
      4)產生式規則:產生式規則表示爲條件—動作對,已被極爲廣泛地使用。學習系統中的學習行爲主要是:生成、泛化、特化(Specialization)或合成產生式規則。
      5)形式邏輯表達式:形式邏輯表達式的基本成分是命題、謂詞、變量、約束變量範圍的語句,及嵌入的邏輯表達式。
      6)圖和網絡:有的系統採用圖匹配和圖轉換方案來有效地比較和索引知識。
      7)框架和模式(schema):每個框架包含一組槽,用於描述事物(概念和個體)的各個方面。
      8)計算機程序和其它的過程編碼:獲取這種形式的知識,目的在於取得一種能實現特定過程的能力,而不是爲了推斷該過程的內部結構。
      9)神經網絡:這主要用在聯接學習中。學習所獲取的知識,最後歸納爲一個神經網絡。
      10)多種表示形式的組合:有時一個學習系統中獲取的知識需要綜合應用上述幾種知識表示形式。
  根據表示的精細程度,可將知識表示形式分爲兩大類:泛化程度高的粗粒度符號表示、??泛化程度低的精粒度亞符號(sub-symbolic)表示。像決策樹、形式文法、產生式規則、形式邏輯表達式、框架和模式等屬於符號表示類;而代數表達式參數、圖和網絡、神經網絡等則屬亞符號表示類。
3、按應用領域分類
      目前最主要的應用領域有: 專家系統、認知模擬、規劃和問題求解、數據挖掘、網絡信息服務、圖象識別、故障診斷、自然語言理解、機器人和博弈等領域。
      從機器學習的執行部分所反映的任務類型上看,目前大部分的應用研究領域基本上集中於以下兩個範疇:分類和問題求解。
(1)分類任務要求系統依據已知的分類知識對輸入的未知模式(該模式的描述)作分析,以確定輸入模式的類屬。相應的學習目標就是學習用於分類的準則(如分類規則)。
(2)問題求解任務要求對於給定的目標狀態,??尋找一個將當前狀態轉換爲目標狀態的動作序列;機器學習在這一領域的研究工作大部分集中於通過學習來獲取能提高問題求解效率的知識(如搜索控制知識,啓發式知識等)。
4、綜合分類
      綜合考慮各種學習方法出現的歷史淵源、知識表示、推理策略、結果評估的相似性、研究人員交流的相對集中性以及應用領域等諸因素。將機器學習方法區分爲以下六類:
      1)經驗性歸納學習(empirical inductive learning)。
      經驗性歸納學習採用一些數據密集的經驗方法(如版本空間法、ID3法,定律發現方法)對例子進行歸納學習。其例子和學習結果一般都採用屬性、謂詞、關係等符號表示。它相當於基於學習策略分類中的歸納學習,但扣除聯接學習、遺傳算法、加強學習的部分。 
      2)分析學習(analytic??learning)。
分析學習方法是從一個或少數幾個實例出發,運用領域知識進行分析。其主要特徵爲:
    ·推理策略主要是演繹,而非歸納;
    ·使用過去的問題求解經驗(實例)指導新的問題求解,或產生能更有效地運用領域知識的搜索控制規則。
    分析學習的目標是改善系統的性能,而不是新的概念描述。分析學習包括應用解釋學習、演繹學習、多級結構組塊以及宏操作學習等技術。
      3)類比學習。
      它相當於基於學習策略分類中的類比學習。目前,在這一類型的學習中比較引人注目的研究是通過與過去經歷的具體事例作類比來學習,稱爲基於範例的學習(case_based learning),或簡稱範例學習。
      4)遺傳算法(genetic??algorithm)。
      遺傳算法模擬生物繁殖的突變、交換和達爾文的自然選擇(在每一生態環境中適者生存)。它把問題可能的解編碼爲一個向量,稱爲個體,向量的每一個元素稱爲基因,並利用目標函數(相應於自然選擇標準)對羣體(個體的集合)中的每一個個體進行評價,根據評價值(適應度)對個體進行選擇、交換、變異等遺傳操作,從而得到新的羣體。遺傳算法適用於非常複雜和困難的環境,比如,帶有大量噪聲和無關數據、事物不斷更新、問題目標不能明顯和精確地定義,以及通過很長的執行過程才能確定當前行爲的價值等。同神經網絡一樣,遺傳算法的研究已經發展爲人工智能的一個獨立分支,其代表人物爲霍勒德(J.H.Holland)。
      5)聯接學習。
      典型的聯接模型實現爲人工神經網絡,其由稱爲神經元的一些簡單計算單元以及單元間的加權聯接組成。
      6)加強學習(reinforcement learning)。
      加強學習的特點是通過與環境的試探性(trial and error)交互來確定和優化動作的選擇,以實現所謂的序列決策任務。在這種任務中,學習機制通過選擇並執行動作,導致系統狀態的變化,並有可能得到某種強化信號(立即回報),從而實現與環境的交互。強化信號就是對系統行爲的一種標量化的獎懲。系統學習的目標是尋找一個合適的動作選擇策略,即在任一給定的狀態下選擇哪種動作的方法,使產生的動作序列可獲得某種最優的結果(如累計立即回報最大)。
      在綜合分類中,經驗歸納學習、遺傳算法、聯接學習和加強學習均屬於歸納學習,其中經驗歸納學習採用符號表示方式,而遺傳算法、聯接學習和加強學習則採用亞符號表示方式;分析學習屬於演繹學習。
      實際上,類比策略可看成是歸納和演繹策略的綜合。因而最基本的學習策略只有歸納和演繹。
       從學習內容的角度看,採用歸納策略的學習由於是對輸入進行歸納,所學習的知識顯然超過原有系統知識庫所能蘊涵的範圍,所學結果改變了系統的知識演繹閉包,因而這種類型的學習又可稱爲知識級學習;而採用演繹策略的學習儘管所學的知識能提高系統的效率,但仍能被原有系統的知識庫所蘊涵,即所學的知識未能改變系統的演繹閉包,因而這種類型的學習又被稱爲符號級學習。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章