艱難的秋招 機器學習筆記 評價指標等各種問題

2021-10-18 18:52:23 字數 2611 閱讀 9706

回歸各種問題

分類準確(錯誤)率是分類正確(錯誤)的個數佔所有樣本的比例。

實際為正例

實際為負例

**為正例(positive)

tp (true positive)

fp (false positive)

**為負例(negative)

fn (false negative)

tn (true negative)

roc全稱是「受試者工作特徵」(receiver operating characteristic)。roc曲線下的面積稱為auc(area under curve),auc可以用來衡量「二分類問題」機器學習演算法性。

roc曲線的橫座標為假陽性率(false positive rate,fpr),縱座標為真陽性率(true positive rate,tpr),其中

t pr

=tpt

p+fn

,fpr

=fpf

p+tn

.tpr=\frac, \;\;fpr=\frac.

tpr=tp

+fnt

p​,f

pr=f

p+tn

fp​.

給定m

mm個樣本,其中m

+m^+

m+個正例和m

−m^-

m−個反例。根據學習器**的概率對樣例進行排序,最可能是正例的排在前面,最不可能是正例的排在最後面。然後把分類閾值設為最大,此時把所有樣例**為反例,此時tpr和fpr均為0。依次把閾值設定為每個樣例的**值,大於等於該閾值的**為正例,計算tpr和fpr,同時對相鄰的點進行連線。

從定義可知,auc可通過對roc曲線下各部分的面積求和而得。假設roc曲線是由座標

\的點按序連線而成(x0=

1,xm

=1

x_0=1, x_m=1

x0​=1,

xm​=

1),則auc可估算為

a uc

=12∑

i=1m

−1(x

i+1−

xi)(

yi+y

i+1)

.auc=\frac\sum_^(x_-x_i)(y_i+y_).

auc=21

​i=1

∑m−1

​(xi

+1​−

xi​)

(yi​

+yi+

1​).

為什麼使用roc/auc?roc曲線有個很好的特性:當測試集中的正負樣本的分布變換的時候,roc曲線能夠保持不變。在實際的資料集中經常會出現樣本類不平衡,即正負樣本比例差距較大,而且測試資料中的正負樣本也可能隨著時間變化。

mse (mean squared error): 1m∑

i=1m

(yi−

y^i)

2\frac\sum_^(y_i-\hat_i)^2

m1​∑i=

1m​(

yi​−

y^​i

​)2,其中y

iy_i

yi​為真實值,y^i

\hat_i

y^​i

​為**值。

mae (mean absolute error): 1m∑

i=1m

∣yi−

y^i∣

\frac\sum_^|y_i-\hat_i|

m1​∑i=

1m​∣

yi​−

y^​i

​∣,其中y

iy_i

yi​為真實值,y^i

\hat_i

y^​i

​為**值。

《機器學習》——周志華

泛化誤差可分解為偏差、方差與雜訊之和。

偏差度量了學習演算法的期望**與真實結果的偏離程度,即刻畫了學習演算法本身的擬合能力;方差度量了同樣大小的訓練集的變動所導致的學習效能的變化,即刻畫了資料擾動所造成的影響;雜訊則表達了在當前任務上任何學習演算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度。

偏差-方差分解說明,泛化效能是由學習演算法的能力、資料的充分性以及學習任務本身的難度所共同決定的。給定學習任務,為了取得好的泛化效能,則需使偏差較小,既能夠充分擬合資料,並且使方差較小,即使得資料擾動產生的影響小。

自己的話:偏差用來描述演算法的擬合能力,體現在演算法的訓練誤差;方差用來描述演算法的穩定性,體現在資料擾動後演算法誤差的變化。

欠擬合,擬合訓練資料不夠好,導致模型效能較差。具體表現是模型在訓練集和測試集上都有較高的誤差。

過擬合,擬合訓練資料太好,導致模型效能較差。具體表現是模型在訓練上的訓練誤差較小,在測試集上的誤差較大。

解決欠擬合:

解決過擬合:

主要解決方法有:

擴大資料集,增加小類的資料樣本

對大類資料欠取樣,減少大類的資料樣本個數,使與小樣本個數接近。缺點是欠取樣操作時若隨機丟棄大類樣本,可能會丟失重要資訊。

對小類資料過取樣,增加小類的資料樣本個數。

使用新評價指標。準確率不適合用來評價不平衡的資料集。

選擇新的演算法。

對資料的重要性進行加權。

2019 7 2,3秋招學習筆記

當返回乙個物件不可被避免的時候,因返回的過程中產生的臨時物件,構造和析構仍被執行所以會影響到程式效率。但是可以通過特定的寫法,搭配支援 return value optimization 的c 編譯器,只需要付出乙個構造函式呼叫的代價即可完成返回值賦值。並且可以將函式宣告為inline,從而消除呼叫...

2019 7 10秋招學習筆記

解釋參考 include include include include using namespace std enum tag typedef struct node node typedef struct tagnode tagnode 前序遍歷,根左右 vector int preorder...

機器學習 評價指標整理

目錄 1.準確率 accuracy 2.召回率 recall 3.精確率 precision 4.召回率與精確率的關係 5.誤報率 fpr 與漏報率 fnr 準確率是指我們的模型 正確的結果所佔的比例。正式點說,準確率的定義如下 accuracy frac 對於二元分類,也可以根據正類別和負類別按如...