伯樂之家


大綱

shu:
knn性質
文本分類有哪些方法
多分類的方法
梯度下降算法的理解
決策樹id3,c4.5,cart,剪枝
構成隨機森林的方法
基尼指數的求解
bp神經網絡
訓練集,測試集的劃分常用劃分方法
常用距離測量方法
監督學習算法(普遍的特點)
集成學習的特點
條件熵的計算
線性迴歸模型求目標函數,計算階函數
拉格朗日優化,對偶問題
神經網絡的邏輯判斷
交叉測試,誤差計算

fang:
數據線性降維,數據非線性降維,特徵選擇
一、線性降維:pca降維方法(思路)。pca降維方法解決了什麼樣的問題[只要看pca降維的依據就好了],無偏估計,協方差矩陣,特徵值的分解,svd的分解。
lda與pca的區別是什麼?三個矩陣:類內散佈矩陣、類間散佈矩陣、總體散佈矩的定義
二、非線性降維:kpca和流行學習
kpca:核函數定義,與高維空間樣本有什麼樣對應關係,投影特徵向量,投影矩陣的計算
流行學習:mds算法它的目標,特點,smop等
三、特徵選擇:
子集搜索算法(貪心算法)
字典學習和壓縮感知的應用條件,解決了什麼問題

記憶性考點:

knn性質

文本分類有哪些方法
多分類的方法
交叉測試,誤差計算
梯度下降算法的理解
bp神經網絡
訓練集,測試集的劃分常用劃分方法
集成學習的特點

小型計算考點:

​ 常用距離測量方法
​ 基尼指數的求解
​ 條件熵的計算

大型計算考點:

決策樹id3,c4.5,cart,剪枝
拉格朗日優化,對偶問題

afang專屬考點:

一、線性降維:

​ pca降維方法(思路)
​ pca降維方法解決了什麼樣的問題[只要看pca降維的依據就好了]
​ 無偏估計,協方差矩陣,特徵值的分解,svd的分解。
​ lda與pca的區別是什麼
​ 三個矩陣:類內散佈矩陣、類間散佈矩陣、總體散佈矩的定義

二、非線性降維:

​ kpca:
​ 核函數定義,與高維空間樣本有什麼樣對應關係
​ 投影特徵向量,投影矩陣的計算
​ 流行學習:
​ mds算法它的目標,特點,smop等

三、特徵選擇:

​ 子集搜索算法(貪心算法)
​ 字典學習和壓縮感知的應用條件,解決了什麼問題


決策樹

在這裏插入圖片描述


knn性質

  • 基於某種距離度量(通常是歐)找出訓練集中與其最靠近的k個訓練樣例,然後基於這k個鄰居的信息進行預測或分類
  • 由於僅僅讀取樣本,計算距離,無明顯訓練過程 =>懶惰學習方法
  • K值的選擇:
    • 過小:噪聲敏感,模型複雜,易過擬合
    • 過大:模型簡單,可減小誤差,但會使得與輸入不相似的訓練樣本也對預測起作用,特別的k=m時結果將固定
    • k值的選擇:奇,交叉驗證
  • 分類決策規則:多數投票
  • kd樹:
    在這裏插入圖片描述
  • 其他:
    • 屬性尺度影響:歸一化,如x=(x-min)/(max-min)
    • 危險樣例:託梅克(Tomck)連接技術檢測

文本分類有哪些方法

​ 包括8種傳統算法:knn、決策樹、多層感知器、樸素貝葉斯、邏輯迴歸和支持向量機;4種集成學習算法:隨機森林、AdaBoost、lightGBM和xgBoost;2種深度學習算法:前饋神經網絡和LSTM。

​ 相似度計算:如 : 文本轉爲向量,a = [1, 2 ,0, …, 1] ,向量轉爲相似度計算:
cos(θ)=abab cos(\theta) = \frac {a * b}{ || a || * || b||}

多分類的方法

  1. softmax迴歸

  2. 多個二分類器的組合(OvR):n個,只在對應的分類器輸出1,其他都輸出0,如果多個輸出1,需增加一層分類器,選擇權值最大的類別

  3. 一對一(OvO):需要訓練 n(n-1)/2個分類器

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CAji1hz0-1593336530045)(D:\Pictures\實習準備資料——圖片\markdown文檔圖片存檔\image-20200626100119346.png)]

交叉驗證,誤差計算

​ 交叉驗證:

for k in range(n):
	train( (1~k-1) 和 (k+1~n))
    test( k )
avg(reslut)

梯度下降算法的理解

  • 初始化w(random),沿着負梯度方向迭代,更新後的w是的損失函數J更小,尋找局部最優解

  • 更新方法有隨機梯度下降和批量梯度下降,批量梯度下降會在讀入批量的輸入後加權平均來更新w

bp神經網絡

  • sigmoid:
    f(x)=11+exf(x)˙=f(x)(1f(x)) f(x) = \frac{1}{1+e^{-x}} \\ \dot{f(x)} = f(x)(1-f(x))

  • 目標:最小化網絡誤差
    Ek=12j=1l(y^jkyjk)2 E_k = \frac{1}{2} \sum_{j=1}^l (\hat y_j^k - y_j^k )^2

  • 參數個數 w = 兩個全連接層個數乘積之和,b = 隱藏層和輸出層神經元個數之和

  • 過擬合:

    • 早停
    • 正則化
  • 局部最小---->全局最小:

    • 隨機初始化,尋找所有的局部最優
    • 模擬退火,一定概率接受更差的結果,在局部最小點發現附近更差時不停止
    • 隨機梯度下降
  • relu:

    • 梯度在求導後會以乘積的方式不停傳遞,sigmoid函數在兩側梯度極小,所以經過多層傳播連乘之後會出現梯度消失的現象,而relu函數大於0部分梯度爲常數,依然可以保留除數的特徵
    • 反向計算的計算量比sigmoid小很多
    • relu函數小於0部分輸出爲0,增加了稀疏性,緩解過擬合

訓練集,測試集的劃分常用劃分方法

​ 將D劃分爲兩個不想交的集合S和T,劃分儘可能保持數據的一致性,然後採用交叉驗證

集成學習的特點[僅供參考]


基學習器之間關係分類:

  • 基學習器之間強依賴:Boosting、提升樹
  • 基學習器不存在強依賴:Bagging、隨機森林
優點 缺點
Bagging 泛化能力強、可以處理連續and離散 訓練誤差大
隨機森林 準確率高、可以處理連續and離散
可以並行
易過擬合、黑盒
Adaboost 泛化能力強、適用廣 基學習器數目不好設定,
可用交叉驗證確定
提升樹 可以處理連續and離散 基學習器之間存在依賴
無法並行

Bagging:

  • 每個訓練子集分配一個基學習器,投票 => 分類問題,avg => 迴歸問題
  • 時間複雜度 ≈ 不投票的時間複雜度

隨機森林:

  • 模型的預測結果等於子樹的結構加權平均
  • 隨機訓練子集+隨機屬性+隨機閾值

Boosting:

  • 並非獨立的基學習器,而是尋找互補的基學習器
  • 夏皮兒提升:當前基學習器結果中取50%正確+50%錯誤作爲下一個基學習期的訓練子集,三個基學習期組成一個三元組,分類結果採用簡單投票法
  • AdaBoost:減小被正確分類樣本的選擇概率(權重),增加被錯分樣本的選擇概率。大部分都能分對的可以放一放,更多關注分錯的樣本,迭代更新樣本出現的概率直至算法結束。輸出結果採用加權多數表決

提升樹:

  • 二叉分類樹 => 分類,二叉迴歸樹 => 迴歸
  • 加法模型:AdaBoost是加法模型的一種特例
  • 提升樹算法:next_tree擬合當前殘差

常用距離測量方法

  • 歐式:大家都用的那種

  • 曼哈頓:直角三角形的直角邊之和

  • 閔可夫斯基:推廣的歐式
    d(A,B)=(k=1n(xkykp))1p d(A,B) = (\sum_{k=1}^n (|x_k-y_k|^p))^{\frac{1}{p}}

  • 海明距離:不同字符數 101和111的海明距離爲1

條件熵的計算

  • 信息量: I = -logP(x),若X、Y相互獨立,則 I(x,y) = I(x) + I(y),信息量代表事件的不確定性,事件越確定,信息量越小

  • 熵:
    H(x)=xxXP(x)log2P(x)H(x)=plog2p(1P)log2(1p) H(x) = - \sum_{x}^{x\in X} P(x) log_2P(x) \\ H(x) = - p log_2p - (1-P)log_2(1-p)

  • 條件熵,訓練集D被at劃分,表示劃分後的子集信息量(的期望),計算方法爲對每一塊劃分的熵 p*H(D) 求和(在二分類下每一部分就是選擇此分類數學嘗試劃分後的pos和neg的信息熵之和)
    H(D)=k=1KCkDlog2CkDH(Dat)=i=1nPiH(Di)=i=1nDiDk=1KDikDilog2DikDi H(D) = - \sum_{k=1}^{K} \frac {|C_k|}{ |D|} log_2\frac {|C_k|}{ |D|} \\ H(D|at) = \sum_{i=1}^{n} P_i H(D_i) = - \sum_{i=1}^{n} \frac {|D_i|}{ |D|} \sum_{k=1}^{K} \frac {|D_{ik}|}{ |D_i|} log_2\frac {|D_{ik}|}{ |D_i|}

  • 信息增益:G(D,at) = H(D) - H(D|at),G(D,at)越大,等於 H(D|at)越小,劃分後的系統確定性越大,所以每次劃分應選擇 G(D,at)最大的屬性, at = argmax(G(D,at))

