日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逻辑回归Logistic Regression 之基础知识准备

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑回归Logistic Regression 之基础知识准备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0. 前言

??這學期 Pattern Recognition 課程的 project 之一是手寫數字識別,之二是做一個網站驗證碼的識別(鴨梨不小哇)。面包要一口一口吃,先嘗試把模式識別的經典問題——手寫數字識別做出來吧。這系列博客參考deep learning tutorial?,記錄下用以下三種方法的實現過程:

  • Logistic Regression?- using Theano for something simple
  • Multilayer perceptron?- introduction to layer
  • Deep Convolutional Network?- a simplified version of LeNet5
  • ??目的在于一方面從理論上幫自己理順思路,另一方面作為課程最后一課 presentation 的材料。這三種方法從易到難,準確率也由低到高,我們先從簡單的入手。

    1. Binomial logistic regression model

    ??盡管線性分類器方法足夠簡單并且使用廣泛,但是線性模型對于輸出的 y 沒有界限,y 可以取任意大或者任意小(負數)的值,對于某些問題來說不夠 adequate, 比如我們想得到 0 到 1 之間的 probability 輸出,這時候就要用到比 linear regression 更加強大的 logistic regression 了。

    ?y = w ? x

    ??直覺上,一個線性模型的輸出值 y 越大,這個事件 P(Y=1|x) 發生的概率就越大。 另一方面,我們可以用事件的幾率(odds)來表示事件發生與不發生的比值,假設發生的概率是 p ,那么發生的幾率(odds)是 p/(1-p) , odds 的值域是 0 到正無窮,幾率越大,發生的可能性越大。將我們的直覺與幾率聯系起來的就是下面這個(log odds)或者是 logit 函數 (有點牽強 - -!):

    ??進而可以求出概率 p 關于 w 點乘 x 的表示:

    ??(注:為什么要寫出中間一步呢?看到第三部分的你就明白啦!)

    ??這就是傳說中的?sigmoid function?了,以 w 點乘 x 為自變量,函數圖像如下:

    (注:從圖中可以看到 wx 越大,p 值越高,在線性分類器中,一般 wx = 0 是分界面,對應了 logistic regression 中 p = 0.5)

    2. Parameter Estimation

    ??Logsitic regression 輸出的是分到每一類的概率,參數估計的方法自然就是最大似然估計 (MLE) 咯。對于訓練樣本來說,假設每個樣本是獨立的,輸出(標簽)為 y = {0, 1},樣本的似然函數就是將所有訓練樣本 label 對應的輸出節點上的概率相乘, 令 p = P(Y=1|x) ,如果 y = 1, 概率就是 p, 如果 y = 0, 概率就是 1 - p ,(好吧,我是個羅嗦的家伙), ?將這兩種情況合二為一,得到似然函數:

    ??嗯?有連乘,用對數化為累加, balabala 一通算下來,就得到了對數似然函數為

    ??應用梯度下降法或者是擬牛頓法對 L(w) 求極大值,就可以得到 w 的估計值了。

    3. Softmax regression

    ??這一小節旨在弄清 softmax regression 和 logistic regression 的聯系,更多細節請參考 Andrew Ng 的英文資料,需要快速瀏覽也可以看看中文翻譯版本,或者 wiki 一下。

    ??logistic regression 在多類上的推廣又叫 softmax regression, 在數字手寫識別中,我們要識別的是十個類別,每次從輸入層輸入 28×28 個像素,輸出層就可以得到本次輸入可能為 0, 1, 2… 的概率。得花點時間畫個簡易版本的,看起來更直觀:

    ??OK, 左邊是輸入層,輸入的 x 通過中間的黑線 w (包含了 bias 項)作用下,得到 w.x, 到達右邊節點, 右邊節點通過紅色的函數將這個值映射成一個概率,預測值就是輸入概率最大的節點,這里可能的值是 {0, 1, 2}。在 softmax regression 中,輸入的樣本屬于第 j 類的概率可以寫成:

    ??(注:對比第一部分提到過的中間一步,有什么不同?)???

    ? ? ?注意到,這個回歸的參數向量減去一個常數向量,會有什么結果:

    ??沒有變化!這說明如果某一個向量是代價函數的極小值點,那么這個向量在減去一個任意的常數向量也是極小值點,這是因為 softmax 模型被過度參數化了。(題外話:回想一下在線性模型中,同時將 w 和 b 擴大兩倍,模型的分界線沒有變化,但是模型的輸出可信度卻增大了兩倍,而在訓練迭代中, w 和 b 絕對值越來越大,所以 SVM 中就有了函數距離和幾何距離的概念)

    ??既然模型被過度參數化了,我們就事先確定一個參數,比如將 w1 替換成全零向量,將 w1.x = 0 帶入 binomial softmax regression ,得到了我們最開始的二項 logistic regression (可以動手算一算), 用圖就可以表示為

    ??(注:虛線表示為 0 的權重,在第一張圖中沒有畫出來,可以看到 logistic regression 就是 softmax regression 的一種特殊情況)

    ??在實際應用中,為了使算法實現更簡單清楚,往往保留所有參數,而不任意地將某一參數設置為 0。我們可以對代價函數做一個改動:加入權重衰減 (weight decay)。 權重衰減可以解決 softmax 回歸的參數冗余所帶來的數值問題。并且此時代價函數變成了嚴格的凸函數, Hessian矩陣變為可逆矩陣,保證有唯一的解。(感覺與線性分類器里限制 ||w|| 或者設置某一個 w 為全零向量一樣起到了減參的作用,但是這個計算起來簡單清晰,可以用高斯分布的 MAP 來推導,其結果是將 w 軟性地限制在超球空間,有一點 “soft” 的味道,個人理解^ ^)

    ??加入權重衰減后的代價函數是:

    ??等號右邊第一項是訓練樣本 label 對應的輸出節點上的概率的負對數,第二項是 weight decay ,可以使用梯度下降法和 L-BFGS 等算法可以保證收斂到全局最優解。總結起來,logistic regression 是 softmax regression 的一種特殊形式,前者是二類問題,后者是多類問題,前者的非線性函數的唯一確定的 sigmoid function (默認 label 為 0 的權重為全零向量的推導結果), 后者是 softmax, 有時候我們并不特意把它們區分開來。

    ? ? ? 好,基礎知識準備完畢,下面我們就要在數字手寫識別項目里面實戰一下了。(^_^)

    ??


    參考資料:

    [1] 統計學習方法, 李航 著

    [2]?http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial??

    ?

    ?

    from:http://www.cnblogs.com/daniel-D/

    總結

    以上是生活随笔為你收集整理的逻辑回归Logistic Regression 之基础知识准备的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。