1. 程式人生 > 其它 >吃瓜教程|Datawhale-10月(2)

吃瓜教程|Datawhale-10月(2)

吃瓜教程|Datawhale-10月(2)

機器學習三要素

  • 模型:根據具體問題,確定假設空間

  • 策略:根據評價標準,確定選取最優模型的策略(通常會產生一個“損失函式”)

  • 演算法:求解損失函式,確定最優模型

線性模型

基本形式

給定由 \(d\) 個屬性描述的例項 \(\boldsymbol{x}=(x_{1};x_{2};…;x_{d})\) ,其中 \(x_i\)\(\boldsymbol{x}\) 在第i個屬性上的取值,線性模型試圖學得一個通過屬性的線性組合來進行預測的函式,即:

\[f(\boldsymbol{x})=w_{1}x_{1}+w_{2}x_{2}+…+w_{d}x_{d}+b \]

用向量一般形式為:

\[f(\boldsymbol{x} )=\boldsymbol{w}^{T}\boldsymbol{x}+b \]

其中 \(\boldsymbol{w}=(w_{1};w_{2};…;w_{d})\)\(\boldsymbol{w}\)\(b\) 學得之後,模型就可以確定。

線性迴歸

一元線性迴歸

試圖學得一個線性模型以儘可能準確地預測實值輸出標記。即:

\[f(x_{i})=wx_{i}+b,使得f(x_{i})\simeq y_{i} \]

其中, \(w\)\(b\) 的確定關鍵在於如何衡量 \(f(x_{i})\)\(y\) 之間的差別。這裡使用了均方誤差(迴歸任務中最常見的效能度量),即:

\[\begin{aligned} (w^{*},b^{*}) & = \mathop{\arg\min}\limits_{(w,b)}\sum_{i=1}^{m} (f(x_{i})-y_{i})\\ & = \mathop{\arg\min}\limits_{(w,b)}\sum_{i=1}^{m} (y_{i}-wx_{i}-b) \end{aligned} \]

其中, \(\mathop{\arg\min}\limits_{(w,b)}\) 指當後邊部分最小時,w和b的取值。

均方誤差對應了“歐氏距離”,基於均方誤差最小化來進行模型求解的方法稱為“最小二乘法”。線上性迴歸中即為:

  • 試圖找到一條直線使所有樣本到直線上的歐氏距離之和最小。

線性迴歸模型的最小二乘“引數估計”:

  • 求解 \(w\)\(b\) 使 \(E_{(w,b)}={\textstyle \sum_{i=1}^{m}}(y_{i}-wx_{i}-b)^{2}\) 最小化

求解 \(w\)\(b\) 其本質是一個多元函式求最值(點)的問題

(求導)即:

\[\frac{\partial E(w,b)}{\partial w}=2(w\sum_{i=1}^{m} x_{i}^{2}-\sum_{i=1}^{m} (y_{i}-b)x_{i}) \]\[\frac{\partial E(w,b)}{\partial b}=2(mb-\sum_{i=1}^{m} (y_{i}-wx_{i})) \]

將上述兩式=0可得:(具體推導見南瓜書)

\[w = \frac{\sum_{i=1}^{m} y_{i}(x_{i}-\bar{x} )}{\sum _{i=1}^{m}x_{i}^{2}-\frac{1}{2}(\sum_{i=1}^{m}x_{i} )^{2} } \]\[b = \frac{1}{m}\sum_{i=1}^{m} (y_{i}-wx_{i}) \]

多元線性迴歸

對於 基本形式 中的 \(f(\boldsymbol{x} )=\boldsymbol{w}^{T}\boldsymbol{x}+b\) 使得 \(f(\boldsymbol{x}_{i})\simeq y_{i}\) ,稱為多元線性迴歸。

\(w\)\(b\)\(\hat{\boldsymbol{w}}=(\boldsymbol{w};b)\) 表示,資料集D用 m x (d+1) 的矩陣 $\mathbf{X} $ 表示,其中每行對應一個示例,該行前d個元素對應於d個屬性,最後一位=1。即:

\[\mathbf{X} =\begin{pmatrix} x_{11} & x_{12} & \cdots & x_{1d} & 1\\ x_{21} & x_{22} & \cdots & x_{2d} & 1\\ \vdots & \vdots & \ddots & \vdots & \vdots\\ x_{m1} & x_{m2} & \cdots & x_{md} & 1\\ \end{pmatrix} =\begin{pmatrix} x_{1}^{T} & 1\\ x_{2}^{T} & 1\\ \vdots & \vdots\\ x_{m}^{T} & 1\\ \end{pmatrix} \]