決策樹id3,c4.5,cart,剪枝

  • id3:使用信息增益最大的劃分,對取值較多的屬性計算的信息增益會天然相對較大,但在訓練集上表現未必很好,也就是泛化性能弱

  • C4.5:對於連續的訓練集會進行離散化劃分,劃分標準爲:Gr(D,at) = G(D,at)/IV(at)
    IV(at)=i=1nDiDlogDiD IV(at) = - \sum_{i=1}^{n} \frac {|D_i|}{ |D|} log\frac {|Di|}{ |D|}
    對於IV,取值較多的屬性IV會越大,所以G(D,at)會越小,C4.5偏向於取值數目小的屬性

  • 剪枝:

    • 通過對比準確率進行剪枝,準確率:e = 錯分樣例數,n爲到達當前節點樣例數,m是避免n過小修正項

    E=e+1n+m E = \frac{e+1}{n+m}

    • 預剪枝:自頂向下,分裂前計算,比較測試集的準確率–也就是泛化能力
    • 後剪枝:自底向上,分裂後將當前節點替換爲葉節點,比較測試集的準確率,選取誤差最小的滿足閾值的方案
  • CART:

    • 基尼指數:
      Gini(D)=k=1Kpk(1Pk)=1k=1Kpk2Gini(D,at)=i=1VDiDGini(Di) Gini(D) = \sum_{k=1}^K p_k(1-P_k) = 1- \sum_{k=1}^K p_k ^2 \\ Gini(D,at) = \sum_{i=1}^V \frac {|D_i|}{|D|} Gini(D_i)

    • 剪枝:自底向上,驗證集上交叉驗證

