機器學習基礎考試復習


機器學習基礎考試復習

只適用於媒工duhui的機器學習課

西瓜書學習筆記

中國大學MOOC-《機器學習》_視頻課程及pdf筆記 提取碼:jf10

中國大學MOOC-《模式識別及機器學習》_視頻課程及pdf筆記 提取碼:2g76

author: 梁君牧

簡答題:

  1. SVM方法中支持平面上把兩類類別分別分開來的超平面的向量點稱作支撐向量

  2. K-medoids算法不通過計算簇中所有樣本的平均值得到簇的中心,而是通過選取原有樣本中的樣本點作為代表對象代表這個簇。

  3. 函數的梯度方向是函數變化最快的方向

  4. 信息增益表示得知特征X信息而使得類Y的信息不確定性減少的程度。

  5. CART決策樹方法對分類樹用基尼指數最小化准則進行特征選擇,生成二叉樹。

  6. 回歸和分類都是有監督學習問題。

  7. C4.5決策樹生成方法中,用信息增益比來選擇特征。

  8. 朴素貝葉斯分類模型假設問題的特征之間都是互不相關的

  9. Kmeans算法通過計算簇中所有樣本的平均值得到簇的中心。

  10. 人工神經網絡是基於人類神經網絡的基本原理,在理解和抽象人腦和外界刺激響應機制的基礎上,以網絡拓撲知識為理論基礎,模擬人腦神經系統實現復雜信息處理機制的數學模型,具有自學能力、聯想存儲能力以及高速尋優能力。

  11. 決策樹的關鍵,即在當前狀態下選擇哪個特征作為分類依據。

  12. 首先構造完整的決策樹,允許樹過度擬合訓練數據,然后對那些置信度不夠的結點子樹用葉子結點來代替,該葉子的類標號用該結點子樹中最頻繁的類標記,該操作稱為后剪枝