\(\boldsymbol{y}=(y_{1};y_{2};...;y_{m})\) 則有:

\[\hat{\boldsymbol{w}}^{*}=\underset{\hat{\boldsymbol{w}}}{\arg \min }(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) \]

\(E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})\) ,對 \(\hat{\boldsymbol{w}}\) 求導得:

\[\frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y}) \]

\(\mathbf{X}^{T}\mathbf{X}\) 為滿秩矩陣或者正定矩陣時,令上式 = 0可得:

\[\hat{\boldsymbol{w}}^{*}=(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\boldsymbol{y} \]

\(\hat{\boldsymbol{x}}_{i}=(\boldsymbol{x}_{i};1)\) ,最終學得的多元線性迴歸模型為:

\[f(\hat{\boldsymbol{x}}_{i})=\hat{\boldsymbol{x}}_{i}^{T}(\mathbf{X}^{T}\mathbf{X})^{-1}\mathbf{X}^{T}\boldsymbol{y} \]

\(\mathbf{X}^{T}\mathbf{X}\) 不為滿秩矩陣或者正定矩陣時,可解出多個 \(\hat{\boldsymbol{w}}\) ,此時選擇哪個作為輸出就由學習演算法的歸納偏好決定,常見做法就是引入正則化項。

對數機率迴歸

其實是解決分類問題,線上性模型的基礎上套一個對映函式來實現分類功能

對於二分類

我們需要正例的概率P(反例的概率為1-P),該概率P∈[0.1]。但是線性迴歸中的預則值 f(x) ∈ R ,所以要套一個對映函式(對數機率函式) \(y=\frac{1}{1-e^{-z}}\) 來使最終結果控制在[0.1]。其中 z 為 f(x) 。

則有:

\[y=\frac{1}{1-e^{-(\boldsymbol{w}^{T}\boldsymbol{x}+b)}} \]

最終變換為:

\[\ln{\frac{y}{1-y}}=\boldsymbol{w}^{T}\boldsymbol{x}+b \]

其中 \(y\) 視為 \(p(y=1 | \boldsymbol{x})\)\(1-y\)\(p(y=0 | \boldsymbol{x})\) ,即:

\[\ln{\frac{p(y=1 | \boldsymbol{x})}{p(y=0 | \boldsymbol{x})}}=\boldsymbol{w}^{T}\boldsymbol{x}+b \]

可以推匯出:

\[p(y=1 | \boldsymbol{x}) =\frac{e^{\boldsymbol{w}^{T}\boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{T}\boldsymbol{x}+b}} \]\[p(y=0 | \boldsymbol{x}) =\frac{1}{1+e^{\boldsymbol{w}^{T}\boldsymbol{x}+b}} \]

為了方便討論,令 \(\beta =(\boldsymbol{w};b),\hat{\boldsymbol{x}}=(\boldsymbol{x};1)\) 則上式可簡寫為:

\[p(y=1 | \boldsymbol{x}) =\frac{e^{\beta^{T}\hat{\boldsymbol{x}}}}{1+e^{\beta^{T}\hat{\boldsymbol{x}}}}=p_{1}(\hat{\boldsymbol{x}};\beta) \]\[p(y=0 | \boldsymbol{x}) =\frac{1}{1+e^{\beta^{T}\hat{\boldsymbol{x}}}}=p_{0}(\hat{\boldsymbol{x}};\beta) \]

\(y\in \{0,1\}\) 的概率質量函式為:

\[p(y|\hat{\boldsymbol{x}};\beta)=y\cdot p_{1}(\hat{\boldsymbol{x}};\beta)+(1-y)\cdot p_{0}(\hat{\boldsymbol{x}};\beta) \]

*當 y = 1 時 \(p(y|\hat{\boldsymbol{x}};\beta)=p_{1}(\hat{\boldsymbol{x}};\beta)\) ,當 y = 0 時 \(p(y|\hat{\boldsymbol{x}};\beta)=p_{0}(\hat{\boldsymbol{x}};\beta)\)

對率迴歸模型得最大化“對數似然”:

\[\ell(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln p(y_{i}|\hat{\boldsymbol{x}};\beta) \]

帶入得:

\[\ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(-y_{i} \boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}+\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_i}\right)\right)\tag{1} \]

