機器學習—常見算法分類
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法復雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。
它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域,它主要使用歸納、綜合而不是演繹。
綜合分類
綜合考慮各種學習方法出現的歷史淵源、知識表示、推理策略、結果評估的相似性、研究人員交流的相對集中性以及應用領域等諸因素。將機器學習方法[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)交互來確定和優化動作的選擇,以實現所謂的序列決策任務。在這種任務中,學習機制通過選擇并執行動作,導致系統狀態的變化,并有可能得到某種強化信號(立即回報),從而實現與環境的交互。強化信號就是對系統行為的一種標量化的獎懲。系統學習的目標是尋找一個合適的動作選擇策略,即在任一給定的狀態下選擇哪種動作的方法,使產生的動作序列可獲得某種最優的結果(如累計立即回報最大)。
在綜合分類中,經驗歸納學習、遺傳算法、聯接學習和增強學習均屬于歸納學習,其中經驗歸納學習采用符號表示方式,而遺傳算法、聯接學習和加強學習則采用亞符號表示方式;分析學習屬于演繹學習。
實際上,類比策略可看成是歸納和演繹策略的綜合。因而最基本的學習策略只有歸納和演繹。
從學習內容的角度看,采用歸納策略的學習由于是對輸入進行歸納,所學習的知識顯然超過原有系統知識庫所能蘊涵的范圍,所學結果改變了系統的知識演繹閉包, 因而這種類型的學習又可稱為知識級學習;而采用演繹策略的學習盡管所學的知識能提高系統的效率,但仍能被原有系統的知識庫所蘊涵,即所學的知識未能改變系統的演繹閉包,因而這種類型的學習又被稱為符號級學習。