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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逻辑回归的总结(详细步骤)

發(fā)布時間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑回归的总结(详细步骤) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是邏輯回歸?

邏輯回歸雖然名字中帶有回歸,但是并不是一個回歸模型,而是一個分類模型。邏輯回歸的目的就是解決分類問題,最常用的就是解決二分類問題。

邏輯回歸和線性回歸的關(guān)系

邏輯回歸(Logistic Regression)與線性回歸(Linear Regression)都是一種廣義線性模型(generalized linear model)。邏輯回歸假設(shè)因變量 y 服從伯努利分布,而線性回歸假設(shè)因變量 y 服從高斯分布。 因此與線性回歸有很多相同之處,去除Sigmoid映射函數(shù)的話,邏輯回歸算法就是一個線性回歸。可以說,邏輯回歸是以線性回歸為理論支持的,但是邏輯回歸通過Sigmoid函數(shù)引入了非線性因素,因此可以輕松處理0/1分類問題。
這廣義線性模型家族中的模型形式基本上都差不多,不同的就是因變量不同。

  • 如果是連續(xù)的,就是多重線性回歸;
  • 如果是二項分布,就是邏輯回歸;
  • 如果是Poisson分布,就是Poisson回歸;
  • 如果是負(fù)二項分布,就是負(fù)二項回歸;

邏輯回歸問題解決的常規(guī)步驟

1.尋找一個合適的預(yù)測函數(shù),一般是h函數(shù)(即hypothesis函數(shù))。這個函數(shù)就是我們要找分類函數(shù),用來預(yù)測輸入數(shù)據(jù)的判斷結(jié)果。這個過程很重要,需要對數(shù)據(jù)有一定的了解和分析,知道或猜測函數(shù)大概的形式,比如說是線性函數(shù)還是非線性函數(shù)。
2.構(gòu)造一個Cost函數(shù)(即損失函數(shù)),該函數(shù)用來表示預(yù)測函數(shù)(h)與訓(xùn)練數(shù)據(jù)類別(y)之間的偏差,可以將二者之間的差(h-y)或者差平方(h?y)2(h-y)^2h?y2或者其他的形式。綜合考慮所有的訓(xùn)練數(shù)據(jù)的“損失”,將Cost求和或者求平均,記為J(θ)J(\theta)J(θ)函數(shù),表示所有的訓(xùn)練數(shù)據(jù)預(yù)測值與實際類別的偏差。
3.想辦法使得J(θ)J(\theta)J(θ)最小并且求得最佳參數(shù)J(θ)J(\theta)J(θ)函數(shù)的值越小,表示預(yù)測函數(shù)越準(zhǔn)確(即h函數(shù)越準(zhǔn)確),所以要找到J(θ)J(\theta)Jθ函數(shù)的最小值。找函數(shù)的最小值有不同的方法,這里使用的是梯度下降法(Gradient Descent)。

具體過程

1.尋找h函數(shù)

邏輯回歸是一個分類方法,用于解決分類問題,常用于解決二分類問題,即輸出類別有兩種。在這里,我們要選用Sigmoid函數(shù)即:g(z)=11+e?zg(z)=\frac{1}{1+e^{-z}}g(z)=1+e?z1?簡單解釋下邏輯回歸模型為什么要用Sigmoid函數(shù)。
從指數(shù)族分布講起,指數(shù)族分布 (The exponential family distribution),區(qū)別于指數(shù)分布(exponential distribution)。在概率統(tǒng)計中,若某概率分布滿足下式,我們就稱之屬于指數(shù)族分布。
p(y;η)=b(y)exp(ηTT(y)?a(η))p(y;η)=b(y)exp(η^{T}T(y)?a(η))p(y;η)=b(y)exp(ηTT(y)?a(η))
其中η是natural parameter, T(y)是充分統(tǒng)計量, exp?a(η))是起到歸一化作用。 確定了T,a,b,我們就可以確定某個參數(shù)為η的指數(shù)族分布.
統(tǒng)計中很多熟悉的概率分布都是指數(shù)族分布的特定形式,如伯努利分布,高斯分布,多項分布(multionmal), 泊松分布等。下面介紹其中的伯努利分布。
伯努利分布
p(y;?)=?y(1??)1?yp(y;?)=?^y(1??)^{1?y}p(y;?)=?y(1??)1?y
=exp[ylog?+(1?y)log(1??)]=exp[ylog?+(1?y)log(1??)]=exp[ylog?+(1?y)log(1??)]
=exp[ylog?1??+log(1??)]=exp[ylog\frac{?}{1??}+log(1??)]=exp[ylog1????+log(1??)]

把伯努利分布可以寫成指數(shù)族分布的形式,且
T(y)=yT(y)=yT(y)=y
η=log?1??η=log\frac{?}{1??}η=log1????
a(η)=?log(1??)=log(1+eη)a(η)=?log(1??)=log(1+e^η)a(η)=?log(1??)=log(1+eη)
b(y)=1b(y)=1b(y)=1

同時我們可以看到?=11+e?η?=\frac{1}{1+e{?η}}?=1+e?η1? 就是logistic sigmoid的形式。
具體的解釋,可以看這篇文章 logistics 為什么用sigmoid函數(shù).
接下來需要確定數(shù)據(jù)劃分的邊界,對于圖1和圖2的兩種數(shù)據(jù)分布,顯然圖1需要一個線性的邊界,而圖2需要一個非線性的邊界。所以接下來我們只討論線性邊界。

圖1

圖2

對于線性邊界的情況,邊界形式如下:θ0+θ1x1+....+θnxn=∑i=0nθixi=θTx\theta_0+\theta_1x_1+....+\theta_nx_n =\sum_{i=0}^n\theta_ix_i =\theta ^Txθ0?+θ1?x1?+....+θn?xn?=i=0n?θi?xi?=θTx構(gòu)造預(yù)測函數(shù)為:hθ(x)=g(θTx)=11+e?θTxh_\theta(x)=g(\theta^Tx)=\frac {1}{1+e^{-\theta ^Tx}}hθ?(x)=g(θTx)=1+e?θTx1?
hθ(x)h_\theta(x)hθ?(x)函數(shù)的值有特殊的含義,它表示結(jié)果取1的概率,因此對于輸入x的分類結(jié)果為類別1和類別0的概率分別為:
P(y=1∣x;θ)=hθ(x)P(y=1|x;\theta)=h_\theta(x)P(y=1x;θ)=hθ?(x)
P(y=0∣x;θ)=1?hθ(x)P(y=0|x;\theta)=1-h_\theta(x)P(y=0x;θ)=1?hθ?(x)

2.構(gòu)造Cost函數(shù)

我們知道損失函數(shù)分為0-1損失,平方損失,絕對損失和對數(shù)似然損失(對數(shù)損失)。
在這里我們采用對數(shù)似然損失。當(dāng)然,損失函數(shù)都是人為選擇的,選擇什么損失函數(shù)都行。但是如果這里用最小二乘法作為損失函數(shù)的話,函數(shù)曲線是非凸的,不利于求解參數(shù)。而對數(shù)似然函數(shù)作為損失函數(shù)的話,曲線是凸的,方便求解。
根據(jù)對數(shù)似然損失函數(shù),有:
Cost(hθ(x),y)={?log(hθ(x))ify=1?log(1?hθ(x))ify=0Cost(h_\theta(x),y) = \begin {cases} -log(h_\theta(x)) & {if y=1} \\ -log(1-h_\theta(x)) &{if y=0} \end {cases} Cost(hθ?(x),y)={?log(hθ?(x))?log(1?hθ?(x))?ify=1ify=0?
根據(jù)伯努利分布,有p(y∣x;θ)=hθ(x)y(1?hθ(x))1?yp(y|x;\theta)=h_\theta(x)^y(1-h_\theta(x))^{1-y}p(yx;θ)=hθ?(x)y(1?hθ?(x))1?y
取似然函數(shù):
L(θ)=∏i=1mp(yi∣xi;θ)=∏i=1mhθ(xi)yi(1?hθ(xi))1?yiL(\theta)=\prod_{i=1}^m p(y^i|x^i;\theta)=\prod_{i=1}^mh_\theta(x^i)^{y^i}(1-h_\theta(x^i))^{1-y^i}L(θ)=i=1m?p(yixi;θ)=i=1m?hθ?(xi)yi(1?hθ?(xi))1?yi
對數(shù)似然函數(shù):
l(θ)=logL(θ)=∑i=1m[yilog(hθ(xi))+(1?yi)log(1?hθ(xi))]l(\theta)=logL(\theta)=\sum_{i=1}^m[y^ilog(h_\theta(x^i))+(1-y^i)log(1-h_\theta(x^i))]l(θ)=logL(θ)=i=1m?[yilog(hθ?(xi))+(1?yi)log(1?hθ?(xi))]
最大似然估計就是要求l(θ)取最大值時的θl(\theta)取最大值時的\thetal(θ)θ,故將J(θ)=?1ml(θ)J(\theta)=-\frac{1}{m}l(\theta)J(θ)=?m1?l(θ),即
J(θ)=?1m∑i=1m[yilog(hθ(xi))+(1?yi)log(1?hθ(xi))]J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^ilog(h_\theta(x^i))+(1-y^i)log(1-h_\theta(x^i))]J(θ)=?m1?i=1m?[yilog(hθ?(xi))+(1?yi)log(1?hθ?(xi))]
所以J(θ)取最小值時的θ為要求的最佳參數(shù)J(\theta)取最小值時的\theta為要求的最佳參數(shù)J(θ)θ數(shù)

3.梯度下降法求J(θ)J(\theta)J(θ)的最小值

求參優(yōu)化也有不同的方法如梯度下降法,擬牛頓法等方法可以使用,在這里我們用梯度下降法。
梯度下降公式如下:
θj:=θj?αδδθjJθ,(j=0,1,2,....,n)\theta_j:=\theta_j-\alpha\frac{\delta}{\delta\theta_j}J\theta,(j=0,1,2,....,n)θj?:=θj??αδθj?δ?Jθ,(j=0,1,2,....,n)式子中α為學(xué)習(xí)步長\alpha為學(xué)習(xí)步長α學(xué)習(xí),下面來求偏導(dǎo):

上面求解過程中用到的公式有:

因此,梯度下降公式可以更新為:

【參考文獻】
  • [Stanford機器學(xué)習(xí)公開課](https://www.coursera.org/course/ml)
  • https://blog.csdn.net/xiaoxiangzi222/article/details/55097570
  • 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的逻辑回归的总结(详细步骤)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。