1模型評價-準確率與ROC、AUC
這部分原文地址:https://www.douban.com/note/284051363/
1.1 準確率相關
混淆矩陣是計算各種準確率的基礎,各種準確率是得到roc曲線的基礎。
1.2 ROC與AUC (曲線、面積)
ROC曲線的橫坐標為false positive rate(FPR,即假正率 實際假例中,被誤判為正的樣例比率),縱坐標為true positive rate(TPR,即真正率,正例中判斷為正的樣例比率).
在模型差別中,每一個閾值,會造成 模型判斷的正負樣例數發生變化,對應的FPR、TPR也會有變化,最終形成一條從(0,0)到(1,1)的曲線。
這條曲線下的面積就是AUC (area under curve)
2 模型優化目標
2.0 極大似然估計(備用)
極大似然估計,通俗理解來說,就是利用已知的樣本結果信息,反推最具有可能(最大概率)導致這些樣本結果出現的模型參數值!
換句話說,極大似然估計提供了一種給定觀察數據來評估模型參數的方法,即:“模型已定,參數未知”。
極大似然估計中采樣需滿足一個重要的假設,就是所有的采樣都是獨立同分布的。
來源:https://zhuanlan.zhihu.com/p/26614750
案例:黑白球袋,隨機有放回取球,取出白占比70%時,我們推斷總體中白占70%.
推斷原理:
假設白出現概率是p,黑是1-p,則目前取的結果就是:
P(樣本結果|Model)
= P(x1,x2,…,x100|Model)
= P(x1|Mel)P(x2|M)…P(x100|M)
= p70(1-p)30.
p是多少怎么確定?
可以選擇很多種分布方式。
那么問題來了,既然有無數種分布可以選擇,極大似然估計應該按照什么原則去選取這個分布呢?
答:采取的方法是讓這個樣本結果出現的可能性最大,也就是使得p70(1-p)30值最大,那么我們就可以看成是p的方程,求導即可!
那么既然事情已經發生了,為什么不讓這個出現的結果的可能性最大呢?這也就是最大似然估計的核心。
我們想辦法讓觀察樣本出現的概率最大,轉換為數學問題就是使得:
p70(1-p)30最大,這太簡單了,未知數只有一個p,我們令其導數為0,即可求出p為70%,與我們一開始認為的70%是一致的。其中蘊含著我們的數學思想在里面。
2.1 模型優化目標(求解參數的目標)
一般分類模型的優化目標,就是對一個函數求最優化的參數估計,以滿足一定的函數要求。
通常,極大似然估計,就是求解函數參數,使得已經出現的情形出現概率最大;
若求解損失函數(cost function or loss function),就是最優化問題,求解函數參數,使得整體樣本的損失函數加權值最小。
2.11 線性回歸優化目標
預測值與實際值之間距離平方和最小—— 最小二乘法
2.12 邏輯回歸優化目標
LogLoss可以通過最大似然估計推導出來(估計參數,使得已經出現的結果出現的概率最大化)
簡化理解:
損失函數,就是當預測結果與觀測值不相符的時候,值(損失\成本)最大化。
對于邏輯回歸,y = H(θ,x), y 值有0,1兩種結果[以下不寫參數θ,簡記為H(x)]:
當y=1時
若H(x)預測也為1,則有cost ->0,若H(x)預測為0,則應該有cost->無窮大;
對應的cost function 可以為: -log(h(x))
當y=0時
若H(x)預測也為1,則有cost ->無窮大,若H(x)預測為0,則應該有cost->0;
對應的cost function 可以為: -log(1-h(x))
綜合起來,就是:
求解邏輯回歸模型的最優參數,就是最小化損失函數的過程,這一過程可以通過(隨機)梯度下降算法實現。