拉格朗日優化,對偶問題

  1. 優化目標:
    minw22(1-1) min \frac{||w||^2}{2} \tag{1-1}
    限制條件:
    yi(Wxib)1(S.T-1) y_i(Wx_i*b) ≥ 1 \tag{S.T-1}

  2. maxL(x,α)=f(x){L(x,α)=f(x)+i=1kαiCi(x)αi0Ci(x)0f(x)Ci(x)(1-2) max L(x, \alpha ) = f(x)在右側這些條件成立時 \begin{cases} {L(x, \alpha ) = f(x) + \sum_{i=1}^k \alpha_iC_i(x)} \\ \alpha_i ≥ 0 \\ C_i(x) \le 0 \\ f(x)、C_i(x)連續可微 \\ \end{cases} \tag{1-2}

  3. 由 公式(1-1)和(1-2)可得:
    minw22=minw,bmaxλ[w22+i=1mλi(1yi(Wxi+b))]from(11)(12) min \frac{||w||^2}{2} = min_{w,b} max_\lambda [\frac{||w||^2}{2} + \sum_{i=1}^m \lambda_i(1-y_i(Wx_i+b)) ] \cdots\cdots {from(1-1)} {(1-2)}
    限制條件:
    λi0(S.T-2) \lambda_i ≥ 0 \tag{S.T-2}

  4. 對偶問題可知滿足一定前提下:
    minw,bmaxλL(w,b,λ)=maxλminw,bL(w,b,λ)L(w,b,λ)=w22+i=1mλi(1yi(Wxi+b)) min_{w,b} max_\lambda L(w,b,\lambda) = max_{\lambda} min_{w,b} L(w,b,\lambda) \\ 其中 L(w,b,\lambda) = \frac{||w||^2}{2} + \sum_{i=1}^m \lambda_i(1-y_i(Wx_i+b))
    變化後等式右邊可以計算L對w和b的偏導

  5. Lw=wi=1mλiyixi=0w=i=1mλiyixiLb=i=1mλiyi=0i=1mλiyi=0(S.T-3) \frac{\partial L}{\partial w} = w - \sum_{i=1}^m \lambda_iy_ix_i = 0 \Rightarrow w =\sum_{i=1}^m \lambda_iy_ix_i \\ \frac{\partial L}{\partial b} = - \sum_{i=1}^m \lambda_iy_i = 0 \Rightarrow \sum_{i=1}^m \lambda_iy_i = 0 \tag{S.T-3} \\

    L(w,b,λ)=w22+i=1mλi(1yi(Wxi+b))=i=1mλi12i=1mj=1mλiλjyiyjxixj(L) L(w,b,\lambda) = \frac{||w||^2}{2} + \sum_{i=1}^m \lambda_i(1-y_i(Wx_i+b)) \\ =\sum_{i=1}^m \lambda_i - \frac{1}{2} \sum_{i=1}^m\sum_{j=1}^m \lambda_i \lambda_j y_i y_j x_i x_j \tag{L} \\

    限制條件-KKT:
    { (S.T1)(S.T2)(S.T32)λi[1yi(wxi+b)]=0(KKT) \begin{cases} \ { (S.T-1) } { (S.T-2) } {(S.T-3中式子2) } \tag{KKT} \\ \lambda_i[1-y_i(wx_i+b)] = 0 \end{cases}

  6. 軟間隔:隨着ξ足夠大的時候,下列不等式變得更容易滿足,相當於將原本不滿足的樣本也劃入該類別
    yi(Wxib)1ξi y_i(Wx_i*b) ≥ 1 - \xi_i

  7. 核函數:L表達式中x替換爲ψ(x),由於向量內積是常數,當ψ(x)與ψ(x) 的乘積可以寫成x與x的乘積的表達式的時候,L末尾的ψ(x) * ψ(x) 可以通過計算 x * x 簡單變換得到,w的計算同理

樸素貝葉斯

  • 目標:給定輸入求分類y

  • 推導:
    y^=argmaxP(yx)=argmaxP(xy)P(y)P(x) \hat y = argmax P_{(y|x)} = argmax \frac {P_{(x|y)}*P_{(y)}}{P_{(x)}}
    相對於對後面這個表達式求最大值,二分類時無論是正樣本的y還是負樣本的y它們的P(x)是同一個,所以只需要比較
    y^=argmaxP(xy)P(y) \hat y =argmax {P_{(x|y)}*P_{(y)}}
    當分類之間相互獨立時有:
    y^=argmaxj=1PPxjyP(y) \hat y = argmax \prod_{j=1}^P P_{x_j | y} P_{(y)}


afang降維打擊分割線

降維:是將高維度的數據保留下最重要的一些特徵,去除噪聲和不重要的特徵,從而實現提升數據處理速度的目的

降維算法(非老師畫的重點):主成分分析(PCA)、奇異值分解(SVD)、因子分析(FA)、獨立成分分析(ICA)

一、 線性降維

1.主成分分析PCA

​ PCA是一種統計方法,通過正交變換將一組可能存在相關性的變量轉換爲一組線性不相關的變量,轉換後的這組變量叫主成分。將n維特徵映射到k(k<n)維上,這k維是全新的正交特徵,是在原有n維特徵基礎上重新構造出來的k維特徵,而不是簡單地從n維特徵中去除n-k維特徵。

​ n維數據的k維特徵可以看成數據在k維座標軸中的各個方向(基向量上)的投影,k中的每個維度相當於一個特徵,好的投影希望能夠滿足:

  1. 保留的特徵儘可能多:極端點如果在一個維度所有數據投影到一個點,那保留的特徵個數就爲1,這個投影就毫無意義, 選取的每個投影維度都使得數據投影后儘可能分散,也就是在這個維度(基向量)下方差儘可能大
  2. 每個投影維度之間關聯儘可能小:如果數據在一個維度的投影效果最好,那麼在這個維度偏移任意小的角度內的投影也是非常好的,但是這兩個投影之間相關度太強導致第二個投影幾乎是毫無幫助的,如果想減少這種關聯可以使用向量正交
  3. 等價於各個特徵之間協方差爲0,每個特徵上方差儘可能大:N 維向量降爲 K 維, 即選擇 K 個單位正交基, 使原始數據變換後各變量兩兩間協方差爲 0,而變量方差則儘可能大(在正交的約束下, 取最大的 K 個方差)

數據特徵的降維(非老師畫的重點):計算數據矩陣的協方差矩陣—>得到特徵值,特徵向量—>選擇特徵值最大的k個特徵所對應的特徵向量組成矩陣

計算協方差矩陣的特徵值,特徵向量(非老師畫的重點):基於特徵值分解協方差矩陣實現PCA算法;基於奇異值分解SVD協方差矩陣實現PCA算法。

**協方差(非老師畫的重點):**公式略

協方差矩陣:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-whPJa6bC-1593336530047)(D:\Pictures\實習準備資料——圖片\markdown文檔圖片存檔\clip_image002.jpg)]

