機器學習-習題(二)

RogZ發表於2022-06-07


2.1 資料集包含 1000 個樣本, 其中 500 個正例、500 個反例, 將其劃分為包含 70% 樣本的訓練集和 30% 樣本的測試集用於留出法評估, 試估算共有多少種劃分方式。

  1. 共有1000個樣本,訓練集70%則有700個樣本,測試集則有300個樣本
  2. 算一下訓練集和測試集中分別包含多少個正例、多少個反例。設訓練集包含正例\(x\)個,則測試集包含正例\(500-x\),設訓練集包含反例\(y\)個,則測試集包含反例\(500-y\)個樣本,得出方程組:

\[\begin{cases} x+y=700 \ (訓練集正反例樣本共700個) \\ {x \over y}={{500-x} \over {500-y}} \ (分層取樣,資料分佈一致) \end{cases} \]

  易得\(x=y=350\)
3. 劃分方式共有\(C_{500}^{350} \times C_{500}^{350}\) 或者 \(C_{500}^{150} \times C_{500}^{150}\)。兩式在數學運算上相等,第一個表示從500個正例中隨機取350個正例,依次取兩次;第二個表示從500個反例中隨機取150個反例,取兩次。


2.2 資料集包含 100 個樣本, 其中正、反例各一半, 假定學習演算法所產生的模型是將新樣本預測為訓練樣本數較多的類別 (訓練樣本數相同時進行隨機猜測) , 試給出用 10 折交叉驗證法和留一法分別對錯誤率進行評估所得的結果。

  1. 10折交叉驗證法
    (1)將100個樣本等分為10個子集,每個子集包含10個樣本。正反樣本各佔一半,即正反各5個。
    (2)任取其中9個子集作為訓練集,剩餘1個為測試集。
    (3)因為每個子集中兩類樣本數量相同,預測的結果均值近似於隨機猜測。故其\(錯誤率=50 \%\)
  2. 留一法
    將99個樣本劃分為訓練集,剩下的1個樣本為測試集。

\[若測試集為\begin{cases}反例,則訓練集中包含50個正例、49個反例 \\正例,則訓練集中包含50個反例、49個正例\end{cases} \]

根據題意(學習演算法所產生的模型是將新樣本預測為訓練樣本數較多的類別),分別產生正例模型、反例模型,同測試集全部相反。故其\(錯誤率=100\%\)


2.3 若學習器 A 的 F1 值比學習器 B 高, 試析 A 的 BEP 值是否也比 B 高。

\({1 \over F1}={1\over 2}\times({{1\over P}+{1\over R}})\)

\(BEP為P=R時,P或R的值\)

\(F1_A>F1_B\),則\(({{1\over P_A}+{1\over R_A}})<({{1\over P_B}+{1\over R_B}})\)

又因為\(BEP_A=P_A=R_A,BEP_B=P_B=R_B\)

\(F1\)\(P=R\), 則\({{{2}\over{BEP_A}}<{{2}\over{BEP_B}}}\),即\(BEP_A>BEP_B\)

\(F1\)\(P\)\(R\)往往不一定相等(相等為特例),所以\(A\)\(B\)\(BEP\)值無法進行比較。當且僅當\(P=R\)時,\(F1\)\(BEP\)存在關係。


2.4 試述真正例率 (TPR)、假正例率 (FPR) 與查準率 (P) 、查全率 (R) 之間的聯絡。

分類結果混淆矩陣如下。

\[P={TP\over{TP+FP}}\\ R={TP\over{TP+FN}}\\ TPR={TP\over{TP+FN}}\\ FPR={FP\over{TN+FP}} \]

其中,\(R=TPR\)。而其他兩個變數之間關係不明顯。


2.5 試證明式 (2.22)。

\[AUC=\sum_{i=1}^{m-1}[{1\over 2}(x_{i+1}-x_i)\times(y_i+y_{i+1})] \tag{2.20} \]

\[l_{rank}={1\over m^+m^-}\sum_{{x^+}∈{D^+}}\sum_{{x^-}∈{D^-}}(Ⅱ(f(x^+)<f(x^-))+{1\over 2}Ⅱ(f(x^+)=f(x^-))) \tag{2.21} \]

\[AUC=1-l_{rank} \tag{2.22} \]

式2.20及2.21已經在機器學習-學習筆記(二)中證明。
\(AUC\)表示\(ROC\)曲線與\(x\)軸所圍的面積,而\(l_{rank}\)表示\(ROC\)曲線與\(y\)軸所圍的面積。\(ROC\)曲線\(x、y\)取值均為\([0,1]\),故其總面積為\(1\)。所以\(AUC=1-l_{rank}\)


