李航《統計學習方法》筆記

李航《統計學習方法》讀書筆記

目錄 李航《統計學習方法》讀書筆記一、知識點二、感知機三、k 近鄰法四、樸素貝葉斯五、決策樹六、logistic 迴歸和最大熵模型七、支持向量機八、提升方法九、EM 算法EM 算法是一種迭代算法,用於含有隱變量的概率模型參數的極大似然估計。每次迭代由兩步組成:E 步,求期望 ( expectation ),M 步,求極大值 ( maximization ),直至收斂爲止。十、隱馬爾可夫模型 ( HMM )十一、統計學習方法總結十二、神經網絡十三、K-Means十四、Bagging十五、Apriori十六、降維方法十七、引用

一、知識點

  • 進程和線程:進程和線程都是一個時間段的描述,是 CPU 工作時間段的描述,不過是顆粒大小不同。進程就是包換上下文切換的程序執行時間總和 = CPU 加載上下文 + CPU 執行 + CPU 保存上下文。線程是共享了進程的上下文環境的更爲細小的 CPU 時間段。
  • 判別式模型和生成式模型:
  1. 判別式模型直接學習決策函數 f(X) 或條件概率分佈 P(Y|X) 作爲預測的模型。往往準確率更高,並且可以簡化學習問題。如 k 近鄰法/感知機/決策樹/最大熵模型/ Logistic 迴歸/線性判別分析 ( LDA ) /支持向量機 ( SVM ) / Boosting /條件隨機場算法 ( CRF ) /線性迴歸/神經網絡
  2. 生成式模型由數據學習聯合概率分佈 P(X,Y),然後由 P(Y|X)=P(X,Y)/P(X) 求出條件概率分佈作爲預測的模型,即生成模型。當存在隱變量時只能用生成方法學習。如混合高斯模型和其他混合模型/隱馬爾可夫模型 ( HMM ) /樸素貝葉斯/依賴貝葉斯 ( AODE ) / LDA 文檔主題生成模型。
  • 概率質量函數,概率密度函數,累積分佈函數:
  1. 概率質量函數 ( probability mass function,PMF ) 是離散隨機變量在各特定取值上的概率。
  2. 概率密度函數 ( probability density function,PDF ) 是對 連續隨機變量 定義的,本身不是概率,只有對連續隨機變量的取值進行積分後纔是概率。
  3. 累積分佈函數 ( cumulative distribution function,CDF ) 能完整描述一個實數隨機變量 X 的概率分佈,是概率密度函數的積分。對於所有實數 x,與 pdf 相對。
  • 極大似然估計:已知某個參數能使這個樣本出現的概率最大,我們當然不會再去選擇其他小概率的樣本,所以乾脆就把這個參數作爲估計的真實值。
  • 最小二乘法:二乘的英文是 least square,找一個 ( 組 ) 估計值,使得實際值與估計值之差的平方加總之後的最小。求解方式是對參數求偏導,令偏導爲0即可。樣本量小時速度快。
  • 梯度下降法:負梯度方向是函數值下降最快的方向,每次更新值都等於原值加學習率 ( 步長 ) 乘損失函數的梯度。每次都試一個步長看會不會下降一定的程度,如果沒有的話就按比例減小步長。不斷應用該公式直到收斂,可以得到局部最小值。初始值的不同組合可以得到不同局部最小值,在最優點時會有震盪。
  1. 批量梯度下降 ( BGD ):每次都使用所有的 m 個樣本來更新,容易找到全局最優解,但是 m 較大時速度較慢。

  2. 隨機梯度下降 ( SGD ):每次只使用一個樣本來更新,訓練速度快,但是噪音較多,不容易找到全局最優解,以損失很小的一部分精確度和增加一定數量的迭代次數爲代價,換取了總體的優化效率的提升。注意控制步長縮小,減少震盪。

  3. 小批量梯度下降 ( MBGD ):每次使用一部分樣本來更新。

  • 牛頓法:牛頓法是二次收斂,因此收斂速度快。從幾何上看是每次用一個二次曲面來擬合當前所處位置的局部曲面,而梯度下降法是用一個平面來擬合。

    紅色的是牛頓法的迭代路徑,綠色的是梯度下降法的迭代路徑。牛頓法起始點不能離極小點太遠,否則很可能不會擬合。

  1. 黑塞矩陣是由目標函數 f(x) 在點 X 處的二階偏導數組成的 n*n 階對稱矩陣。

  2. 牛頓法:將 f(x) 在 x(k) 附近進行二階泰勒展開:

    其中,gk 是 f(x) 的梯度向量在 x(k) 的值,H(x(k)) 是 f(x) 的黑塞矩陣在點 x(k) 的值。牛頓法利用極小點的必要條件 f(x) 處的梯度爲0,每次迭代中從點 x(k) 開始,假設,對二階泰勒展開求偏導有,代入得到,即,以此爲迭代公式就是牛頓法。

  • 擬牛頓法:用一個 n 階正定矩陣 Gk=G(x(k)) 來近似代替黑塞矩陣的逆矩陣就是擬牛頓法的基本思想。在牛頓法中黑塞矩陣滿足的條件如下:,令,則有,稱爲擬牛頓條件。根據選擇 Gk 方法的不同有多種具體實現方法。
  1. DFP 算法:假設每一步,爲使 Gk+1 滿足擬牛頓條件,可使 Pk 和 Qk 滿足,,例如取,,就得到迭代公式
  2. BFGS 算法:最流行的擬牛頓算法。考慮用 Bk 逼近黑塞矩陣,此時相應的擬牛頓條件是,假設每一步,則 Pk 和 Qk 滿足,,類似得到迭代公式
  • 先驗概率和後驗概率:
  1. 先驗概率就是事情發生前的預測概率。
  2. 後驗概率是一種條件概率,它限定了事件爲隱變量取值,而條件爲觀測結果。一般的條件概率,條件和事件可以是任意的。
  3. 貝葉斯公式 P(y|x) = ( P(x|y) * P(y) ) / P(x) 中,P(y|x) 是後驗概率,P(x|y) 是條件概率,P(y) 是先驗概率。
  • 偏差,方差,噪聲:
  1. 偏差:度量了學習算法的期望預測和真實結果偏離程度。
  2. 方差:度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動所造成的影響。
  3. 噪聲:可以認爲是數據自身的波動性,表達了目前任何學習算法所能達到泛化誤差的下限。
  4. 泛化誤差可以分解爲偏差、方差與噪聲之和。
  • 對偶原理:一個優化問題可以從主問題和對偶問題兩個方面考慮。在推導對偶問題時,通過將拉格朗日函數對 x 求導並使導數爲0來獲得對偶函數。對偶函數給出了主問題最優解的下界,因此對偶問題一般是凸問題,那麼只需求解對偶函數的最優解就可以了。
  • KKT 條件:通常我們要求解的最優化條件有如下三種:
  1. 無約束優化問題:通常使用求導,使導數爲零,求解候選最優值。

  2. 有等式約束的優化問題:通常使用拉格朗日乘子法,即把等式約束用拉格朗日乘子和優化問題合併爲一個式子,通過對各個變量求導使其爲零,求解候選最優值。拉格朗日乘數法其實是 KKT 條件在等式約束優化問題的簡化版。

  3. 有不等式約束的優化問題:通常使用 KKT 條件。即把不等式約束,等式約束和優化問題合併爲一個式子。假設有多個等式約束 h(x) 和不等式約束 g(x)

    則不等式約束引入的KKT條件如下:

    實質是最優解在 g(x)<0 區域內時,約束條件不起作用,等價於對 μ 置零然後對原函數的偏導數置零;當 g(x)=0 時與情況2相近。結合兩種情況,那麼只需要使 L 對 x 求導爲零,使 h(x) 爲零,使 μg(x) 爲零三式即可求解候選最優值。

  • 性能度量:
  1. 準確度,最常用,但在數據集不平衡的情況下不好。
  2. Precision ( 精確度/查準率 ):P=TP/(TP+FP)
  3. Recall ( 召回率/查全率 ):R=TP/(TP+FN)
  4. Fβ 度量:,當 β=1 時退化爲 F1 度量,是精確率和召回率的調和均值。
  5. TPR ( 真正例率 ):TPR=TP/(TP+FN)
  6. FPR ( 假正例率 ):FPR=FP/(TN+FP)
  7. PR 曲線:縱軸爲 Precision,橫軸爲 Recall,一般使用平衡點 ( BEP,即 Precsion=Recall 的點 ) 作爲衡量標準。
  8. ROC ( 接受者操作特徵 ) 曲線:縱軸爲 TRP,橫軸爲 FPR,在繪圖時將分類閾值依次設爲每個樣例的預測值,再連接各點。ROC 曲線圍住的面積稱爲 AOC,AOC 越大則學習器性能越好。
  • 損失函數和風險函數:
  1. 損失函數度量模型一次預測的好壞。常用的損失函數有:0-1損失函數,平方損失函數,絕對損失函數,對數似然損失函數。
  2. 損失函數的期望是理論上模型關於聯合分佈 P(X,Y) 的平均意義下的損失,稱爲風險函數,也叫期望風險。但是聯合分佈是未知的,期望風險不能直接計算。
  3. 當樣本容量 N 趨於無窮時經驗風險趨於期望風險,但現實中訓練樣本數目有限。
  • 經驗風險最小化和結構風險最小化:
  1. 模型關於訓練數據集的平均損失稱爲經驗風險。經驗風險最小化的策略就是最小化經驗風險。當樣本數量足夠大時學習效果較好。比如當模型是條件概率分佈,損失函數是對數損失函數時,經驗風險最小化就等價於極大似然估計。但是當樣本容量很小時會出現過擬合。
  2. 結構風險最小化等於正則化。結構風險在經驗風險上加上表示模型複雜度的正則化項。比如當模型是條件概率分佈,損失函數是對數損失函數,模型複雜度由模型的先驗概率表示時,結構風險最小化就等價於最大後驗概率估計。
  • 過擬合是指學習時選擇的模型所包含的參數過多,以致於對已知數據預測得很好,但對未知數據預測很差的現象。模型選擇旨在避免過擬合併提高模型的預測能力。
  • 正則化是模型選擇的典型方法。正則化項一般是模型複雜度的單調遞增函數,比如模型參數向量的範數。
  • 交叉驗證是另一常用的模型選擇方法,可分爲簡單交叉驗證,K 折交叉驗證,留一交叉驗證等。