問答題

  1. 監督學習、無監督學習的概念

    • 監督學習:對具有標記的訓練樣本進行學習來建立從樣本特征到標記的映射。

    • 無監督學習:對沒有標記的訓練樣本進行學習,發掘和揭示數據集本身潛在的結構與規律。

  2. 聚類的方法有哪些? 聚類筆記

    1. 原型聚類

      • K-Means聚類

      • LVQ聚類 (學習向量量化)

      • 高斯混合聚類

    2. 密度聚類

      • DBSCAN聚類

      • OPTICS聚類

      • DENCLUE聚類

    3. 層次聚類

      • BIRCH聚類

      • CURE聚類

    4. 基於網格的聚類

    5. 基於模型的聚類

      • 基於概率模型的聚類

      • 基於神經網絡模型的聚類

  3. 聚類分析方法分類?

    1. 基於划分的方法;

    2. 基於密度的方法;

    3. 基於層次的方法;

    4. 基於網絡的方法;

    5. 基於模型的方法;

  4. **k近鄰算法的分類決策規則? **

  • K近鄰算法的分類決策規則是多數表決規則,即由輸入實例的kk個近鄰的訓練實例中的多數類決定輸入實例的類別。
  1. K-Means的主要優缺點及針對缺點的優化方案 (可能出簡答題)

    • 優點:

      1. 算法簡單、快速。

      2. 對處理大數據集,該算法是相對可伸縮的和高效率的。

      3. 算法嘗試找出使平方誤差函數值最小的k個划分。

    • 缺點:

      1. K-means聚類算法只有在簇的平均值被定義的情況下才能使用。

      2. 要求用戶必須事先給出要生成的簇的數目k。

      3. 對初值敏感,不同的起點結果不同,可能導致算法陷入局部最優。(優化方案:K-Means++算法——初始的聚類中心之間的相互距離要盡可能的遠。)

      4. 不適合於發現非凸面形狀的簇,或者大小差別很大的簇。(優化方案:肘部算法)

      5. 對於噪聲和孤立點數據敏感。

  2. 交叉校驗(可能出簡答題)

    • 什么是交叉驗證法?
  3. 交叉校驗的基本思想就是將原始數據進行分組,一部分做為訓練集來訓練模型,另一部分做為測試集來評價模型。

  • 為什么用交叉驗證法?

    1. 交叉驗證用於評估模型的預測性能,尤其是訓練好的模型在新數據上的表現,可以在一定程度上減小過擬合。

    2. 還可以從有限的數據中獲取盡可能多的有效信息。

    • 主要有哪些方法?

      1. 留出法 :將數據集D划分為兩個互斥的集合,一個作為訓練集S,一個作為測試集T,滿足D=S∪T且S∩T=∅

      2. k 折交叉驗證:將原始數據集隨機分成K份,K-1份數據用於模型訓練,剩下一份用於測試模型。重復上述步驟K次,得到K個模型和評估結果,最終返回k次測試結果的均值。

      3. 自助法:給定包含m個樣本的數據集D,每次隨機從D 中挑選一個樣本,將其拷貝放入D’,然后再將該樣本放回初始數據集D 中,使得該樣本在下次采樣時仍有可能被采到。重復執行m 次,就可以得到了包含m個樣本的數據集D’。

  1. 簡述機器學習的主要分類及各自的作用 (可能出簡答題)

    • 機器學習大致可以分為監督學習、非監督學習、半監督學習、強化學習

    • 監督學習:對具有標記的訓練樣本進行學習來建立從樣本特征到標記的映射。

    • 非監督學習: 對沒有標記的訓練樣本進行學習,發掘和揭示數據集本身潛在的結構與規律。

    • 半監督學習: 對具有標記但部分數據會有缺失情況的訓練樣本,進行學習來建立從樣本特征到標記的映射。

    • 強化學習:通過觀察來學習做成如何的動作。每個動作都會對環境有所影響,學習對象根據觀察到的周圍環境的反饋來做出判斷。

  2. 簡述感知機的基本原理?(可能出簡答題)

    • 感知機是二分類的線性分類模型,屬於監督學習算法。輸入為實例的特征向量,輸出為實例的類別(取+1和-1)。感知機旨在求出將輸入空間中的實例划分為兩類的分離超平面。為求得超平面,感知機導入了基於誤分類的損失函數,利用梯度下降法對損失函數進行最優化求解。
  3. K-Medoids算法對K-Means算法做了哪些改進?

    • 與K-means相比 , K-mediods算法對於噪聲不那么敏感,這樣對於離群點就不會造成划分的結果偏差過大,少數數據不會造成重大影響。
  4. 線性回歸的過程是什么?舉例說明其應用。

  • 線性回歸的目標是找到一個參數θ,使得h(x) = θ00x01x1+...++θnx對數據擬合得最好。其過程就是最小化損失函數的過程。

  • 例子:房價預估

  1. 簡述機器學習的主要任務及各自的作用
  • 機器學習的主要任務分為分類回歸

  • 分類:是指將數據映射到預先定義好的群組或類。分類算法要求基於數據屬性值來定義類別,通常通過已知所屬類別的數據的特征來描述類別。

  • 回歸:用屬性的歷史數據預測未來趨勢。回歸首先假設一些已知類型的函數可以擬合目標數據,然后利用某種誤差分析確定一個與目標數據擬合程度最好的函數。

計算題

  1. 求函數f (x,y) = x3+3ln(y+1)的梯度向量。

    • \[\frac{\partial f}{\partial x} = 3x^2 , \frac{\partial f}{\partial y} = \frac{3}{y+1} \]

  2. 使用ID3方法生成相應的決策樹。(見↓專項點整理-決策樹例子)

  3. 使用朴素貝葉斯分類器進行分類。



25道選擇題