2.6 試述錯誤率與 ROC 曲線的聯絡。

錯誤率:$$E(f;D)={{FP+FN}\over{TP+FN+FP+TN}}$$

\[TPR={TP\over{TP+FN}}\\ FPR={FP\over{TN+FP}}\]

通過公式不難看出,只要出現錯誤的樣例,\(TPR\)值會減小,\(FPR\)值會增大,即按照\(ROC\)曲線繪製方法,出現假例時,會沿\(x\)軸移動,所以在\(ROC\)曲線在最接近於如下圖紅線時,錯誤率最低(基本接近於0);當錯誤率等於\(50%\)時,即為隨機胡猜,為影像中的藍線。


\(ROC\)曲線上每一個點都對應一個錯誤率,錯誤率越高,其\(ROC\)曲線越向\((1, 0)\)方向凹陷,若錯誤率越低,則\(ROC\)曲線越向\((0, 1)\)方向凸出。


2.7 試證明任意一條 ROC 曲線都有一條代價曲線與之對應, 反之亦然。

先證任意一條 ROC 曲線都有一條代價曲線與之對應。在代價曲線中,一條\(ROC\)上的一點代表代價平面上的一條線段,多個\(ROC\)的點組成了唯一的\(ROC\)曲線,同時,多個代價平面線段(如下圖紅色限度)共同構成了唯一的代價曲線(下圖藍色線段)。即證



再證任意一條代價曲線都有一條 ROC 曲線與之對應。代價曲線上每一條線段都對應\(ROC\)曲線的一個點座標,將代價曲線每一個線段都轉化為\(ROC\)曲線上的點,將這些點按\(ROC\)曲線構造順序連線,即可得出唯一的\(ROC\)曲線。但要注意的是,代價曲線反推得出的\(ROC\)曲線不一定是構造代價曲線的\(ROC\)曲線,可能比原來的少某幾個點,例如,幾條代價平面的線段交於同一點時,只可能選擇其中兩條,而多餘的一條可能被忽略。但一定會有一條\(ROC\)曲線與其對應。


2.8 Min−max 規範化和 z−score 規範化是兩種常用的規範化方法. 令 \(x\)\(x′\) 分別表示變數在規範化前後的取值, 相應的, 令 \(x_{min}\)\(x_{max}\) 表示規範化前的最小值和最大值, \(x′_{min}\)\(x′_{max}\) 表示規範化後的最小值和最大值, \(\bar{x}\)\(\sigma_x\) 分別表示規範化前的均值和標準差, 則 min−max 規範化、z−score 規範化分別如式 (2.43) 和 (2.44) 所示. 試析二者的優缺點。

image

規範化:將原來的度量值轉換為無量綱的值。通過將屬性資料按比例縮放,通過一個函式將給定屬性的整個值域對映到一個新的值域中,即每個舊的值都被一個新的值替代。
我所理解的規範化,其實就是將原有的資料等比例放大/縮小,使其對映到一個固定的資料範圍中。
有3種規範化策略,分別是:最小-最大(min-max)規範化、z-score規範化、小數定標規範化。

Min-max規範化:

\[x^{\prime}=x_{\min }^{\prime}+\frac{x_{\max }^{\prime}-x_{\min }^{\prime}}{x_{\max }-x_{\min }} \times (x-x_{\min }) \]

\(\frac{x_{\max }^{\prime}-x_{\min }^{\prime}}{x_{\max }-x_{\min }}\):等比例縮小
\(x-x_{\min }\):原資料的偏移量
整個公式意思就是,將原資料的偏移量等比例縮小,再在新範圍的最小值上加上縮小後的偏移量,即可得出新資料的值。
優點:很明顯,Min-max規範化保留了原資料之間偏移量的關係;可以指定資料規範化後的取值範圍;是計算複雜度最小的一個方法。
缺點:需要預先知道規範後的最大最小值;若原資料新增資料超越原始範圍,則會發生“越界”錯誤;若原資料有值離群度很高(即使得原資料最大或最小值很大),規範後的大多數資料會特別集中且不易區分。

\(z-score\)規範化:

\[x^{\prime}=\frac{x-\bar{x}}{{\sigma}_{x}} \]

該公式表示原資料減去所有原資料的均值\(\bar{x}\),再除以標準差\({\sigma}_{x}\),即為規範化後的資料。

\[x_i^{\prime}=\frac{x_i-\bar{x}}{\sqrt{(x_1-\bar{x})^2+...+(x_i-\bar{x})^2+...+(x_n-\bar{x})^2}}\\ x_i^{\prime}=±\sqrt\frac{(x_i-\bar{x})^2}{{(x_1-\bar{x})^2+...+(x_i-\bar{x})^2+...+(x_n-\bar{x})^2}}\\ (若x_i>\bar{x},則取正值,否則取負值) \]