二、感知機

感知機是二類分類的線性模型,屬於判別模型。感知機學習旨在求出將訓練數據進行線性劃分的分離超平面。是神經網絡和支持向量機的基礎。

  • 模型:,w 叫作權值向量,b 叫做偏置,sign 是符號函數。

  • 感知機的幾何解釋:wx+b 對應於特徵空間中的一個分離超平面 S,其中 w 是 S 的法向量,b 是 S 的截距。S 將特徵空間劃分爲兩個部分,位於兩個部分的點分別被分爲正負兩類。

  • 策略:假設訓練數據集是線性可分的,感知機的損失函數是誤分類點到超平面 S 的總距離。因爲誤分類點到超平面S的距離是,且對於誤分類的數據來說,總有成立,因此不考慮 1/||w||,就得到感知機的損失函數:,其中 M 是誤分類點的集合。感知機學習的策略就是選取使損失函數最小的模型參數。

  • 算法:感知機的最優化方法採用隨機梯度下降法。首先任意選取一個超平面 w0,b0,然後不斷地極小化目標函數。在極小化過程中一次隨機選取一個誤分類點更新 w,b,直到損失函數爲0。

    其中 η 表示步長。該算法的直觀解釋是:當一個點被誤分類,就調整 w,b 使分離超平面向該誤分類點接近。感知機的解可以不同。

  • 對偶形式:假設原始形式中的 w0 和 b0 均爲0,設逐步修改 w 和 b 共 n 次,令 a=nη,最後學習到的 w,b 可以表示爲

    那麼對偶算法就變爲設初始 a 和 b 均爲0,每次選取數據更新 a 和 b 直至沒有誤分類點爲止。對偶形式的意義在於可以將訓練集中實例間的內積計算出來,存在 Gram 矩陣中,可以大大加快訓練速度。

三、k 近鄰法

k 近鄰法根據其 k 個最近鄰的訓練實例的類別,通過多數表決等方式進行預測。k 值的選擇,距離度量及分類決策規則是 k 近鄰法的三個基本要素。當 k=1 時稱爲最近鄰算法。

  • 模型:當訓練集,距離度量,k 值以及分類決策規則確定後,特徵空間已經根據這些要素被劃分爲一些子空間,且子空間裏每個點所屬的類也已被確定。
  • 策略:
  1. 距離:特徵空間中兩個實例點的距離是相似程度的反映,k 近鄰算法一般使用歐氏距離,也可以使用更一般的 Lp 距離或 Minkowski 距離。
  2. k 值:k 值較小時,整體模型變得複雜,容易發生過擬合。k 值較大時,整體模型變得簡單。在應用中 k 一般取較小的值,通過交叉驗證法選取最優的 k 。
  3. 分類決策規則:k 近鄰中的分類決策規則往往是多數表決,多數表決規則等價於經驗風險最小化。
  • 算法:根據給定的距離度量,在訓練集中找出與 x 最鄰近的 k 個點,根據分類規則決定 x 的類別 y 。
  • kd 樹:
  1. kd 樹就是一種對 k 維空間中的實例點進行存儲以便對其進行快速檢索的樹形數據結構。kd 樹更適用於訓練實例數遠大於空間維數時的 k 近鄰搜索。

  2. 構造,可以通過如下遞歸實現:在超矩形區域上選擇一個座標軸和此座標軸上的一個切分點,確定一個超平面,該超平面將當前超矩形區域切分爲兩個子區域。在子區域上重複切分直到子區域內沒有實例時終止。通常依次選擇座標軸和選定座標軸上的中位數點爲切分點,這樣可以得到平衡 kd 樹。

  3. 搜索:從根節點出發,若目標點 x 當前維的座標小於切分點的座標則移動到左子結點,否則移動到右子結點,直到子結點爲葉結點爲止。以此葉結點爲 " 當前最近點 ",遞歸地向上回退,在每個結點:(a) 如果該結點比當前最近點距離目標點更近,則以該結點爲 " 當前最近點 " ( b ) " 當前最近點 " 一定存在於該結點一個子結點對應的區域,檢查該結點的另一子結點對應的區域是否與以目標點爲球心,以目標點與 " 當前最近點 " 間的距離爲半徑的超球體相交。如果相交,移動到另一個子結點,如果不相交,向上回退。持續這個過程直到回退到根結點,最後的 " 當前最近點 " 即爲最近鄰點。

四、樸素貝葉斯

樸素貝葉斯是基於貝葉斯定理和特徵條件獨立假設的分類方法。首先學習輸入/輸出的聯合概率分佈,然後基於此模型,對給定的輸入 x,利用貝葉斯定理求出後驗概率最大的輸出 y。屬於生成模型。

  • 模型:首先學習先驗概率分佈,然後學習條件概率分佈

    如果估計實際,需要指數級的計算,所以樸素貝葉斯法對條件概率分佈作了條件獨立性的假設,上式變成在分類時,通過學習到的模型計算後驗概率分佈,由貝葉斯定理得到:

    將條件獨立性假設得到的等式代入,並且注意到分母都是相同的,所以得到樸素貝葉斯分類器:

  • 樸素貝葉斯將實例分到後驗概率最大的類中,這等價於期望風險最小化。

  • 算法:使用極大似然估計法估計相應的先驗概率和條件概率,計算條件獨立性假設下的實例各個取值的可能性,選取其中的最大值作爲輸出。

  • 用極大似然估計可能會出現所要估計的概率值爲0的情況,在累乘後會影響後驗概率的計算結果,使分類產生偏差。可以採用貝葉斯估計,在隨機變量各個取值的頻數上賦予一個正數。

    Sj 爲 j 屬性可能取值數量,當 λ=0 時就是極大似然估計。常取 λ=1,稱爲拉普拉斯平滑。

  • 如果是連續值的情況,可以假設連續變量服從高斯分佈,然後用訓練數據估計參數。

五、決策樹

決策樹是一種基本的分類與迴歸方法。它可以認爲是 if-then 規則的集合,也可以認爲是定義在特徵空間與類空間上的條件概率分佈。主要優點是模型具有可讀性,分類速度快。

  • 模型:分類決策樹由結點和有向邊組成.結點分爲內部結點(表示一個特徵或屬性)和葉結點(表示一個類)。決策樹的路徑具有互斥且完備的性質。
  • 策略:決策樹學習本質上是從訓練數據集中歸納出一組分類規則。我們需要的是一個與訓練數據矛盾較小,同時具有很好的泛化能力的決策樹。從所有可能的決策樹中選取最優決策樹是 NP 完全問題,所以現實中常採用啓發式方法近似求解。
  • 算法:決策樹學習算法包含特徵選擇,決策樹的生成與決策樹的剪枝過程。生成只考慮局部最優,剪枝則考慮全局最優。
  • 特徵選擇:如果利用一個特徵進行分類的結果與隨機分類的結果沒有很大差別,則稱這個特徵是沒有分類能力的。扔掉這樣的特徵對決策樹學習的精度影響不大。
  1. 信息熵:熵是衡量隨機變量不確定性的度量。熵越大,隨機變量的不確定性就越大。信息熵是信息量的期望。條件熵表示在已知隨機變量X的條件下隨機變量Y的不確定性。
  2. 信息增益:表示得知特徵 X 的信息而使得類 Y 的信息的不確定性減少的程度。定義爲集合 D 的經驗熵與特徵 A 在給定條件下 D 的經驗條件熵之差,也就是訓練數據集中類與特徵的互信息。
  3. 信息增益算法:計算數據集 D 的經驗熵,計算特徵 A 對數據集 D 的經驗條件熵,計算信息增益,選取信息增益最大的特徵。
  4. 信息增益比:信息增益值的大小是相對於訓練數據集而言的,並無絕對意義。使用信息增益比可以對這一問題進行校正。
  • 決策樹的生成:
  1. ID3 算法:核心是在決策樹各個結點上應用信息增益準則選擇信息增益最大且大於閾值的特徵,遞歸地構建決策樹。ID3 相當於用極大似然法進行概率模型的選擇。由於算法只有樹的生成,所以容易產生過擬合。
  2. C4.5 算法:C4.5 算法與 ID3 算法相似,改用信息增益比來選擇特徵。
  • 決策樹的剪枝:
  1. 在學習時過多考慮如何提高對訓練數據的正確分類,從而構建出過於複雜的決策樹,產生過擬合現象。解決方法是對已生成的決策樹進行簡化,稱爲剪枝。
  2. 設樹的葉結點個數爲 |T|,每個葉結點有 Nt 個樣本點,其中 k 類樣本點有 Ntk 個,剪枝往往通過極小化決策樹整體的損失函數來實現,其中經驗熵。剪枝通過加入 a|T| 項來考慮模型複雜度,實際上就是用正則化的極大似然估計進行模型選擇。
  3. 剪枝算法:剪去某一子結點,如果生成的新的整體樹的損失函數值小於原樹,則進行剪枝,直到不能繼續爲止。具體可以由動態規劃實現。
  • CART 算法:
  1. CART 既可以用於分類也可以用於迴歸。它假設決策樹是二叉樹,內部結點特徵的取值爲 " 是 " 和 " 否 " 。遞歸地構建二叉樹,對迴歸樹用平方誤差最小化準則,對分類數用基尼指數最小化準則。
  2. 迴歸樹的生成:在訓練數據集所在的輸入空間中,遞歸地將每個區域劃分爲兩個子區域。選擇第 j 個變量和它取的值 s 作爲切分變量和切分點,並定義兩個區域,遍歷變量 j,對固定的 j 掃描切分點 s,求解。用選定的對 ( j,s ) 劃分區域並決定相應的輸出值直到滿足停止條件。
  3. 基尼指數:假設有 K 個類,樣本屬於第 k 類的概率爲 pk,則概率分佈的基尼指數爲,表示不確定性。在特徵 A 的條件下集合 D 的基尼指數定義爲,表示分割後集合 D 的不確定性。基尼指數越大,樣本集合的不確定性也就越大。
  4. 分類樹的生成:從根結點開始,遞歸進行以下操作:設結點的訓練數據集爲 D,對每個特徵 A 和其可能取的每個值 a,計算 A=a 時的基尼指數,選擇基尼指數最小的特徵及其對應的切分點作爲最優特徵與最優切分點,生成兩個子結點,直至滿足停止條件。停止條件一般是結點中的樣本個數小於閾值,或樣本集的基尼指數小於閾值,或沒有更多特徵。
  5. CART 剪枝:
    Tt 表示以 t 爲根結點的子樹,|Tt| 是 Tt 的葉結點個數。可以證明當時,Tt 與 t 有相同的損失函數值,且t的結點少,因此 t 比 Tt 更可取,對 Tt 進行剪枝。自下而上地對各內部結點 t 計算,並令 a=min(g(t)),自上而下地訪問內部節點 t,如果有 g(t)=a,進行剪枝,並對 t 以多數表決法決定其類,得到子樹 T,如此循環地生成一串子樹序列,直到新生成的 T 是由根結點單獨構成的樹爲止。利用交叉驗證法在子樹序列中選取最優子樹。
  • 如果是連續值的情況,一般用二分法作爲結點來劃分。

六、logistic 迴歸和最大熵模型

  • 邏輯斯諦分佈:

    分佈函數f(x)以點(μ,1/2)爲中心對稱,γ的值越小,曲線在中心附近增長得越快.

  • 邏輯斯諦迴歸模型:對於給定的輸入 x,根據和計算出兩個條件概率值的大小,將 x 分到概率值較大的那一類。將偏置 b 加入到權值向量 w 中,並在 x 的最後添加常數項1,得到和如果某事件發生的概率是 p,則該事件發生的機率 ( 此處機率指該事件發生概率與不發生概率之比 ) 是 p/1-p,對數機率是 log(p/1-p),那麼,也就是說在邏輯斯諦迴歸模型中,輸出 Y=1 的對數機率是輸入 x 的線性函數,線性函數值越接近正無窮,概率值就越接近1,反之則越接近0。

  • 似然估計:給定 x 的情況下參數 θ 是真實參數的可能性。

  • 模型參數估計:對於給定的二分類訓練數據集,對數似然函數爲

    也就是損失函數。其中 P(Y=1|x)=π(x),對 L(w) 求極大值,就可以得到 w 的估計值。問題變成了以對數似然函數爲目標函數的最優化問題。

  • 多項邏輯斯諦迴歸:當問題是多分類問題時,可以作如下推廣:設 Y 有 K 類可能取值,,,實際上就是 one-vs-all 的思想,將其他所有類當作一個類,問題轉換爲二分類問題。

  • 最大熵原理:學習概率模型時,在所有可能的概率模型中,熵最大的模型是最好的模型。直觀地,最大熵原理認爲模型首先要滿足已有的事實,即約束條件。在沒有更多信息的情況下,那些不確定的部分都是 " 等可能的 " 。

  • 最大熵模型:給定訓練數據集,可以確定聯合分佈 P(X,Y) 的經驗分佈和邊緣分佈 P(X) 的經驗分佈,其中 v 表示頻數,N 表示樣本容量。用特徵函數 f(x,y)=1 描述 x 與 y 滿足某一事實,可以得到特徵函數關於 P(X,Y) 的經驗分佈的期望值和關於模型 P(Y|X) 與 P(X) 的經驗分佈的期望值,假設兩者相等,就得到了約束條件

    定義在條件概率分佈 P(Y|X) 上的條件熵爲,則條件熵最大的模型稱爲最大熵模型。

  • 最大熵模型的學習就是求解最大熵模型的過程。等價於約束最優化問題

    將求最大值問題改爲等價的求最小值問題

    引入拉格朗日乘子

    將原始問題轉換爲無約束最優化的對偶問題首先求解內部的極小化問題,即求 L(P,W) 對 P(y|x) 的偏導數

    並令偏導數等於0,解得

    可以證明對偶函數等價於對數似然函數,那麼對偶函數極大化等價於最大熵模型的極大似然估計

    之後可以用最優化算法求解得到 w 。

  • 最大熵模型與邏輯斯諦迴歸模型有類似的形式,它們又稱爲對數線性模型。模型學習就是在給定的訓練數據條件下對模型進行極大似然估計或正則化的極大似然估計。

  • 算法:似然函數是光滑的凸函數,因此多種最優化方法都適用。

  1. 改進的迭代尺度法 ( IIS ):假設當前的參數向量是 w,如果能找到一種方法 w->w+δ 使對數似然函數值變大,就可以重複使用這一方法,直到找到最大值。
  2. 邏輯斯諦迴歸常應用梯度下降法,牛頓法或擬牛頓法。