解析是自己整理的,如果有誤,還請見諒。

  1. 回歸和分類都是有監督學習問題( A )。

    A.對 B.錯 C.不確定

  2. KNN是一種聚類方法( B )。

    A.對 B.錯 C.不確定

  • 第2題 解析
    | KNN | K-Means |
    | ------------------------------------------------------------ | ------------------------------------------------------------ |
    | 目的是為了確定一個點的分類。 | 目的是為了確定一個點的分類。 |
    | KNN是分類算法。 | K-Means是聚類算法。 |
    | 監督學習,分類目標事先已知。 | 非監督學習,將相似數據歸到一起從而得到分類,沒有外部分類。 |
    | 訓練數據集有label,已經是完全正確的數據。 | 訓練數據集無label,是雜亂無章的,經過聚類后才變得有點順序,先無序,后有序。 |
    | K的含義:“k”是用來計算的相鄰數據數。來了一個樣本x,要給它分類,即求出它的y,就從數據集中,在x附近找離它最近的K個數據點,這K個數據點,類別c占的個數最多,就把x的label設為c。 | K的含義:“k”是類的數目。K是人工固定好的數字,假設數據集合可以分為K個簇,由於是依靠人工定好,需要一點先驗知識。 |
  1. 以下說法錯誤的一項是( C )。
  A.負梯度方向是使函數值下降最快的方向
  B.當目標函數是凸函數時,梯度下降法的解是全局最優解
  C.梯度下降法比牛頓法收斂速度快
  D.擬牛頓法不需要計算Hesse矩陣
 '''
 解析:
   牛頓法需要二階求導,梯度下降法只需一階,因此牛頓法比梯度下降法更快收斂。
 '''
  1. 關於神經網絡,下列說法正確的是?( C )
  A.增加網絡層數,不會增加測試集分類錯誤率
  B.增加網絡層數,一定會增加訓練集分類錯誤率
  C.減少網絡層數,可能會減少測試集分類錯誤率
  D.減少網絡層數,一定會減少訓練集分類錯誤率
 '''
 解析:
 	A.增加了網絡參數相當於增加了訓練的參數,可能會導致過擬合,增加測試集分類錯誤率。錯誤
 	B.增加了網絡參數相當於增加了訓練的參數,可能減少訓練集分類錯誤率;也有可能會導致過擬合,增大訓練集分類錯誤率。錯誤
 	C.減少網絡層數 可能是在原來過擬合的網絡上減少了訓練的參數,降低了過擬合程度,減少了測試集分類錯誤率。正確
 	D.減少網絡層數相當於減少了訓練的參數,可能會導致欠擬合,增大訓練集分類錯誤率。錯誤
 '''
  1. 下面哪句話是正確的?( C )
  A.機器學習模型的精准度越高,則模型的性能越好
  B.增加模型的復雜度,總能減小測試樣本誤差
  C.增加模型的復雜度,總能減小訓練樣本誤差
  D.以上說法都不對
 '''
 解析:
 	A.機器學習模型的精准度(Precision)越高,模型性能不一定越好,還要看模型的召回率(Recall),特別是在正負樣本分布不均的情況下。一般使用 F1分數 評判標准。F1分數 可以看作是模型精確率和召回率的一種調和平均。錯誤
 	B.增加模型的復雜度,可能會導致過擬合,增大測試樣本誤差。錯誤
 	C.增加模型的復雜度,總能減小訓練樣本誤差。即使出現過擬合,其表現是訓練樣本誤差減小,而測試樣本誤差增大。正確
 '''
  1. 如下圖所示,對同一數據集進行訓練,得到3個模型。對於這3個模型的評估,下列說法錯誤的是?( B )

    1577424138

  A.第一個模型的訓練誤差最大
  B.第三個模型性能最好,因為其訓練誤差最小
  C.第二個模型最穩健,其在測試集上表現應該最好
  D.第三個模型過擬合
 '''
 解析:
 	第一個模型欠擬合,訓練誤差最大。A正確
 	第二個模型訓練的剛剛好,其在測試集上表現應該最好。C正確
 	第三個模型過擬合,其在訓練集誤差小,而測試集誤差大。D正確,B錯誤
 '''
  1. 正則化(regularization)的作用不包括以下哪個? ( B )
  A.防止過擬合  B.去除噪點  C.降低模型復雜度
 '''
 解析:
 	正則化可以簡單理解為降低模型復雜度的一種方法。降低了模型復雜度,自然就不容易出現過擬合的情況。
 '''
  1. 畢業典禮后,某宿舍三位同學把自己的畢業帽扔了,隨后每個人隨機地拾起帽子,三個人中沒有人選到自己原來帶的帽子的概率是( B )。
  A.1/2  B.1/3  C.1/4  D.1/6 