將公式變形後易知,\(z-score\)規範化,其實是在計算每個資料相較於均值的偏差距離平方所佔的所有偏差距離平方和的比例。
優點:可以將不同標準的資料轉化為同一標準下;規範化後的結果易於比較;對於離群度較高的資料敏感度低,不會太受影響。
缺點:每次新增或刪除原資料,其均值\(\bar{x}\)和方差\(\sigma_{x}\)均可能改變,需要重新進行計算;根據其計算原理易知,規範化後的資料取值範圍基本在\([-1,1]\),資料之間分佈較密集。


2.9 試述 \(χ^2\) 檢驗過程。

先引用浙江大學概率論與數理統計(第四版)第八章第三節對\(χ^2\)檢驗(卡方檢驗)的概念。


\(χ^2\) 檢驗(卡方檢驗)在浙大版概率論中已經闡明的面面俱到了,這裡稍作總結一下。

\(χ^2\) 檢驗(卡方檢驗):主要用於檢驗兩個變數之間是否存在關係,檢驗區域性資料是否符合總體資料分佈。主要是比較實際值和理論值之間的偏離程度。
這裡的\(χ^2\) 檢驗(卡方檢驗)對單個分佈樣本和多個分佈樣本均可檢驗,但其檢驗方法不同。

  1. 單個分佈的\(χ^2\) 檢驗
  • 做出假設:\(H_0:總體X的分佈函式為F(x)\)(這裡的\(F(x)\)已知)
  • \(H_0\)\(X\)所有可能取值分為互不相交的子集\(A_1,...,A_k\)
  • \(f_i\)記為樣本觀察值\(x_1,...,x_n\)落在\(A_i\)中的個數,則事件\(A_i\)發生的頻率為\(\frac{f_i}{n}\)
  • \(p_i\)記為當\(H_0\)為真時,\(H_0\)所假設的\(X\)的分佈函式計算\(A_i\)的概率。
  • 檢驗統計量

\[\chi^{2}=\sum_{i=1}^{k} \frac{n}{p_i}(\frac{f_i}{n}-p_i)^2=\sum_{i=1}^{k} \frac{f_i^2}{np_i}-n \]

  • \(\chi^2<\chi_\alpha^2(k-1)\),則接受\(H_0\),否則拒絕。(當\(n≥50\)時,\(H_0\)為真時的\(\chi^2\)近似服從\(\chi^2(k-1)\)分佈。)其中,\(\chi_\alpha^2(k-1)\)的值由\(\chi^2\)分佈表給出。


  1. 多個分佈/分佈族的\(\chi^2\)檢驗
  • 做出假設:\(H_0:總體X的分佈函式為F(x;\theta_1,...,\theta_r)\)(這裡的\(F(x)\)含有未知引數\(\theta_1,...,\theta_r\),未知引數不同,則分佈不同,所以\(F(x;\theta_1,...,\theta_r)\)代表分佈族)
  • 定義檢驗統計量的方法同單個分佈的基本相同,但是概率\(p_i\)因為引數未知,所以只能用估計值。這裡先利用樣本求出未知引數的最大似然估計,以估計值作為引數值,求出\(p_i\)的估計值\(\hat{p_i}\)

\[\chi^{2}=\sum_{i=1}^{k} \frac{f_i^2}{n\hat{p_i}}-n\sim\chi^2(k-r-1) \]

  • 其拒絕域同1相同\(\chi^2≥\chi_\alpha^2(k-r-1)\)

2.10 試述在 Friedman 檢驗中使用式 (2.34) 與 (2.35) 的區別。



兩式的區別在書中有所講,2.34相較於2.35過於保守,2.34在\(k\)較小的情況下,傾向於認為無顯著區別,而2.35恰恰可以解決這個問題。
這裡要解決兩個問題。第一個是為什麼2.34保守,第二個是為什麼2.35可以解決保守的問題。
第一個問題:為什麼2.34保守?
其實不難理解,2.34服從自由度為\(k-1\)\(\chi^2\)分佈,其僅考慮了不同演算法對方差產生的影響,而為考慮不同資料集對其產生的影響,所以較為保守。(這裡應該通過對總體方差和樣本方差的推導來證明)
第二個問題:為什麼2.35可以解決保守的問題?
這裡2.35就是服從自由度為\(k-1\)\((k-1)(N-1)\)的F分佈,既考慮了不同演算法之間的影響,也考慮了不同資料集所帶來的影響。(關於方差的推導過程,後續依次補齊)

相關文章