七、支持向量機

  • 模型:支持向量機 ( SVM ) 是一種二類分類模型。它的基本模型是定義在特徵空間上的間隔最大的線性分類器。支持向量機還包括核技巧,使它成爲實質上的非線性分類器。分離超平面,分類決策函數
  • 策略:間隔最大化,可形式化爲一個求解凸二次規劃的問題,也等價於正則化的合頁損失函數的最小化問題。
  • 當訓練數據線性可分時,通過硬間隔最大化,學習出線性可分支持向量機。當訓練數據近似線性可分時,通過軟間隔最大化,學習出線性支持向量機。當訓練數據線性不可分時,通過使用核技巧及軟間隔最大化,學習非線性支持向量機。
  • 核技巧:當輸入空間爲歐式空間或離散集合,特徵空間爲希爾伯特空間時,核函數表示將輸入從輸入空間映射到特徵空間得到的特徵向量之間的內積。通過核函數學習非線性支持向量機等價於在高維的特徵空間中學習線性支持向量機。這樣的方法稱爲核技巧。
  • 考慮一個二類分類問題,假設輸入空間與特徵空間爲兩個不同的空間,輸入空間爲歐氏空間或離散集合,特徵空間爲歐氏空間或希爾伯特空間。支持向量機都將輸入映射爲特徵向量,所以支持向量機的學習是在特徵空間進行的。
  • 支持向量機的最優化問題一般通過對偶問題化爲凸二次規劃問題求解,具體步驟是將等式約束條件代入優化目標,通過求偏導求得優化目標在不等式約束條件下的極值。
  • 線性可分支持向量機:
  1. 當訓練數據集線性可分時,存在無窮個分離超平面可將兩類數據正確分開。利用間隔最大化得到唯一最優分離超平面和相應的分類決策函數稱爲線性可分支持向量機。

  2. 函數間隔:一般來說,一個點距離分離超平面的遠近可以表示分類預測的確信程度。在超平面確定的情況下,|wx+b| 能夠相對地表示點x距離超平面的遠近,而 wx+b 與 y 的符號是否一致能夠表示分類是否正確。所以可用來表示分類的正確性及確信度,這就是函數間隔。注意到即使超平面不變,函數間隔仍會受 w 和 b 的絕對大小影響。

  3. 幾何間隔:一般地,當樣本點被超平面正確分類時,點 x 與超平面的距離是,其中 ||w|| 是 w 的 l2 範數。這就是幾何間隔的定義。定義超平面關於訓練數據集 T 的幾何間隔爲超平面關於 T 中所有樣本點的幾何間隔之最小值。可知,當 ||w||=1 時幾何間隔和函數間隔相等。

  4. 硬間隔最大化:對線性可分的訓練集而言,這裏的間隔最大化又稱爲硬間隔最大化。直觀解釋是對訓練集找到幾何間隔最大的超平面意味着以充分大的確信度對訓練數據進行分類。求最大間隔分離超平面即約束最優化問題:

    將幾何間隔用函數間隔表示

    並且注意到函數間隔的取值並不影響最優化問題的解,不妨令函數間隔=1,並讓最大化 1/||w|| 等價爲最小化 ||w||^2/2,問題變爲凸二次規劃問題

  5. 支持向量和間隔邊界:與分離超平面距離最近的樣本點的實例稱爲支持向量。支持向量是使最優化問題中的約束條件等號成立的點。因此對 y=+1 的正例點和 y=-1 的負例點,支持向量分別在超平面 H1:wx+b=+1 和 H2:wx+b=-1 。H1 和 H2 平行,兩者之間形成一條長帶,長帶的寬度 稱爲間隔,H1 和 H2 稱爲間隔邊界。在決定分離超平面時只有支持向量起作用,所以支持向量機是由很少的"重要的"訓練樣本確定的。由對偶問題同樣可以得到支持向量一定在間隔邊界上。

  6. 對偶算法:引進拉格朗日乘子,定義拉格朗日函數

    根據拉格朗日對偶性,原始問題的對偶問題是極大極小問題:

    先求對 w,b 的極小值。將 L(w,b,a) 分別對 w,b 求偏導數並令其等於0,得

    代入拉格朗日函數得

    這就是極小值。
    接下來對極小值求對 a 的極大,即是對偶問題

    將求極大轉換爲求極小

    由KKT條件成立得到

    其中 j 爲使 aj>0 的下標之一。所以問題就變爲求對偶問題的解 a,再求得原始問題的解 w,b,從而得分離超平面及分類決策函數可以看出 w* 和 b* 都只依賴訓練數據中 ai*>0 的樣本點 (xi,yi),這些實例點 xi 被稱爲支持向量。

  • 線性支持向量機:
  1. 如果訓練數據是線性不可分的,那麼上述方法中的不等式約束並不能都成立,需要修改硬間隔最大化,使其成爲軟間隔最大化。

  2. 線性不可分意味着某些特異點不能滿足函數間隔大於等於1的約束條件,可以對每個樣本點引進一個鬆弛變量,使函數間隔加上鬆弛變量大於等於1,約束條件變爲,同時對每個鬆弛變量,支付一個代價,目標函數變爲,其中 C>0 稱爲懲罰參數,C 值越大對誤分類的懲罰也越大。新目標函數包含了兩層含義:使間隔儘量大,同時使誤分類點的個數儘量小。

  3. 軟間隔最大化,學習問題變成如下凸二次規劃問題:

    可以證明 w 的解是唯一的,但 b 的解存在一個區間。線性支持向量機包含線性可分支持向量機,因此適用性更廣。

  4. 對偶算法:原始問題的對偶問題是,構造拉格朗日函數

    先求對 w,b,ξ 的極小值,分別求偏導並令導數爲0,得

    代入原函數,再對極小值求 a 的極大值,得到

    利用後三條約束消去 μ,再將求極大轉換爲求極小,得到對偶問題

    由 KKT 條件成立可以得到

    j 是滿足 0<aj<C 的下標之一。問題就變爲選擇懲罰參數 C>0,求得對偶問題 ( 凸二次規劃問題 ) 的最優解 a,代入計算 w* 和 b,求得分離超平面和分類決策函數。因爲 b 的解並不唯一,所以實際計算 b 時可以取所有樣本點上的平均值。

  5. 支持向量:在線性不可分的情況下,將對應與 ai*>0 的樣本點 (xi,yi) 的實例點xi稱爲支持向量。軟間隔的支持向量或者在間隔邊界上,或者在間隔邊界與分類超平面之間,或者再分離超平面誤分一側。

  6. 合頁損失函數:可以認爲是0-1損失函數的上界,而線性支持向量機可以認爲是優化合頁損失函數構成的目標函數。

  • 非線性支持向量機:
  1. 如果分類問題是非線性的,就要使用非線性支持向量機。主要特點是使用核技巧。

  2. 非線性分類問題,用線性分類方法求解非線性分類問題分爲兩步:首先使用一個變換將原空間的數據映射到新空間,然後在新空間裏用線性分類學習方法從訓練數據中學習分類模型。

  3. 核函數:設 X 是輸入空間(歐式空間的子集或離散集合),H 爲特徵空間(希爾伯特空間),一般是高維甚至無窮維的。如果存在一個從 X 到 H 的映射使得對所有 x,z 屬於 X,函數 K(x,z) 滿足條件,點乘代表內積,則稱 K(x,z) 爲核函數。

  4. 核技巧:基本思想是通過一個非線性變換將輸入空間對應於一個特徵空間,使得在輸入空間中的超曲面模型對應於特徵空間中的超平面模型 ( 支持向量機 ) 。在學習和預測中只定義核函數 K(x,z),而不顯式地定義映射函數。對於給定的核 K(x,z),特徵空間和映射函數的取法並不唯一。注意到在線性支持向量機的對偶問題中,目標函數和決策函數都只涉及輸入實例與實例之間的內積,xixj 可以用核函數 K(xi,xj)=Ф(xi)Ф(xj) 來代替。當映射函數是非線性函數時,學習到的含有核函數的支持向量機是非線性分類模型。在實際應用中,往往依賴領域知識直接選擇核函數。

  5. 正定核:通常所說的核函數是指正定核函數。只要滿足正定核的充要條件,那麼給定的函數 K(x,z) 就是正定核函數。設K是定義在 X*X 上的對稱函數,如果任意 xi 屬於 X,K(x,z) 對應的 Gram 矩陣是半正定矩陣,則稱 K(x,z) 是正定核。這一定義在構造核函數時很有用,但要驗證一個具體函數是否爲正定核函數並不容易,所以在實際問題中往往應用已有的核函數。

  6. 算法:選取適當的核函數 K(x,z) 和適當的參數 C,將線性支持向量機對偶形式中的內積換成核函數,構造並求解最優化問題

    選擇最優解 a* 的一個正分量 0<aj*<C 計算,構造決策函數

  • 常用核函數:
  1. 多項式核函數 ( polynomial kernel function ):
    ,對應的支持向量機是一個 p 次多項式分類器,分類決策函數爲

  2. 高斯核函數 ( Gaussian krenel function ):

    對應的支持向量機是高斯徑向基函數 ( RBF ) 分類器。分類決策函數爲

  3. 字符串核函數 ( string kernel function ):
    核函數不僅可以定義在歐氏空間上,還可以定義在離散數據的集合上。字符串核函數給出了字符串中長度等於 n 的所有子串組成的特徵向量的餘弦相似度。

  • 序列最小最優化 ( SMO ) 算法:
  1. SMO 是一種快速求解凸二次規劃問題
    的算法。
    基本思路是:如果所有變量都滿足此優化問題的 KKT 條件,那麼解就得到了。否則,選擇兩個變量,固定其他變量,針對這兩個變量構建一個二次規劃問題。不斷地將原問題分解爲子問題並對子問題求解,就可以求解原問題。注意子問題兩個變量中只有一個是自由變量,另一個由等式約束確定。

  2. 兩個變量二次規劃的求解方法:假設選擇的兩個變量是 a1,a2,其他變量是固定的,於是得到子問題

    ε 是常數,目標函數式省略了不含 a1,a2 的常數項。考慮不等式約束和等式約束,要求的是目標函數在一條平行於對角線的線段上的最優值

    問題變爲單變量的最優化問題。假設初始可行解爲 aold,最優解爲 anew,考慮沿着約束方向未經剪輯的最優解 anew,unc ( 即未考慮不等式約束 ) 。對該問題求偏導數,並令導數爲0,代入原式,令

    得到,經剪輯後 a2 的解是

    L 與 H 是 a2new 所在的對角線段端點的界。並解得

  3. 變量的選擇方法:在每個子問題中選擇兩個變量優化,其中至少一個變量是違反 KKT 條件的。第一個變量的選取標準是違反 KKT 條件最嚴重的樣本點,第二個變量的選取標準是希望能使該變量有足夠大的變化,一般可以選取使對應的 |E1-E2| 最大的點。在每次選取完點後,更新閾值 b 和差值 Ei 。