'''
解析:
	假設3個人分別為1號,2號,3號。總的來說1號可以任意選3個帽子,2號可以選1號剩下的2個帽子,而3號只能選2號剩下的最后一個帽子,因此總數3x2x1=6種,符合條件的:1號可以選2號和3號帽子,當1號選了2號字后,2號只能選3號,而3號只能選3號,當1號選3號之后,2號只能選1號,3號只能選2號,只有這2種情況符合要求,因此概率為 2 / 6 = 1 /3.
'''
  1. 在其他條件不變的前提下,以下哪種做法容易引起機器學習中的過擬合問題( D )。
  A.增加訓練集量
  B.減少神經網絡隱藏層節點數
  C.刪除稀疏的特征
  D.SVM算法中使用高斯核/RBF核代替線性核
'''
解析:
	D.SVM使用線性核是即為線性分類器,當換成高斯核時即轉換我非線性分類器,能夠更好的訓練數據,而這樣帶來的風險就是容易引起過擬合,其他選項都能夠降低過擬合的風險。
'''
  1. 朴素貝葉斯是一種特殊的Bayes分類器,特征變量是X.類別標簽是C,它的一個假定是( C )。
  A.各類別的先驗概率P(C)是相等的
  B.以0為均值,sqrt(2)/2 為標准差的正態分布
  C.特征變量X的各個維度是各類別條件獨立隨機變量
  D.P(X|C)是高斯分布
'''
解析:
	朴素貝葉斯的“朴素” 意思就是 各類別條件獨立隨機變量。C正確
	各類別的先驗概率P(C)一般由領域專家制訂或者訓練所得,不一定相等。A錯誤
'''
  1. 點擊率問題是這樣一個預測問題, 99%的人是不會點擊的,而1%的人是會點擊進去的,所以這是一個非常不平衡的數據集假設,現在我們已經建了個模型來分類,而且有了99%的預測准確率,我們可以下的結論是( B )。
  A.模型預測准確率已經很高了,我們不需要做什么了
  B.模型預測准確率不高,我們需要做點什么改進模型
  C.無法下結論
  D.以上都不對
'''
解析:
  類別不均衡的情況下,不能用准確率做分類評估指標,因為如果訓練所得的分類結果全判斷為不會點,准確率也是99%,但是這個分類器一點用都沒有。
'''
  1. 以下說法哪些是正確的? ( B )
  A.在使用KNN算法時,k通常取奇數。
  B.KNN是有監督學習算法。
  C.在使用KNN算法時,k取值越大,模型越容易過擬合。
  D.KNN和k-means都是無監督學習算法。
'''
解析:
  A選項,k是可以取偶數的。
  C選項,K值較小,則模型復雜度較高,容易發生過擬合,學習的估計誤差會增大,預測結果對近鄰的實例點非常敏感。K值較大可以減少學習的估計誤差,但是學習的近似誤差會增大,與輸入實例較遠的訓練實例也會對預測起作用,使預測發生錯誤,k值增大模型的復雜度會下降。
  D選項,KNN是監督學習算法。
'''
  1. K-means是一種聚類方法( A )。
  A.對  B.錯  C.不確定;
'''
解析:
	同第2題解析。
'''
  1. 機器學習中做特征選擇時,可能用到的方法有? ( D )

    A.信息增益
    B.平均互信息
    C.期望交叉熵
    D.以上都有

  2. 下列屬於無監督學習的是( A )。

    A.k-means
    B.SVM
    C.最大熵
    D.CRF

  3. 想象一下,機器學習中有1000個輸入特征和1個目標特征,必須根據輸入特征和目標特征之間的關系選擇100個最重要的特征。你認為這是減少維數的例子嗎? ( A )

    A是 B.不是

  4. 監獄人臉識別准入系統用來識別待進入人員的身份,此系統- - -共包括識別4種不同的人員:獄警,小偷,送餐員,其他。下面哪種學習方法最適合此種應用需求 ( B )。

    A.二分類問題
    B.多分類問題
    C.層次聚類問題
    D.k-中心點聚類問題
    E.回歸問題

  5. 下列不是SVM核函數的是( D )。

  A.多項式核函數
  B.Sigmoid核函數
  C.徑向基核函數
  D.logistic核函數