無偏估計:多次採樣,取均值,避免有偏估計。

特徵值分解:特徵向量<—>變換的方向,特徵值<—>變換的大小。對於高維矩陣,根據特徵值排列,通過前n個特徵向量,近似這個矩陣的變換,即爲PCA的原理基礎。

奇異值分解SVD:估計不考。。。。

2.線性判別分析LDA

是目前數據挖掘領域中比較經典且熱門的一種有監督的算法。從降維的層面考慮,其也是在尋找一個投影矩陣,使得投影之後數據樣本,同類的接近,而不同類的遠離。
LDA 與PCA的區別

· PCA爲非監督降維,LDA爲有監督降維

· PCA希望投影后的數據方差儘可能的大(最大可分性),因爲其假設方差越多,則所包含的信息越多;而LDA則希望投影后相同類別的組內方差小,而組間方差大。LDA能合理運用標籤信息,使得投影后的維度具有判別性,不同類別的數據儘可能的分開

LDA的三個散佈矩陣定義

類內散佈矩陣:衡量映射後各自的密度程度

類間散佈矩陣:衡量不同類別間的距離

總體散佈矩陣:又稱混合散佈矩陣,爲類內散佈矩陣和類間散佈矩陣之和

二、非線性降維

1.核主成分分析KPCA

核函數的定義:可以直接得到低維數據映射到高維後的內積,而忽略映射函數具體是什麼。

與高位空間樣本有什麼樣對應關係:利用核技巧將低維線性不可分的輸入空間映射到線性可分的高維特徵空間中,然後對特徵空間進行PCA降維。

2.流行學習

流行學習(manifold learning):從高維的曲線曲面這種流行上提取特徵反射到低維上

MDS(多維縮放)算法的目標及特點:要求原始空間中樣本之間的距離在低維空間中得以保持。

ISOMAP與MDS的區別:

MDS降維是一組對象之間的距離可視化表示,也可以做一種無監督降維算法使用,而ISOMAP是在MDS算法基礎上衍生出的一種非迭代的全局優化算法,它是一種等距離映射算法,也就是說降維後的點,兩兩之間距離不變,這個距離是測地線距離。

ISOMAP算法引進了鄰域圖,樣本只與其相鄰的樣本連接,他們之間的距離可直接計算,較遠的點可通過最小路徑算出距離,在此基礎上進行降維保距。

MDS和ISOMAP都是保留全局特徵的非線性數據降維算法,且出發點都是基於距離保持。不同的是MDS是基於歐式距離,ISOMAP則是測地線距離。
在這裏插入圖片描述

LLE與ISOMAP相比,LLE的特點:

ISOMAP是保持全局的結構信息;LLE是保持局部的結構信息,考慮局部鄰域信息,局部信息的重疊能夠提供全局的信息。

全局算法要求流形必須是凸結構的,計算時間複雜度高。局部算法只考慮流形上近鄰點之間的關係,不要求流形必須是凸結構的,適用範圍較廣。

LLE不需要計算距離矩陣,僅僅需要計算稀疏矩陣,大大減少了計算量。對於數據稀疏的數據集,數據集之間的關聯性弱,局部信息的重疊不可能反映整體的全局結構,影響降維效果。

三、特徵選擇

目標:儘可能保留更多的信息的前提下維度儘可能少

子集搜索算法(貪心算法)

前向搜索:最優子集初始爲空集,逐漸增加相關特徵

後向搜索:從完整的特徵集合開始,逐漸減少特徵

雙向搜索:每一輪逐漸增加相關特徵,同時減少無關特徵

字典學習(應用條件,解決了什麼問題)

爲普通稠密表達的樣本找到合適的字典,將樣本轉化爲合適的稀疏表達形式,從而使學習任務得以簡化,模型複雜度得以降低。

壓縮感知(應用條件,解決了什麼問題)

也稱爲壓縮採樣或係數採樣,其基本思想是一種基於稀疏表示的信號壓縮和重構技術。如果信號在正交空間具有稀疏性(即可壓縮性),就能以遠低於奈奎斯特採樣頻率的速率採樣該信號,最後通過優化算法高概率重建出原信號。目的是從儘量少的數據中提取更多的信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章