八、提升方法

提升 ( boosting ) 是一種常用的統計學習方法,是集成學習的一種。它通過改變訓練樣本的權重 ( 概率分佈 ),學習多個弱分類器 ( 基本分類器 ),並將這些分類器線性組合來構成一個強分類器提高分類的性能。

  • AdaBoost:
  1. AdaBoost 提高那些被前一輪弱分類器錯誤分類樣本的權值,而降低那些被正確分類樣本的權值。然後採取加權多數表決的方法組合弱分類器。

  2. 算法:首先假設訓練數據集具有均勻的權值分佈 D1,使用具有權值分佈 Dm 的訓練數據集學習得到基本分類器 Gm(x),計算分類誤差率和 Gm(x) 的係數,更新訓練數據集的權值分佈其中

    Zm 是使 Dm+1 成爲概率分佈的規範化因子

    重複上述操作 M 次後得到 M 個弱分類器,構建線性組合得到最終分類器

  3. AdaBoost 算法也可以理解成模型爲加法模型,損失函數爲指數函數,學習算法爲前向分步算法的二類分類學習方法。

  • 前向分步算法:考慮加法模型其中 b(x,γm) 爲基函數,γm 爲基函數的參數,βm 爲基函數的係數。在給定損失函數 L(y,f(x)) 的條件下,學習加法模型就是求解損失函數極小化問題

    前向分步算法求解的想法是:從前往後,每一步只學習一個基函數及其係數,優化

    得到參數 βm 和 γm,更新,逐步逼近優化目標。最終得到加法模型。

  • 提升樹:

  1. 提升樹是模型爲加法模型,算法爲前向分佈算法,基函數爲決策樹的提升方法。第 m 步的模型是,通過經驗風險極小化確定下一棵決策樹的參數。不同問題的提升樹學習算法主要區別在於使用的損失函數不同。

  2. 二類分類問題:只需將 AdaBoost 算法中的基本分類器限制爲二類分類數即可。

  3. 迴歸問題:如果將輸入空間劃分爲J個互不相交的區域,並且在每個區域上確定輸出的常量 Cj,那麼樹可表示爲,
    其中
    提升樹採用前向分步算法:

    當採用平方誤差損失函數時,損失變爲

    其中r是當前模型擬合數據的殘差。每一步都只需擬合殘差學習一個迴歸樹即可。

  4. 梯度提升樹 ( GBDT ):利用最速下降法的近似方法來實現每一步的優化,關鍵在於用損失函數的負梯度在當前模型的值作爲迴歸問題中提升樹算法中的殘差的近似值,每一步以此來估計迴歸樹葉結點區域以擬合殘差的近似值,並利用線性搜索估計葉結點區域的值使損失函數最小化,然後更新迴歸樹即可。

  • AdaBoost 產生的基礎學習器有好有壞,因此加入權重。提升樹產生的基礎學習器是一個不斷減少殘差的過程,並不是一個單獨的分類器,因此一般不加權重。
  • XGBoost,相比傳統 GBDT 有以下優點:
  1. 在優化時用到了二階導數信息。
  2. 在代價函數里加入了正則項。
  3. 每次迭代後都將葉子結點的權重乘上一個係數,削弱每棵樹的影響。
  4. 列抽樣。
  5. 在訓練前對數據進行排序,保存爲 block 結構,並行地對各個特徵進行增益計算。