'''
解析:
  SVM核函數包括線性核函數、多項式核函數、徑向基核函數、高斯核函數、冪指數核函數、拉普拉斯核函數、ANOVA核函數、二次有理核函數、多元二次核函數、逆多元二次核函數以及Sigmoid核函數。
'''
  1. 對於線性回歸,我們應該有以下哪些假設? ( D )
  1.找到離群點很重要,因為線性回歸對離群點很敏感
  2.線性回歸要求所有變量必須符合正態分布
  3.線性回歸假設數據沒有多重線性相關性
  A.1和2
  B.2和3
  C.1,2和3
  D.以上都不是
'''
解析:
    第1個假設, 離群點要着重考慮,第一點是對的。
    第2個假設, 正態分布不是必須的. 當然, 如果是正態分布, 訓練效果會更好。
    第3個假設, 有少量的多重線性相關性也是可以的, 但是我們要盡量避免。
    所以真要選,應當是1。不過這里選 D
'''
  1. 以下描述正確的是( C )。
  A.SVM是這樣一個分類器,它尋找具有最小邊緣的超平面,因此它也經常被稱為最小邊緣分類器。
  B.在聚類分析當中,簇內的相似性越大,簇間的差別越大,聚類的效果就越差。
  C.在決策樹中,隨着樹中結點輸變得太大,即使模型的訓練誤差還在繼續降低,但是檢驗誤差開始增大,這是出現了模型擬合不足的原因。
  D.聚類分析可以看作是一種非監督的分類。
  1. 關於正態分布,下列說法錯誤的是( C )。
  A.正態分布具有集中性和對稱性
  B.正態分布的均值和方差能夠決定正態分布的位置和形態
  C.正態分布的偏度為0,峰度為1
  D.標准正態分布的均值為0,方差為1
'''
解析:
	峰度:是對Sample構成的分布的峰值是否突兀或是平坦的描述。峰度用於度量x偏離某分布的情況,正態分布的峰度為3
	偏度:是對Sample構成的分布的對稱性狀況的描述。偏度用於衡量x的對稱性,正態分偏度等於0。
'''
  1. 過擬合只在監督學習中出現,在非監督學習中,沒有“過擬合”,這是( B )。
  A.對的  B.錯的
'''
解析:
	評估無監督學習方法可以通過無監督學習的指標,如:我們可以評估聚類模型通過調整蘭德系數。
	過擬合是訓練集上表現很好,但是在測試集上表現很差,泛化性能差。無監督學習也是有訓練集和測試集,也有過擬合的概念。
'''    
  1. 對於k折交叉驗證,以下對k的說法正確的是( D )。
  A.k越大,不一定越好,選擇大的k會加大評估時間
  B.選擇更大的k,就會有更小的bias (因為訓練集更加接近總數據集)
  C.在選擇k時,要最小化數據集之間的方差
  D.以上所有
'''
解析:
	k越大, bias越小, 訓練時間越長. 在訓練時, 也要考慮數據集間方差差別不大的原則. 比如, 對於二類分類問題, 使用2-折交叉驗證, 如果測試集里的數據都是A類的, 而訓練集中數據都是B類的, 顯然, 測試效果會很差。
'''

泛化誤差可以分解為偏差(Bias)方差(Variance)噪聲(Noise)

img

  1. 假設現在只有兩個類,這種情況下SVM需要訓練幾次? ( A )

    A.1 B.2 C.3 D.4

  2. 卷積神經網絡中通常包含卷積層和全連接層,它們的主要作用分別是( B )

    A. 進行分類、提取特征
    B. 提取特征、進行分類
    C. 提取特征、提取特征

  3. 下列哪些不適合用來對高維數據進行降維( C )

  A. LASSO
  B. 主成分分析法
  C. 聚類分析
  D. 小波分析法
  E. 線性判別法
  F. 拉普拉斯特征映射
'''
解析:
  聚類分析不能用來對高維數據進行降維。
'''
  1. 一般k-NN最近鄰方法在( B )的情況下效果較好
  A. 樣本較多但典型性不好
  B. 樣本較少但典型性好
  C. 樣本呈團狀分布  
  D. 樣本呈鏈狀分布
