MIT人工智能筆記分享(系列22講之十)

第十講 學習介紹及最近鄰


MIT人工智能筆記分享(系列22講之十)

“學習”是人工智能領域的重要專題。要搞清楚這個問題,就要回答諸如“學習”是什麼?人類是如何學習的?機器能夠具備像人一樣的學習能力麼?如果可以實現方式與人的方式一致麼?無可否認,MIT的老師確實不同凡響,50分鐘的課程給出了機器學習的基本脈絡和框架,讓我對“學習”概念本身有了更進一步的認識。在瞭解清楚了知識脈絡之後,對具體細節的把握和應用才會更加準確。除了學習的概念,對於“學習”主題中的最近鄰算法也有了更進一步的認識。下面把課程的筆記給大家做個分享,希望對大家理解這個主題有所幫助。

“學習”可以分為兩類:第一大類是基於規則的學習,機器比較擅長,通常是從既有的數據中挖掘出知識。這個當中又分為三種,第一種是模式識別:包括最近鄰等算法,實例如專家問答系統、模式匹配識別等等都屬於這一類;第二種是樸素仿生學的方法,包括最近最熱的神經網絡、遺傳算法;第三種是Boosting方法,源自理論工作者的貢獻,將不同類型的模型集成在一起。第二大類是基於約束的額學習,人類更加擅長,分為兩種:第一種是one shot learning,因為人類可以從確定的知識中進行學習,而不是從大量的數據中挖掘,一次學習更像人類行為;第二種是解釋學習,是人們在解決問題的過程中挖掘到了新的知識,達到學習的目的,是問題驅動的。上述描述給我們一個“學習”的框架,讓我們更好的理解目前紛繁複雜的各種學習算法。

最近鄰算法的理解:通俗的講就是選擇那個與已知選擇中最近的那個選擇作為答案,就是最靠近自己的那個選擇作為答案,我猜也是最近鄰這個提法的由來。比如,我們對一個未知的物種進行分類,如果它有翅膀、有羽毛,我們就基本會把它歸到鳥類下面,而不是歸為爬行動物或者其他。最近鄰算法的實現思路非常簡單,主要分為三步:一是獲取所需的特徵,二是選取特徵與特徵庫中的數據進行比較(數據集),三是進行判斷得出結論,與把大象放到冰箱中分三步的意思差不多。步驟明確了,接下來最核心的是最近的判定標準,以什麼作為判定最近的依據呢?最直接想到的就是距離,常見的是歐式距離,另外就是向量空間中的向量夾角。所以最近鄰問題可以被建模為求特徵向量的距離或夾角的極小值。瞭解了問題的模型,實現就非常簡單了,就是求未知量與已知特徵之間的歐式距離或者向量的夾角找到最近的那個。從上述過程中我們能夠體會,使用最近鄰的方法有兩個前提,一是特徵是已知的,二是有一個既有的特徵庫可以參考。最近鄰方法的應用其實非常廣泛,不只是在人工智能算法領域,比如法律、商學中的案例,醫生診斷時參考的典型病例就類似這個思想。還有一些典型案例的最近鄰“學習”的應用包括:網絡文章的分類:首先找到典型的文章,以文章中關鍵詞出現的次數(頻率)建立特徵庫,然後對文章進行分類。

在使用最近鄰方法的時候也要注意幾個問題:一是樣本空間的數據處理的問題當數據分佈不規範,在某一維過於聚集,這種情況可以用正規化的方法得到更科學分佈的數據,方法是除以方差;二是當數據與問題相互獨立時,使用最近鄰方法是無效的。


分享到:


相關文章: