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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

逻辑回归详解

發布時間:2024/1/23 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑回归详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是邏輯回歸?

Logistic回歸與多重線性回歸實際上有很多相同之處,最大的區別就在于它們的因變量不同,其他的基本都差不多。正是因為如此,這兩種回歸可以歸于同一個家族,即廣義線性模型(generalizedlinear model)。

這一家族中的模型形式基本上都差不多,不同的就是因變量不同。

  • 如果是連續的,就是多重線性回歸;
  • 如果是二項分布,就是Logistic回歸;
  • 如果是Poisson分布,就是Poisson回歸;
  • 如果是負二項分布,就是負二項回歸。

Logistic回歸的因變量可以是二分類的,也可以是多分類的,但是二分類的更為常用,也更加容易解釋。所以實際中最常用的就是二分類的Logistic回歸。

Logistic回歸的主要用途:

  • 尋找危險因素:尋找某一疾病的危險因素等;
  • 預測:根據模型,預測在不同的自變量情況下,發生某病或某種情況的概率有多大;
  • 判別:實際上跟預測有些類似,也是根據模型,判斷某人屬于某病或屬于某種情況的概率有多大,也就是看一下這個人有多大的可能性是屬于某病。

Logistic回歸主要在流行病學中應用較多,比較常用的情形是探索某疾病的危險因素,根據危險因素預測某疾病發生的概率,等等。例如,想探討胃癌發生的危險因素,可以選擇兩組人群,一組是胃癌組,一組是非胃癌組,兩組人群肯定有不同的體征和生活方式等。這里的因變量就是是否胃癌,即“是”或“否”,自變量就可以包括很多了,例如年齡、性別、飲食習慣、幽門螺桿菌感染等。自變量既可以是連續的,也可以是分類的。

?

常規步驟

Regression問題的常規步驟為:

  • 尋找h函數(即hypothesis);
  • 構造J函數(損失函數);
  • 想辦法使得J函數最小并求得回歸參數(θ)

  • 構造預測函數h

    Logistic回歸雖然名字里帶“回歸”,但是它實際上是一種分類方法,主要用于兩分類問題(即輸出只有兩種,分別代表兩個類別),所以利用了Logistic函數(或稱為Sigmoid函數),函數形式為:

    Sigmoid 函數在有個很漂亮的“S”形,如下圖所示(引自維基百科):

    ?

    下面左圖是一個線性的決策邊界,右圖是非線性的決策邊界。



    對于線性邊界的情況,邊界形式如下:

    構造預測函數為:


    函數的值有特殊的含義,它表示結果取1的概率,因此對于輸入x分類結果為類別1和類別0的概率分別為:



    構造損失函數J

    Cost函數和J函數如下,它們是基于最大似然估計推導得到的。



    下面詳細說明推導的過程:

    (1)式綜合起來可以寫成:

    取似然函數為:


    對數似然函數為:


    最大似然估計就是求使取最大值時的θ,其實這里可以使用梯度上升法求解,求得的θ就是要求的最佳參數。但是,在Andrew Ng的課程中將取為下式,即:


    因為乘了一個負的系數-1/m,所以取最小值時的θ為要求的最佳參數。


    梯度下降法求的最小值

    θ更新過程:

    ?


    θ更新過程可以寫成:

    ?


    向量化Vectorization

    Vectorization是使用矩陣計算來代替for循環,以簡化計算過程,提高效率。

    如上式,Σ(...)是一個求和的過程,顯然需要一個for語句循環m次,所以根本沒有完全的實現vectorization。


    下面介紹向量化的過程:

    約定訓練數據的矩陣形式如下,x的每一行為一條訓練樣本,而每一列為不同的特稱取值:

    g(A)的參數A為一列向量,所以實現g函數時要支持列向量作為參數,并返回列向量。由上式可知可由一次計算求得。

    θ更新過程可以改為:


    綜上所述,Vectorization后θ更新的步驟如下:

    (1)求;

    (2)求;

    (3)求?。

    ?

    正則化Regularization

    過擬合問題

    對于線性回歸或邏輯回歸的損失函數構成的模型,可能會有些權重很大,有些權重很小,導致過擬合(就是過分擬合了訓練數據),使得模型的復雜度提高,泛化能力較差(對未知數據的預測能力)。

    下面左圖即為欠擬合,中圖為合適的擬合,右圖為過擬合。


    問題的主因

    過擬合問題往往源自過多的特征。

    解決方法

    1)減少特征數量(減少特征會失去一些信息,即使特征選的很好)

    • 可用人工選擇要保留的特征;
    • 模型選擇算法;

    2)正則化(特征較多時比較有效)

    • 保留所有特征,但減少θ的大小

    正則化方法

    正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項或懲罰項。正則化項一般是模型復雜度的單調遞增函數,模型越復雜,正則化項就越大。

    從房價預測問題開始,這次采用的是多項式回歸。左圖是適當擬合,右圖是過擬合。


    直觀來看,如果我們想解決這個例子中的過擬合問題,最好能將的影響消除,也就是讓。假設我們對進行懲罰,并且令其很小,一個簡單的辦法就是給原有的Cost函數加上兩個略大懲罰項,例如:


    這樣在最小化Cost函數的時候,。

    正則項可以取不同的形式,在回歸問題中取平方損失,就是參數的L2范數,也可以取L1范數。取平方損失時,模型的損失函數變為:


    lambda是正則項系數:

    • 如果它的值很大,說明對模型的復雜度懲罰大,對擬合數據的損失懲罰小,這樣它就不會過分擬合數據,在訓練數據上的偏差較大,在未知數據上的方差較小,但是可能出現欠擬合的現象;
    • 如果它的值很小,說明比較注重對訓練數據的擬合,在訓練數據上的偏差會小,但是可能會導致過擬合。

    正則化后的梯度下降算法θ的更新變為:


    正則化后的線性回歸的Normal Equation的公式為:



    其他優化算法

    • Conjugate gradient method(共軛梯度法)
    • Quasi-Newton method(擬牛頓法)
    • BFGS method
    • L-BFGS(Limited-memory BFGS)

    后二者由擬牛頓法引申出來,與梯度下降算法相比,這些算法的優點是:

    • 第一,不需要手動的選擇步長;
    • 第二,通常比梯度下降算法快;

    但是缺點是更復雜。

    ?

    多類分類問題

    對于多類分類問題,可以將其看做成二類分類問題:保留其中的一類,剩下的作為另一類。

    對于每一個類 i 訓練一個邏輯回歸模型的分類器,并且預測y = i時的概率;對于一個新的輸入變量x, 分別對每一個類進行預測,取概率最大的那個類作為分類結果:


    ??

    總結

    以上是生活随笔為你收集整理的逻辑回归详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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