'''
解析:
  K近鄰算法主要依靠的是周圍的點,因此如果樣本過多,那肯定是區分不出來的。因此應當選擇B
  樣本呈團狀頗有迷惑性,這里應該指的是整個樣本都是呈團狀分布,這樣kNN就發揮不出其求近鄰的優勢了,整體樣本應該具有典型性好,樣本較少,比較適宜。
'''
  1. 模型的高bias是什么意思, 我們如何降低它 ?
  A. 在特征空間中減少特征
  B. 在特征空間中增加特征
  C. 增加數據點
  D. B和C
  E. 以上所有
'''
解析:
  bias表示模型預測值的均值與樣本實際值的差距,它反映了模型對樣本數據的擬合能力。bias越低,說明模型越復雜,參數越多,對樣本數據的擬合效果越好,但是容易過擬合;bias越高,說明模型越簡單,參數太少,對樣本數據的擬合效果不好,這就是欠擬合。
  降低bias的方法是增加數據的特征維數,從而實現模型參數的增加,提高模型復雜度,增強模型對樣本數據的擬合能力,擬合能力越高bias越低。
  增加樣本數量並沒有增加模型訓練時的參數,所以不會提高模型復雜度,也就無法降低bias,C錯誤。在特征空間中增加特征就是增加樣本數據的輸入特征維數,所以A錯誤,B正確。
'''

專項知識點整理

(一)K-Means聚類

  1. 算法思路
    • 首先隨機指定類中心,根據樣本與類中心的遠近划分類簇,接着重新計算類中心,迭代直至收斂

(二)K近鄰算法

  1. 算法思路 KNN筆記

    • 給定某個測試樣本,kNN基於某種距離度量在訓練集中找出與其距離最近的k個帶有真實標記的訓練樣本,然后給基於這k個鄰居的真實標記來進行預測。分類任務采用投票法,回歸任務則采用平均法。
  2. 核心思想

    • kNN算法的核心在於k值的選取以及距離的度量。k值選取太小,模型很容易受到噪聲數據的干擾,例如:極端地取k=1,若待分類樣本正好與一個噪聲數據距離最近,就導致了分類錯誤;若k值太大, 則在更大的鄰域內進行投票,此時模型的預測能力大大減弱,例如:極端取k=訓練樣本數,就相當於模型根本沒有學習,所有測試樣本的預測結果都是一樣的。一般地我們都通過交叉驗證法來選取一個適當的k值。
  3. 優點與缺點

    • 優點:

      1. 簡單、有效、復雜度低,無須參數估計,無須訓練;

      2. 精度高,對噪聲不敏感;

      3. 適合於多分類問題,表現性能比SVM效果更好;

    • 缺點:

    1. 對計算樣本分類時,計算量大,每個待分類的樣本要與全體已知樣本計算距離,才能得到k個最鄰近點;

    2. 可解釋性差;

    3. 樣本不均衡時,如果一個類樣本容量很大,而其他樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的k個鄰近樣本中很可能該類占大多數;

    4. k值的選取對分類效果有較大影響;

  4. K近鄰算法的改進

  5. KNN算法步驟


(三)決策樹