*根據南瓜書好推導一點

該式子為關於 \(\beta\) 的高階可導連續凸函式。可以用梯度下降和牛頓法求得最優解。

下邊是求得式(1)的兩種方法的相關知識

最大似然估計

一文搞懂極大似然估計

對於這個函式 \(p(x|\theta)\) : 輸入有兩個:x 表示某一個具體的資料; \(\theta\) 表示模型的引數

如果 \(\theta\) 是已知確定的,x 是變數,這個函式叫做概率函式(probability function),它描述對於不同的樣本點 x,其出現概率是多少。

如果是已知確定的 x, \(\theta\) 是變數,這個函式叫做似然函式(likelihood function), 它描述對於不同的模型引數,出現 x 這個樣本點的概率是多少。讓這個概率最大化就是最大似然估計。

最大似然估計你可以把它看作是一個反推。多數情況下我們是根據已知條件來推算結果,而最大似然估計是已經知道了結果,然後尋求使該結果出現的可能性最大的條件,以此作為估計值。

求最大似然函式估計值的一般步驟:

(1)寫出似然函式;

(2)對似然函式取對數,並整理;

(3)求導數,令導數為0,得到似然方程;

(4)解似然方程,得到的引數即為所求;[1]

資訊理論

以概率論、隨機過程為基本研究工具,研究廣義通訊系統的整個過程。

自資訊

\[I(X)=-\log _{b} p(x) \]

當 b = 2 時單位為 bit ,當 b = e 時單位為 nat

資訊熵(自資訊的期望)

度量隨機變數 X 的不確定性,資訊熵越大越不確定。

相對熵(KL散度)

度量兩個分佈的差異,其典型使用場景是用來度量理想分佈 p(x) 和模擬分佈 q(x) 之間的差異。

\[\begin{aligned} D_{K L}(p \| q) &=\sum_{x} p(x) \log _{b}\left(\frac{p(x)}{q(x)}\right) \\ &=\sum_{x} p(x)\left(\log _{b} p(x)-\log _{b} q(x)\right) \\ &=\sum_{x} p(x) \log _{b} p(x)-\sum_{x} p(x) \log _{b} q(x) \end{aligned} \]

其中 \(-\sum_{x} p(x) \log _{b} q(x)\) 稱為交叉熵

與理想分佈最接近的模擬分佈為最優分佈,可以通過最小化相對熵來求出,即最小化交叉熵。

對數機率迴歸的機器學習三要素

  • 模型:線性模型,輸出值範圍 [0,1] ,近似階躍的單調可微函式

  • 策略:極大似然估計,資訊理論

  • 演算法:梯度下降,牛頓法

線性判別分析

線性判別分析(LDA)思想:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點儘可能接近,異類樣例的投影點儘可能遠離。

幾何角度:全體訓練樣本經過投影后

  • 異類樣本的中心儘可能遠
  • 同類樣本的方差儘可能小

給定資料集 \(D=\{(x_{i},y_{i})\}_{i=1}^{m},y\in \{0,1\}\) ,令 \(X_{i}、\mu _{i}、\Sigma _{i}\) 分別表示 \(i\in \{0,1\}\) (這三個的下標i指的是0或1,資料集中的下標i表示的是樣本編號)類示例的集合、均值向量、協方差矩陣。若將資料投影到直線 \(w\) 上,則兩類樣本的中心在直線上的投影(非嚴格)分別為 \(w^{T}\mu _{0}\)\(w^{T}\mu _{1}\) ;若將所有樣本點都投影到直線上,則兩類樣本的協方差分別為 \(w^{T}\Sigma _{0}w\)\(w^{T}\Sigma _{1}w\) 。由於直線是一維空間,因此上述四個為實數。

  • \(w^{T}\mu _{0}=|\boldsymbol{w}| \cdot\left|\boldsymbol{\mu}_{0}\right| \cdot \cos \theta_{0},其中 \left|\boldsymbol{\mu}_{0}\right| \cdot \cos \theta_{0}為投影\)

故異類樣本的中心儘可能遠(非嚴格投影)為:

\[\max \left\|w^{T}\mu _{0}-w^{T}\mu _{1}\right\|_{2}^{2} \]\[\max \left\||\boldsymbol{w}| \cdot\left|\boldsymbol{\mu}_{0}\right| \cdot \cos \theta_{0}-|\boldsymbol{w}| \cdot\left|\boldsymbol{\mu}_{1}\right| \cdot \cos \theta_{1}\right\|_{2}^{2} \]

同類樣本的方差儘可能小(非嚴格方差)為:

\[\min\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\Sigma}_{0} \boldsymbol{w} \]\[\begin{aligned} \boldsymbol{w}^{\mathrm{T}} \boldsymbol{\Sigma}_{0} \boldsymbol{w} &=\boldsymbol{w}^{\mathrm{T}}\left(\sum_{\boldsymbol{x} \in X_{0}}\left(\boldsymbol{x}-\boldsymbol{\mu}_{0}\right)\left(\boldsymbol{x}-\boldsymbol{\mu}_{0}\right)^{\mathrm{T}}\right) \boldsymbol{w} \\ &=\sum_{\boldsymbol{x} \in X_{0}}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{0}\right)\left(\boldsymbol{x}^{\mathrm{T}} \boldsymbol{w}-\boldsymbol{\mu}_{0}^{\mathrm{T}} \boldsymbol{w}\right) \end{aligned} \]

其中 \(w^{T}x\) 為樣本 \(w^{T}\mu_{0}\) 為中心。

同時考慮上述兩個條件,則得:

\[\begin{aligned} \max J &=\frac{\left\|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{0}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{1}\right\|_{2}^{2}}{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\Sigma}_{0} \boldsymbol{w}+\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\Sigma}_{1} \boldsymbol{w}}\\ &=\frac{\boldsymbol{w}^{\mathrm{T}}\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{w}}{\boldsymbol{w}^{\mathrm{T}}\left(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1}\right) \boldsymbol{w}} \end{aligned} \]

\(\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{T}\) 記作 \(S_{b}\) (類間散度矩陣), \(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1}\) 記作 \(S_{w}\) (類內散度矩陣),則上式可寫為:

\[\max J=\frac{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}}{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}} \]

\(S_{b}和S_{w}\) 的廣義瑞利商。

上式中 \(w\) 不會影響結果,所以將分母進行固定,令 \(\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}=1\) (這裡固定其他含 \(w\) 的項都可以),得:

\[\begin{array}{ll} \min _{w} & -\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w} \\ \text { s.t. } & \boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}=1 \end{array} \]

根據拉格朗日乘子法,該式等價於:

\[\begin{array}{c} \mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} \\ \left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} \end{array} \]

若令 \(\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{w}=\gamma\) ,則

\[\begin{array}{l} \gamma\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)=\lambda \mathbf{S}_{w} \boldsymbol{w} \\ \boldsymbol{w}=\frac{\gamma}{\lambda} \mathbf{S}_{w}^{-1}\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right) \end{array} \]

因為最終求解的 \(w\) 不關心其大小,只關心其方向,所以 $\frac{\gamma}{\lambda} $ 可以取任意值,若令其等於1,則:

\[\boldsymbol{w}=\mathbf{S}_{w}^{-1}\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right) \]

協方差

\[\sigma(x, y)=\frac{1}{n-1} \sum_{a}^{b}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right) \]

前邊的係數可以省略,即:

\[\sigma(x, y)=\sum_{a}^{b}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right) \]

範數

  • 一範數:所有元素絕對值的和 \(||x||_{1}\)

  • 二範數:向量的模長 \(||x||_{2}\)

  • 無窮範數:

    • 正無窮範數:所有元素中絕對值最小的。 \(||x||_{+\infty }=\min(|x_1|...|x_{n}|)\)
    • 負無窮範數:所有元素中絕對值最大的。\(||x||_{-\infty }=\max(|x_1|...|x_{n}|)\)

拉格朗日乘子法

對於僅含等式約束的優化問題:(max問題可以通過加“-”號變為min問題)

\[\begin{array}{cl} \min _{x} & f(\boldsymbol{x}) \\ \text { s.t. } & h_{i}(\boldsymbol{x})=0 \quad i=1,2, \ldots, n \end{array} \]

其中 \(\boldsymbol{x} \in \mathbb{R}^{n}, f(\boldsymbol{x}) \text { 和 } h_{i}(\boldsymbol{x})\) 均有連續地一階偏導數。首先列出其拉格朗日函式:

\[L(\boldsymbol{x}, \boldsymbol{\lambda})=f(\boldsymbol{x})+\sum_{i=1}^{n} \lambda_{i} h_{i}(\boldsymbol{x}) \]

其中 $ \boldsymbol{\lambda}=\left(\lambda_{1}, \lambda_{2}, \ldots, \lambda_{n}\right)^{\mathrm{T}}$ 為拉格朗日乘子。然後對拉格朗日函式關於 \(\boldsymbol{x}\) 求偏導, 並令導數等於0再搭配約束條件 \(h_{i}(\boldsymbol{x})=0\) 解出 \(\boldsymbol{x}\) , 求解出的所有 \(\boldsymbol{x}\) 即為上述優化問題的所有 可能【極值點】

廣義特徵值

\(\mathbf{A}, \mathbf{B}\) 為n階方陣, 若存在數 \(\lambda\) ,使得方程 \(A \boldsymbol{x}=\lambda \mathbf{B} \boldsymbol{x}\) 存在非零解, 則稱 \(\lambda\)\(\mathbf{A}\) 相對於 \(\mathbf{B}\) 的廣義特徵值, \(\boldsymbol{x}\)\(\mathbf{A}\) 相對於 \(\mathbf{B}\) 的屬於廣義特徵值 \(\lambda\) 的特徵向量。特別地, 當 \(\mathbf{B}=\mathbf{I}\) (單位矩陣)時, 廣義特徵值問題退化為標準特徵值問題。

廣義瑞利商

\(\mathbf{A}, \mathbf{B}\) 為n階厄米(Hermitian)矩陣(轉置之後是其本身,叫實對稱矩陣。Hermitian矩陣是實對稱矩陣的推廣,共軛轉置等於本身的矩陣),且 \(\mathbf{B}\) 正定,稱 \(R(\boldsymbol{x})=\frac{\boldsymbol{x}^{\mathrm{H}} \mathbf{A} \boldsymbol{x}}{\boldsymbol{x}^{\mathrm{H}} \mathbf{B} \boldsymbol{x}}(\boldsymbol{x} \neq \mathbf{0})\)\(\mathbf{A}\) 相對於 \(\mathbf{B}\) 的廣義瑞利商。特別地,當 \(\mathbf{B}=\mathbf{I}\) (單位矩陣)時,廣義瑞利商退化為瑞利商。

廣義瑞利商的性質

\(\lambda_{i}, \boldsymbol{x}_{i}(i=1,2, \ldots, n)\)\(\mathbf{A}\) 相對於 \(\mathbf{B}\) 的廣義特徵值和特徵向量, 且 $\lambda_{1} \leqslant \lambda_{2} \leqslant \ldots \leqslant \lambda_{n} $ 。

\[\begin{array}{l} \min _{\boldsymbol{x} \neq 0} R(\boldsymbol{x})=\frac{\boldsymbol{x}^{\mathrm{H}} \mathbf{A} \boldsymbol{x}}{\boldsymbol{x}^{\mathrm{H}} \mathbf{B} \boldsymbol{x}}=\lambda_{1}, \boldsymbol{x}^{*}=\boldsymbol{x}_{1} \\ \max _{\boldsymbol{x} \neq 0} R(\boldsymbol{x})=\frac{\boldsymbol{x}^{\mathrm{H}} \mathbf{A} \boldsymbol{x}}{\boldsymbol{x}^{\mathrm{H}} \mathbf{B} \boldsymbol{x}}=\lambda_{n}, \boldsymbol{x}^{*}=\boldsymbol{x}_{n} \end{array} \]

【證明】:當固定 \(\boldsymbol{x}^{\mathrm{H}} \mathbf{B} \boldsymbol{x}=1\) 時,使用拉格朗日乘子法可推得 \(\mathbf{A} \boldsymbol{x}=\lambda \mathbf{B} \boldsymbol{x}\) 這樣一個廣 義特徵值問題, 因此 \(\boldsymbol{x}\) 所有可能的解即為 \(\boldsymbol{x}_{i}(i=1,2, \ldots, n)\) 這 n個廣義特徵向量, 將其分別代入 \(R(\boldsymbol{x})\) 即可推得上述結論。


  1. https://blog.csdn.net/zouxy09/article/details/8537620 ↩︎