九、EM 算法

EM 算法是一種迭代算法,用於含有隱變量的概率模型參數的極大似然估計。每次迭代由兩步組成:E 步,求期望 ( expectation ),M 步,求極大值 ( maximization ),直至收斂爲止。

  • 隱變量:不能被直接觀察到,但是對系統的狀態和能觀察到的輸出存在影響的一種東西。
  • 算法:
  1. 選擇參數的初始值 θ(0),開始迭代。注意 EM 算法對初值是敏感的。

  2. E 步:θ(i) 爲第 i 次迭代參數θ的估計值,在第 i+1 次迭代的E步,計算

    P(Z|Y,θ(i)) 是在給定觀測數據 Y 和當前參數估計 θ(i) 下隱變量數據Z的條件概率分佈。

  3. M 步:求使 Q(θ,θ(i)) 極大化的 θ,確定第 i+1 次迭代的參數的估計值

  4. 重複2和3直到收斂,一般是對較小的正數 ε1 和 ε2 滿足

    則停止迭代。

  • EM 算法是通過不斷求解下界的極大化逼近求解對數似然函數極大化的算法。可以用於生成模型的非監督學習。生成模型由聯合概率分佈 P(X,Y) 表示。X 爲觀測數據,Y 爲未觀測數據。

  • 高斯混合模型 ( GMM ):高斯混合模型是指具有如下形式的概率分佈模型:,其中

    稱爲第 k 個分模型。

  • 高斯混合模型參數估計的 EM 算法:

  1. 取參數的初始值開始迭代

  2. E 步:計算分模型k對觀測數據 yj 的響應度

  3. M 步:計算新一輪迭代的模型參數

  4. 重複2和3直到對數似然函數

    收斂。

十、隱馬爾可夫模型 ( HMM )

隱馬爾可夫模型是關於時序的概率模型,描述由一個隱藏的馬爾可夫鏈隨機生成不可觀測的狀態序列,再由各個狀態生成一個觀測而產生觀測隨機序列的過程。

設 Q 是所有可能的狀態的集合,V 是所有可能的觀測的集合,I 是長度爲T的狀態序列,O 是對應的觀測序列,A 是狀態轉移概率矩陣,aij 表示在時刻t處於狀態 qi 的條件下在時刻 t+1 轉移到狀態 qj 的概率。B 是觀測概率矩陣,bij 是在時刻 t 處於狀態 qj 的條件下生成觀測 vk 的概率。π 是初始狀態概率向量,πi 表示時刻 t=1 處於狀態 qi 的概率。隱馬爾可夫模型由初始狀態概率向量 π,狀態轉移概率矩陣 A 以及觀測概率矩陣 B 確定。π 和 A 決定即隱藏的馬爾可夫鏈,生成不可觀測的狀態序列。B 決定如何從狀態生成觀測,與狀態序列綜合確定了觀測序列。因此,隱馬爾可夫模型可以用三元符號表示。

  • 隱馬爾可夫模型作了兩個基本假設:
  1. 齊次馬爾可夫性假設:假設隱藏的馬爾可夫鏈在任意時刻 t 的狀態只依賴於其前一時刻的狀態。
  2. 觀測獨立性假設:假設任意時刻的觀測只依賴於該時刻的馬爾可夫鏈的狀態。
  • 隱馬爾可夫模型有三個基本問題,即概率計算問題,學習問題,預測問題。
  • 概率計算問題:給定模型和觀測序列,計算在模型λ下觀測序列 O 出現的概率 P(O|λ) 。
  1. 直接計算法:最直接的方法是列舉所有可能長度爲 T 的狀態序列,求各個狀態序列I與觀測序列 O 的聯合概率,但計算量太大,實際操作不可行。
  2. 前向算法:定義到時刻 t 部分觀測序列爲 o1~ot 且狀態爲 qi 的概率爲前向概率,記作初始化前向概率,遞推,對 t=1~T-1,得到減少計算量的原因在於每一次計算直接引用前一個時刻的計算結果,避免重複計算。
  3. 後向算法:定義在時刻 t 狀態爲qi的條件下,從 t+1 到 T 的部分觀測序列爲 oi+1~oT 的概率爲後向概率,記作初始化後向概率,遞推,對 t=T-1~1,,得到
  • 學習算法:已知觀測,估計模型的參數,使得在該模型下觀測序列概率 P(O|λ) 最大。根據訓練數據是否包括觀察序列對應的狀態序列分別由監督學習與非監督學習實現。
  1. 監督學習:估計轉移概率

    和觀測概率

    初始狀態概率 πi 的估計爲 S 個樣本中初始狀態爲 qi 的頻率。

  2. 非監督學習 ( Baum-Welch 算法 ):將觀測序列數據看作觀測數據 O,狀態序列數據看作不可觀測的隱數據 I。首先確定完全數據的對數似然函數求 Q 函數

    用拉格朗日乘子法極大化Q函數求模型參數

  • 預測問題:也稱爲解碼問題。已知模型和觀測序列,求對給定觀測序列條件概率 P(I|O) 最大的狀態序列
  1. 近似算法:在每個時刻t選擇在該時刻最有可能出現的狀態 it*,從而得到一個狀態序列作爲預測的結果。優點是計算簡單,缺點是不能保證狀態序列整體是最有可能的狀態序列。
  2. 維特比算法:用動態規劃求概率最大路徑,這一條路徑對應着一個狀態序列。從 t=1 開始,遞推地計算在時刻t狀態爲i的各條部分路徑的最大概率,直至得到時刻 t=T 狀態爲i的各條路徑的最大概率。時刻 t=T 的最大概率即爲最優路徑的概率 P,最優路徑的終結點it也同時得到,之後從終結點開始由後向前逐步求得結點,得到最優路徑。