(1) 決策樹模型與決策樹學習

  1. 定義:分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由節點(node)和有向邊(directed edge)組成。節點有兩種類型:內部節點和葉節點。內部節點表示一個特征或屬性,葉節點表示一個類。用決策樹分類,從根節點開始,對實例的某一特征進行測試,根據測試結果,將實例分配到其子結點;這時,每一個子結點對應着該特征的一個取值。如此遞歸的對實例進行測試並分類,直至達到葉節點。最后將實例分到葉結點的類中。

  2. 本質:決策樹學習本質上是從訓練數據集中歸納出一組分類規則。與訓練數據集不相矛盾的決策樹(即能對訓練數據進行正確分類的決策樹)可能有多個,也可能一個也沒有。我們需要一個與訓練數據矛盾較小的決策樹,同時具有很好的泛化能力。

  3. 決策樹學習的損失函數通常是 正則化的極大似然函數 。

    決策樹學習的目標是 以損失函數為目標函數的最小化

  4. 決策樹學習的算法通常是一個 遞歸的選擇最優特征,並根據該特征對訓練數據進行分割,使得對各個子數據集有一個最好的分類過程。開始,構建根結點,將所有訓練數據都放在根結點。選擇一個最優特征,按照這個特征將訓練數據集分割成子集,使得各個子集有一個在當前條件下最好的分類。如果這些子集已經能夠被基本正確分類,那么構建葉結點,並將這些子集分到所對應的葉結點中去;如果還有子集不能被基本正確分類,那么就對這些子集選擇新的最優特征,繼續對其進行分割,構建相應的結點。如此遞歸的進行下去,直至所有訓練數據子集被基本正確分類,或者沒有合適的特征為止。最后每個子集都被分到葉結點上,即有了明確的類。這就生成一顆決策樹。
    以上方法生成的決策樹可能對訓練數據有很好的分類能力,但對未知的測試數據可能過擬合。需要對已生成的樹自下而上進行剪枝,將樹變得更簡單,從而使它具有更好的泛化能力。具體的就是去掉過於細分的葉結點,使其退回到父結點,甚至更高的結點,然后將其改為新的葉結點。
    若特征較多,在決策樹學習開始的時候,對 特征進行選擇,只留下對訓練數據有足夠分類能力的特征。決策樹的生成只考慮局部最優
    決策樹的剪枝只考慮全局最優

(2) 特征選擇

  1. 特征選擇在於選取對訓練數據具有分類能力的特征,可以提高決策樹學習的效率。通常特征選擇的准則是信息增益或信息增益率

(3) 信息增益

  1. 信息熵:在信息論和概率統計中,熵(entropy) 是表示隨機變量不確定性的度量(純度)。是用來衡量一個隨機變量出現的期望值。如果信息的不確定性越大,熵的值也就越大,出現的各種情況也就越多。 假設隨機變量X的可能取值有x1 ,x2 ...,xn ,對於每一個可能的取值xi ,其概率 P(X=xi ) = pi , ( i = 1,2, ... , n)
    因此隨機變量X的熵:H(X) = $$\sum_{i=0}^{n}$$Pi log2Pi

    由定義可知,熵只依賴於X的分布,而與X的取值無關

    對於樣本集合D來說,隨機變量X是樣本的類別,即,假設樣本有k個類別,每個類別的概率是\frac{|C_k|}{|D|},其中|Ck|表示類別k的樣本個數,|D|表示樣本總數,則對於樣本集合D來說熵(經驗熵)為:

    H(D) = -\sum_{k=1}^{K} \frac{|C_k|}{|D|}log_2 \frac{|C_k|}{|D|}

  2. 條件熵:假設有隨機變量(X,Y),其聯合概率分布為:P(X=xi,Y=yj)=pij ,
    則條件熵 H(Y∣X) 表示在已知隨機變量X的條件下隨機變量Y的不確定性,其定義為X在給定條件下Y的條件概率分布的熵對X的數學期望:

    entropy(D,A) = \sum_{i=1}^k \frac {D_{A_i}}{D} log_2D_{A_i}

  3. 信息增益

    • 定義: 特征A對訓練數據集D的信息增益g(D,A),定義為集合D的經驗熵H(D) 與特征A給定條件下D的經驗條件熵H(D|A)之差,即:
          g(D,A)=H(D)-H(D|A)
      划分前樣本集合D的熵是一定的 ,entroy(前),使用某個特征A划分數據集D,計算划分后的數據子集的熵 entroy(后):

    • 信息增益 = entroy(前) - entroy(后)

  • 信息增益表示由於特征A使得對數據集D的分類的不確定性減少的程度
    根據信息增益准則的特征選擇方法是:對訓練數據集D,計算其每個特征的信息增益,並比較它們的大小,選擇信息增益最大的特征。

    • 缺點: 信息增益偏向取值較多的特征。

    • 原因: 當特征的取值較多時,根據此特征划分更容易得到純度更高的子集,因此划分之后的熵更低,由於划分前的熵是一定的,因此信息增益更大,因此信息增益比較 偏向取值較多的特征。

    • 計算公式及例子:

      imgimg

