機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,從新組織已有的知識結構使之不斷改善自身的性能。算法
它是人工智能的核心,是使計算機具備智能的根本途徑,其應用遍佈人工智能的各個領域,它主要使用概括、綜合而不是演繹。網絡
基於學習策略的分類閉包
1)機械學習 (Rote learning)框架
2)示教學習 (Learning from instruction或Learning by being told)機器學習
3)演繹學習 (Learning by deduction)函數
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)
概括學習是由教師或環境提供某概念的一些實例或反例,讓學生經過概括推理得出該概念的通常描述。這種學習的推理工做量遠多於示教學習和演繹學習,由於環境並不提供通常性概念描述(如公理)。從某種程度上說,概括學習的推理量也比類比學習大,由於沒有一個相似的概念能夠做爲"源概念"加以取用。概括學習是最基本的,發展也較爲成熟的學習方法,在人工智能領域中已經獲得普遍的研究和應用。
基於所獲取知識的表示形式分類
學習系統獲取的知識可能有:行爲規則、物理對象的描述、問題求解策略、各類分類及其它用於任務實現的知識類型。
對於學習中獲取的知識,主要有如下一些表示形式:
1)代數表達式參數
學習的目標是調節一個固定函數形式的代數表達式參數或係數來達到一個理想的性能。
2)決策樹
用決策樹來劃分物體的類屬,樹中每一內部節點對應一個物體屬性,而每一邊對應於這些屬性的可選值,樹的葉節點則對應於物體的每一個基本分類。
3)形式文法
在識別一個特定語言的學習中,經過對該語言的一系列表達式進行概括,造成該語言的形式文法。
4)產生式規則
產生式規則表示爲條件—動做對,已被極爲普遍地使用。學習系統中的學習行爲主要是:生成、泛化、特化(Specialization)或合成產生式規則。
5)形式邏輯表達式
形式邏輯表達式的基本成分是命題、謂詞、變量、約束變量範圍的語句,及嵌入的邏輯表達式。
6)圖和網絡
有的系統採用圖匹配和圖轉換方案來有效地比較和索引知識。
7)框架和模式(schema)
每一個框架包含一組槽,用於描述事物(概念和個體)的各個方面。
8)計算機程序和其它的過程編碼
獲取這種形式的知識,目的在於取得一種能實現特定過程的能力,而不是爲了推斷該過程的內部結構。
9)神經網絡
這主要用在聯接學習中。學習所獲取的知識,最後概括爲一個神經網絡。
10)多種表示形式的組合
有時一個學習系統中獲取的知識須要綜合應用上述幾種知識表示形式。
根據表示的精細程度,可將知識表示形式分爲兩大類:泛化程度高的粗粒度符號表示、??泛化程度低的精粒度亞符號(sub-symbolic)表示。像決策樹、形式文法、產生式規則、形式邏輯表達式、框架和模式等屬於符號表示類;而代數表達式參數、圖和網絡、神經網絡等則屬亞符號表示類。
按應用領域分類
最主要的應用領域有:專家系統、認知模擬、規劃和問題求解、數據挖掘、網絡信息服務、圖象識別、故障診斷、天然語言理解、機器人和博弈等領域。
從機器學習的執行部分所反映的任務類型上看,大部分的應用研究領域基本上集中於如下兩個範疇:分類和問題求解。
(1)分類任務要求系統依據已知的分類知識對輸入的未知模式(該模式的描述)做分析,以肯定輸入模式的類屬。相應的學習目標就是學習用於分類的準則(如分類規則)。
(2)問題求解任務要求對於給定的目標狀態,??尋找一個將當前狀態轉換爲目標狀態的動做序列;機器學習在這一領域的研究工做大部分集中於經過學習來獲取能提升問題求解效率的知識(如搜索控制知識,啓發式知識等)。
綜合考慮各類學習方法出現的歷史淵源、知識表示、推理策略、結果評估的類似性、研究人員交流的相對集中性以及應用領域等諸因素。將機器學習方法[1] 區分爲如下六類:
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)交互來肯定和優化動做的選擇,以實現所謂的序列決策任務。在這種任務中,學習機制經過選擇並執行動做,致使系統狀態的變化,並有可能獲得某種強化信號(當即回報),從而實現與環境的交互。強化信號就是對系統行爲的一種標量化的獎懲。系統學習的目標是尋找一個合適的動做選擇策略,即在任一給定的狀態下選擇哪一種動做的方法,使產生的動做序列可得到某種最優的結果(如累計當即回報最大)。
在綜合分類中,經驗概括學習、遺傳算法、聯接學習和加強學習均屬於概括學習,其中經驗概括學習採用符號表示方式,而遺傳算法、聯接學習和增強學習則採用亞符號表示方式;分析學習屬於演繹學習。
實際上,類比策略可當作是概括和演繹策略的綜合。於是最基本的學習策略只有概括和演繹。
從學習內容的角度看,採用概括策略的學習因爲是對輸入進行概括,所學習的知識顯然超過原有系統知識庫所能蘊涵的範圍,所學結果改變了系統的知識演繹閉包, 於是這種類型的學習又可稱爲知識級學習;而採用演繹策略的學習儘管所學的知識能提升系統的效率,但仍能被原有系統的知識庫所蘊涵,即所學的知識未能改變系統的演繹閉包,於是這種類型的學習又被稱爲符號級學習。
1)監督學習(supervised learning)
監督學習,即在機械學習過程當中提供對錯指示。通常實在是數據組中包含最終結果(0,1)。經過算法讓機器自我減小偏差。這一類學習主要應用於分類和預測 (regression & classify)。監督學習從給定的訓練數據集中學習出一個函數,當新的數據到來時,能夠根據這個函數預測結果。監督學習的訓練集要求是包括輸入和輸出,也能夠說是特徵和目標。訓練集中的目標是由人標註的。常見的監督學習算法包括迴歸分析和統計分類。
2)非監督學習(unsupervised learning)
非監督學習又稱概括性學習(clustering)利用K方式(Kmeans),創建中心(centriole),經過循環和遞減運算(iteration&descent)來減少偏差,達到分類的目的。