十一、統計學習方法總結

— 以下內容並非出自《統計學習方法》—

十二、神經網絡

神經元 ( 感知器 ) 接收到來自 n 個其他神經元傳遞過來的輸入信號,這些輸入信號通過帶權重的連接進行傳遞,神經元將接收到的總輸入值與神經元的閾值進行比較,然後通過激活函數處理以產生神經元的輸出。把許多個這樣的神經元按一定的層次結構連接起來就得到了神經網絡。一般使用反向傳播 ( BP ) 算法來進行訓練。

  • 反向傳播 ( BP ) 算法:
  1. 前向傳播:將訓練集數據輸入,經過隱藏層,到達輸出層並輸出結果。
  2. 計算估計值與實際值之間的誤差,並將該誤差從輸出層向輸入層反向傳播。
  3. 在反向傳播的過程中,根據誤差使用梯度下降與鏈式法則調整各種參數的值。
  4. 不斷迭代直至收斂。
  • 深度神經網絡 ( DNN ):可以理解爲有很多隱藏層的神經網絡。DNN 內部分爲輸入層 ( 第一層 ),隱藏層,輸出層(最後一層)。層與層之間是全連接的。

  • 卷積神經網絡 ( CNN ):一般用於圖像識別。通過卷積核和感受野的乘積形成卷積後的輸出。在每一個卷積層之後,通常會使用一個 ReLU ( 修正線性單元 ) 函數來把所有的負激活都變爲零。在幾個卷積層之後也許會用一個池化層 ( 採樣層 ) 來輸出過濾器卷積計算的每個子區域中的最大數字或平均值。

  • 循環神經網絡 ( RNN ):如果訓練樣本輸入是連續序列,則 DNN 和 CNN 不好解決。RNN 假設樣本是基於序列的,對應的輸入是樣本序列中的 x(t),而模型在序列索引號 t 位置的隱藏狀態 h(t) 由 x(t) 和 h(t-1) 共同決定。在任意序列索引號t有對應的模型預測輸出 o(t) 。也就是說,RNN 是包含循環的網絡,允許信息的持久化。

  • 長短期記憶網絡 ( LSTM ):一種特殊的 RNN,可以學習長期依賴信息。

十三、K-Means

K-Means 是無監督的聚類算法。思想是對於給定的樣本集,按照樣本之間的距離大小將樣本集劃分爲 K 個簇,讓簇內的點儘量緊密地連在一起,而讓簇間的距離儘量的大。

  • 傳統算法:
  1. 用先驗知識或交叉驗證選擇一個合適的 k 值。
  2. 隨機選擇 k 個樣本作爲初始的質心。注意初始化質心的選擇對最後的聚類結果和運行時間都有很大的影響。
  3. 計算每個樣本點和各個質心的距離,將樣本點標記爲距離最小的質心所對應的簇。
  4. 重新計算每個簇的質心,取該簇中每個點位置的平均值。
  5. 重複2,3,4步直到 k 個質心都沒有發生變化爲止。
  • K-Means++:用於優化隨機初始化質心的方法
  1. 從輸入樣本點中隨機選擇一個點作爲第一個質心。
  2. 計算每一個樣本點到已選擇的質心中最近質心的距離 D(x)。
  3. 選擇一個新的樣本點作爲新的質心,選擇原則是 D(x) 越大的點被選中的概率越大。
  4. 重複2和3直到選出 k 個質心。
  • Elkan K-Means:利用兩邊之和大於第三邊以及兩邊之差小於第三邊來減少距離的計算。不適用於特徵稀疏的情況。
  • Mini Batch K-Means:樣本量很大時,只用其中的一部分來做傳統的 K-Means 。一般多用幾次該算法,從不同的隨即採樣中選擇最優的聚類簇。

十四、Bagging

Bagging 的弱學習器之間沒有 boosting 那樣的聯繫,它的特點在於 " 隨機採樣 ",也就是有放回採樣。因此泛化能力很強。一般會隨機採集和訓練集樣本數一樣個數的樣本。假設有 m 個樣本,且採集 m 次,當 m 趨向無窮大時不被採集到的數據佔 1/e,也就是36.8%,稱爲袋外數據,可以用來檢測模型的泛化能力。Bagging 對於弱學習器沒有限制,一般採用決策樹和神經網絡。

  • 算法:
  1. 對於 t=1~T,對訓練數據進行第 t 次隨機採樣,共採集 m 次,得到包含 m 個樣本的採樣集 Dm 。
  2. 用採樣集 Dm 訓練第 m 個弱學習器 Gm(x) 。
  3. 如果是分類,則用簡單投票法。如果是迴歸,則取 T 個弱學習器結果的平均值。
  • 隨機森林:使用 CART 決策樹作爲弱學習器,然後每次不從 n 個樣本特徵中選擇最優特徵,而是從隨機選擇的 nsub 個樣本特徵中來選擇。一般用交叉驗證來獲取合適的 nsub 值。

十五、Apriori

Apriori 是常用的挖掘出數據關聯規則的算法,用於找出數據值中頻繁出現的數據集合。一般使用支持度或者支持度與置信度的組合作爲評估標準。

  • 支持度:幾個關聯的數據在數據集中出現的次數佔總數據集的比重

  • 置信度:一個數據出現後。另一個數據出現的概率

  • Apriori 算法的目標是找到最大的 K 項頻繁集。假設使用支持度來作爲評估標準,首先搜索出候選1項集及對應的支持度,剪枝去掉低於支持度的1項集,得到頻繁1項集。然後對剩下的頻繁1項集進行連接,得到候選的頻繁2項集…以此類推,不斷迭代,直到無法找到頻繁 k+1 項集爲止,對應的頻繁 k 項集的集合即爲輸出結果。

十六、降維方法

  • 主成分分析 ( PCA ):降維,不斷選擇與已有座標軸正交且方差最大的座標軸。
  • 奇異值分解 ( SVD ):矩陣分解,降維,推薦系統。
  • 線性判別分析 ( LDA )

十七、引用

  1. 如何理解神經網絡裏面的反向傳播算法?- 陳唯源的回答 - 知乎
    https://www.zhihu.com/question/24827633/answer/91489990
  2. 劉建平Pinard-博客園
    https://www.cnblogs.com/pinard/category/894694.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章