隨著資訊科技的發展,計算機已經滲透到各個領域,隨著近幾年人工智慧的迅猛發展,機器更是在越來越多方面替代甚至超過了人類,語音識別、機器翻譯、自動駕駛、智慧型推薦,更有甚者,alphago在圍棋領域已經完全戰勝了所有人類,容易想象,未來一定是人工智慧的時代。但是一堆矽和金屬元器件,為何能夠完成這些以前只有依賴人腦才能完成的功能呢,其究竟能完成到什麼程度,機器是否將會具有知覺,情感呢?機器學習系列文章將從原理到結論為此展開討論。
機器學習就是讓電腦處理人腦才能完成的一類工作。計算機的特長在於數學計算,速度要強於人的大腦好多倍,但是有些問題是人腦擅長處理的,如模式識別,比如我們看到乙個手寫數字,很容易就辨認出來,但是同樣的工作對電腦卻很難。因為電腦只擅長數學計算,我們要把識別乙個手寫數字的問題轉化為計算問題,才能讓計算機完成。機器學習就是這個過程。下面簡單描述怎樣通過計算實現人腦才能完成的分類功能。
以下內容需要初等數學和概率統計基礎知識,實在對數學演算法不感興趣的同學可以直接看結語。
汽車兩邊有兩個後視鏡,如果我們要把後視鏡比作人腦袋上的某個器官,那大部分人都會覺得後視鏡比作耳朵很合適。這個模擬實際上是乙個分類過程:把後視鏡分到眼、耳、口、鼻最相近的類下面。後視鏡有很多特徵,比如「成對出現」,「左右對稱」,「位於兩側」。我們拿這些類別做比較,符合「左右對稱」的有眼、耳、口、鼻,符合「成對出現」的有眼、耳,符合「位於兩側」的只有耳。所以最終我們覺得後視鏡更像耳朵。
仔細考慮上面整個過程,顯然「位於兩側」比「成對出現」和「左右對稱」在這個分類過程中更加重要,因為用是否「位於兩側」特徵一次就能做出正確分類,而用「成對出現」卻只能縮小範圍,「左右對稱」甚至連範圍都沒有縮小,在分類中絲毫沒起作用。
讓計算機用決策樹演算法分類就同上面的過程相似,也要比較哪個特徵更加重要,但是計算機只能進行數學計算,特徵比較也只能通過比較數字來進行,所以我們就要量化特徵的重要程度。有很多方法,我們介紹一種:
還說上面分類的例子,給有「成對出現」、「左右對稱」、「位於兩側」三個特徵的後視鏡分類,類別分別有眼、耳、口、鼻四類。若不用任何特徵,隨機分類,那分到各個類別下面的概率都是0.25,資訊熵為:−4×
14
log21
4=2(
bit)
- 4\times\dfrac 14\log_2\dfrac 14=2(bit)
−4×41
log24
1=2
(bit
),如果用「成對出現」來分類(可以看作乙個隨機變數,只不過是乙個值域只有乙個值的隨機變數),會被隨機分到眼、耳(概率分別為0.5、0.5),不會被分到口、鼻(概率分別為0、0),這時計算的資訊熵期望(也叫條件熵)為:−2×
12
log21
2=1(
bit)
- 2\times\dfrac 12\log_2\dfrac 12=1(bit)
−2×21
log22
1=1
(bit
)。
條件熵:在已知第二個隨機變數x值的前提下,隨機變數y的資訊熵值。計算方法可以理解為計算資訊熵的數學期望:x值域的每個值,其概率與此取值下的y的資訊熵的乘積的和。既然資訊熵可以量化乙個隨機事件的不確定程度,那麼我們就可以通過計算資訊熵和條件熵的差值來衡量特徵的分類效果,也叫資訊增益(或相對熵)。特徵「成對出現」的資訊增益為:2−1
=1(b
it
)2-1=1(bit)
2−1=1(
bit)
;同樣演算法,「左右對稱」和「位於兩側」的資訊增益分別為:0(b
it
)0(bit)
0(bit)
和2 (b
it
)2(bit)
2(bit)
,這樣特徵的資訊增益越大,在分類中越重要。
至此為止,決策樹構建所需的全部概念已經介紹完了,下面說一下構建過程,為了簡單,我們不講細節:
首先會計算所有特徵的資訊增益,然後用資訊增益最大的特徵分支,類似於上面用是否「成對出現」來分支,是分一支,否分一支。對每個分支下的節點判斷是否滿足結束繼續分支的條件,若滿足就用此節點下的數量最多的類別作為該節點的類別標記,否則需要繼續分支,繼續分支的過程就是遞迴上面的步驟,也就是用剩下的特徵計算資訊增益,取最大的特徵再分支……直到所有分支下的節點都滿足分支結束條件,決策樹構建完成。
結語:人工智慧的很多問題實際上都可以轉化為分類問題,如手寫數字的識別問題,實際上就是對進行分類,分類類別為每乙個數字。人臉識別也是分類的過程,將每一張人臉掃瞄分類到每乙個人對應的類別下面。這裡從原理角度介紹了一種分類演算法,用計算機實現這個數學演算法就能構建出一顆具有分類功能的決策樹,然後就可以完成特定的分類問題,讓計算機看起來好像具有了一定智慧型。但決策樹演算法跟人類的大腦工作方式還有較大的區別的(或者說只是大腦的冰山一角)。但是未來我會寫一篇關於另乙個機器學習演算法的介紹文,那個演算法完全和人類大腦的工作方式一樣,就是神經網路模型。alphago就是憑藉這種模型在圍棋領域戰勝了所有人類的。此演算法不但可以讓計算機能夠像人腦那樣工作,解決特定領域的問題,甚至能夠讓計算機實現大腦能夠實現的所有功能,包括理性、情感、直覺、想象力和創造力。
機器學習 決策樹
一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...
機器學習 決策樹
我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...
機器學習 決策樹
一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...