當前位置:
首頁 > 最新 > 人工智慧、機器學習、模式識別、數據挖掘關係

人工智慧、機器學習、模式識別、數據挖掘關係

一直有人問我,關於人工智慧、機器學習、模式識別、數據挖掘關係的問題,一句話來說:「剪不斷,理還亂」。這個描述非常非常重要,因為它們之間交叉得太嚴重,而又相互支撐。這裡,我努力嘗試解釋一下,供大家討論。

1.人工智慧:起源於上世紀50年代,說白了,就是希望計算機具有人類一樣的智能。其實,最高級的應該是「機器智能」,就是讓機器除了具備人類的理解和認知能力,還可以超越人類,並認知人類理解不了的問題,這個特別難。也就是,暫時實現不了機器智能,就先來個人工智慧。目前,所說的人工智慧(artificial intelligence)是一種弱人工智慧,可以說是一個狹義的概念,局限於演算法。因為,artificial不是real simulate人腦的思考過程。這種,只是人類通過編程(即演算法實現),將能用計算機語言描述且能被計算機理解的工作讓計算機「像人一樣」完成,具有一定程度的智能化。

既然想要計算機像人一樣的智能,那麼就要讓計算機具備人的認知過程,就涉及到了普通心理學。

認知過程:認知過程指人腦通過感覺、知覺、記憶、思維、想像等形式反映客觀對象的性質及對象間關係的過程。人類認知有3種基本過程:

(1)問題解決:採用啟發式、手段-目的分析和計划過程法。

(2)模式識別能力:人要建立事物的模式,就必須認識各元素之間的關係。如等同關係、連續關係等。根據元素之間的關係,就可構成模式。

(3)學習:學習就是獲取信息並將其貯存起來,便於以後使用。學習有不同的形式,如辨別學習、閱讀、理解、範例學習等。

了解了這兩個概念後,我們再說說模式識別和機器學習,因為與以上過程相關。

2.模式識別:產生於上世紀70、80年代,人們在觀察事物或現象的時候,常常要尋找它與其他事物或現象的不同之處,並根據一定的目的把各個相似的但又不完全相同的事物或現象組成一類,它強調的是如何讓一個計算機程序去做一些看起來很「智能」的事情。

結合時間軸和認知過程,人類認知過程中,最容易讓計算機實現的就是模式識別,比如識別數字8和字母B,而模式識別更多的是一種「匹配」或「分類」(可以是二分類、三分類、無窮分類即回歸)問題,所以該領域研究的重點在於特徵提取,也不一定要有大量的數據。所以,傳統演算法中,當數據量不夠大的時候,往往需要儘可能將所有特徵提取出來以提高準確率,這就是為啥前些年研究都集中於特徵提取和數據降維,就是因為特徵維度太高!舉例:識別男女,而數據樣本就兩個,1男1女,那需要提取多少特徵啊?!當時的計算能力還有限,雲計算技術還沒出現,怎能不降維啊?!當然,現在的模式識別用了很多機器學習的方法,且成為主流,後面再說。

3.機器學習:其定義是在上世紀90年代,專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。簡單說就是,從樣本中學習的智能程序,所以其研究重點在於演算法(模型)。

還是結合時間軸和認知過程:一方面,認知過程由模式識別發展到學習;另一方面,90年代開始,隨著互聯網技術和計算機信息化的高速發展,信息量(數據量)越來越大,擁有的數據越來越多(即樣本量越來越多)。還是以識別男女為例,此時演算法不用提取全部特徵,只要提取最重要的一部分特徵就好了,特徵不足由誰來彌補?當然是樣本量了!計算機模擬人的學習過程,根據主要特徵,一遍一遍學習,一遍一遍認識,樣本量越多,見識越廣,自然就認知了。所以,除了提取重要特徵,機器學習的重點是訓練樣本和研究演算法模型!機器學習演算法根據樣本是否標註以及標註的樣本量多少,分為非監督學習、監督學習和半監督學習,還可根據目的分為聚類演算法、分類演算法、回歸演算法等等!那麼,這些演算法中的很大部分都可以用於模式識別,當然不局限於模式識別,比如排序演算法、推薦演算法、決策支持等。

因此:

(1)從另外一個角度也可以理解為:模式識別是目的,機器學習是方法。

(2)模式識別和機器學習都是為了實現某方面的弱人工智慧的方法(演算法)。

(3)模式識別、機器學習和深度學習不是萬能的,因為智能的很多方面不是通過大量的樣本學習得來的,比如:一個不認識的難吃的食物,吃進去立馬吐出來,從此認定這個東西不好吃,這就出現了其他非基於樣本和特徵的方法(比如:強化學習)。當然,還有很多智能也是用學習實現不來的,所以才叫做「狹義的人工智慧」!

4.數據挖掘:數據挖掘(英語:Data mining),又譯為數據採礦。它是資料庫知識發現(英語:Knowledge-Discovery in Databases,簡稱:KDD)中的一個步驟。數據挖掘一般是指從大量的數據中通過演算法搜索隱藏於其中信息的過程。所以,數據挖掘的重點在於挖掘數據和數據處理!這也就是為什麼,數據挖掘書籍與機器學習書籍內容相比,數據挖掘前半部分都是講解如何對數據採集、數據清洗、數據集成、數據入庫等等!都是更好地為後續數據分析準備!所以,數據挖掘和機器學習重點不一樣。

胡祥恩教授的一句話,給了我很大啟發「數據挖掘就是要挖掘不知道的東西!」

所以:

(1)我認為數據挖掘和人工智慧是一個層面的概念,而機器學習和模式識別屬於再具體的一個層面,不從屬於數據挖掘和人工智慧,但是又為它們提供很大支撐,或者提供方法。

(2)數據挖掘是為了獲取未知的知識,所以常常用機器學習中的非監督的聚類演算法,通過結果來看發現了什麼信息、獲得了什麼知識。當然,海量數據環境下(我理解:數據量大才需要挖掘),並且有目的的挖掘也可以用分類演算法(比如,就是為了挖金子,不是挖煤)。

隨著,互聯網和移動計算的進一步發展,形成了海量數據,也就產生了大數據(跟多的是非結構化的)。資料庫和數據倉庫技術幫助存儲海量數據,而要用機器學習和模式識別的方法分析這些數據。而之前,海量數據這個概念產生了很久卻沒有太多實質性進展是因為:沒有好的技術對數據處理和分析做支撐!雲計算技術(包含:分散式、虛擬化、體系結構等)的產生、發展為大數據處理和分析提供了技術手段。

再來說說近幾年火熱的深度學習。

5.深度學習:真正的深度學習實現於2006年,是機器學習研究中的一個新的領域,其動機在於建立、模擬人腦進行分析學習的神經網路,它模仿人腦的機制來解釋數據,例如圖像,聲音和文本。

再次結合時間軸和認知過程:一方面,相比於傳統的機器學習演算法,基於神經網路的深度學習演算法更接近於對人腦的模擬(此時,還是人工智慧,而非機器智能);另一方面,前面提及過的是,機器學習和樣本量增加的情況促使演算法可以不需要特別多的特徵維度,而大數據又帶來了更多的樣本量和數據維度。在這種情況下,因為有了雲計算技術和GPU(英偉達公司很給力!)的支撐,所以我理解,研究人員此時可以更加大膽地嘗試採用大量數據樣本+大量特徵維度的方式,利用深度學習技術進行實現。而深度學習本身更像是一種技術。所以,我認為深度學習是機器學習的一個分支!

深度學習的廣泛落地問題,就會涉及對偶學習和遷移學習。

6.對偶學習和遷移學習: 深度學習的出現,使得部分領域的應用實現很好滴落地,其中以人臉識別和語音識別為代表,而其他領域還沒有實現更好的落地的根本原因是:數據標註問題!因為,人臉識別和語音識別都從屬於模式識別範疇,所以在很多年前就有很多研究者在從事該方面的研究,尤其標註了大量的樣本數據!深度學習很好,但是其他領域沒有足夠的已標註樣本,因此為了解決這個問題就出現了對偶學習和遷移學習等。

(1)對偶學習(微軟,2016): 很多人工智慧的應用涉及兩個互為對偶的任務,例如機器翻譯中從中文到英文翻譯和從英文到中文的翻譯互為對偶、語音處理中語音識別和語音合成互為對偶、圖像理解中基於圖像生成文本和基於文本生成圖像互為對偶、問答系統中回答問題和生成問題互為對偶。對偶學習的最關鍵一點在於,給定一個原始任務模型,其對偶任務的模型可以給其提供反饋;同樣的,給定一個對偶任務的模型,其原始任務的模型也可以給該對偶任務的模型提供反饋;從而這兩個互為對偶的任務可以相互提供反饋,相互學習、相互提高。

(2)遷移學習:學習遷移是指一種學習對另一種學習的影響,或習得的經驗對完成其他活動的影響。例如:通過已有的用戶對橘子的喜好程度的標註數據,可以學習到某個人不喜歡橘子的原因是因為不喜歡酸的。而接下來要研究用戶對酸棗的喜好,但是酸棗喜好的用戶數據沒有標註,那麼可以將對橘子的學習遷移到酸棗上,就可知道這個人同樣不喜歡酸棗,因為他不喜歡酸的(註:例子不一定完全恰當)。

但是,並不是深度學習就是最好,因為考慮性能和開銷等因素,很多問題(如:樣本量少的情況)用傳統方法比深度學習還要好。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

Arm 一口氣發布 4款GPU 新品,讓入門級手機也能用上機器學習
機器學習如何毫不費力測骨齡?北美放射學會機器學習挑戰大賽獲勝演算法分享

TAG:機器學習 |