(4) 決策樹的生成

4.1 ID3算法

  1. ID3算法核心是在決策樹各個節點上應用 信息增益 准則選擇特征,遞歸的構建決策樹。具體方法是:從根結點開始,對結點計算所有可能的特征的信息增益,選擇信息增益最大的特征作為結點的特征,由該特征的不同取值建立子結點;再對子結點遞歸的調用以上方法,構建決策樹;直到所有特征的信息增益均很小或沒有特征可以選擇為止。ID3相當於用極大似然法進行概率模型的選擇。

  2. ID3算法舉例:

    img

    1. 選擇最優划分屬性

      • ID3采用信息增益作為選擇最優的分裂屬性的方法,選擇熵作為衡量節點純度的標准,根據以上公式對上述的例子的根節點進行分裂,分別計算每一個屬性的信息增益,選擇信息增益最大的屬性進行分裂。
    2. 計算根節點的信息熵

      • 本例中正例(好瓜)占 8/17,反例占 9/17 ,根結點的信息熵為:

        Ent(D) = -\sum_{k=1}^{2}p_klog_2p_k = -( \frac{8}{17}log_2\frac{8}{17}+\frac{9}{17}log_2\frac{9}{17})

    3. 計算各個特征的信息增益,選取最大的屬性進行分裂。

      • 計算當前屬性集合{色澤,根蒂,敲聲,紋理,臍部,觸感}中每個屬性的信息增益

        色澤有3個可能的取值:{青綠,烏黑,淺白}

        D1(色澤=青綠) = {1, 4, 6, 10, 13, 17},正例 3/6,反例 3/6

        D2(色澤=烏黑) = {2, 3, 7, 8, 9, 15},正例 4/6,反例 2/6

        D3(色澤=淺白) = {5, 11, 12, 14, 16},正例 1/5,反例 4/5

        計算出用“色澤”划分之后所獲得的3個分支結點的信息熵為:

        由此可得“色澤”的信息增益為:

        Gain(D,d) = Ent(D) - \sum_{v=1}^{3} \frac{|Dv|}{D}Ent(Dv)

        =0.998-( \frac{6}{17} \times 1.000 + \frac{6}{17} \times 0.918 + \frac{5}{17} \times 0.722) = 0.109

        類似的,我們可以計算出其他屬性的信息增益,選取信息增益最大的進行划分,依次類推,最終得到決策樹:

        img

  3. ID3算法的缺點:

    1. 不能對連續數據進行處理,只能通過連續數據離散化進行處理;

    2. 采用信息增益進行數據分裂容易偏向取值較多的特征,准確性不如信息增益率;

    3. 缺失值不好處理。

    4. 沒有采用剪枝,決策樹的結構可能過於復雜,出現過擬合。


(四)朴素貝葉斯分類

(一) 基礎知識

  1. 先驗概率:用P(h)表示在沒有觀察到訓練數據之前假設h擁有的初始概率,P(h)被稱為假設h的先驗概率。

    先驗概率反映了關於假設h是一正確假設的機會的背景知識;如果沒有這一先驗知識,可以簡單地將每一候選假設賦予相同的先驗概率。類似地,P(D)表示訓練數據D的先驗概率,那么 P(D|h)就表示假設h成立時D的概率。

  2. 后驗概率:在分類問題中,我們關心的是P(h|D),即給定D時h的成立的概率,稱為h的后驗概率。

  3. 一些公式:

    • 交換規則:P(A,B)=P(B,A)

    • 乘法規則:P(A,B)=P(A|B)P(B)=P(B|A)P(A)=P(B,A)

    • 貝葉斯定理提供了從先驗概率P(h)、P(D)以及 P(D|h)計算后驗概率P(h|D)的方法
      P(h|D) = \(\frac{P(D|h)P(h)}{P(D)}\)

    • P(h|D)隨着P(h)和P(D|h)的增長而增長,而隨着 P(D)的增長而減少。這是很合理的,因為如果D獨 立於h時被觀察到的可能性越大,那么D對h的支持度就越小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM