1. 程式人生 > >Logistic迴歸的基本思想與公式推導

Logistic迴歸的基本思想與公式推導

講前小碎話

Logistic迴歸是一種線性分類模型,通常用來解決線性二分類或多分類問題。無論是在李航老師的《統計機器學習》書中,還是在吳恩達老師的機器學習課程中,都是先假設隨機變數x服從Logistic分佈,即有如下的分佈函式和概率密度函式:

F(x) = P(X\leq x) = \frac{1}{1+e^{-(x-\mu)/y}}

f(x)=F^{^{'}}(x) = \frac{e^{-(x-\mu)/y}}{\gamma (1+e^{-(x-\mu)/\gamma})^{2}}

可是為什麼定義這樣的分佈函式和概率密度函式,對於初學者來說,還是很難理解的。我們從Logistic迴歸的來源(也就是從貝葉斯學習發展來的)來理解其的基本思想,會讓人明白很多!

對數似然比假設

後驗概率:p(w|x)在x條件下,事件w發生的概率。後驗概率 = 先驗概率 × 類別條件概率。對於分類問題,當屬於某一類的後驗概率最大時,判斷為該類別。

p(w|x)=p(x|w)p(w)

機率:

一個事件的機率,是指該事件發生的概率與該事件不發生的概率的比值,事件發生的概率為p,則該事件的對數機率為\frac{p}{1-p}。Logistic迴歸的對數機率函式為log\frac{p}{1-p}

貝葉斯分類器極大似然估計:對於貝葉斯分類器來說,極大似然估計引數時的似然函式為\Pi p(x_{i}|w)(頻率派的做法,可以先看一下貝葉斯學習的極大似然估計法~),引數估計時對其進行最大化。

線性判別函式:對於線性分類器來說:線性判別函式是分類超平面的數學公式表示。

線性判別函式:g(x)=\Sigma w_{i} x_{i}+ w_{0}=w^{T}x+ w_{0}

分類超平面:g(x)=w^{T}x+ w_{0} = 0

線性判別:if w^{T}x+ w_{0} > 0  assign x to w_{1} ; if w^{T}x+ w_{0} < 0 assign x to w_{2}

對數機率似然假設:假設似然比(likelihood ratio)的對數為線性判別函式。(是先有的這個假設,才有的sigmoid函式,以及Logistic迴歸的一系列公式)。

log(\frac{p(x|w)}{1-p(x|w)}) = \beta^{T}x+\beta _{0},帶入貝葉斯公式,推導得到log(\frac{p(w|x)}{1-p(w|x)}) = w ^{T}x+w _{0}(注意\betaw是不同的,應該差了一個常數倍數)。

log(\frac{p}{1-p}) = w^{T}x+ w_{0},計算p得:p=\frac{1}{1+e^{-(w^{T}x+w_{0})}}。令\nu=w^{T}x+w_{0},得: p=\frac{1}{1+e^{-\nu }},即為x屬於某一類w的概率。而Logistic迴歸的h(x^{(i)})=p

引入sigmoid函式

在這裡就不贅述了,sigmoid函式公式:

f(x) = \frac{1}{1+e^{-x}},函式影象如下,即當計算得到的x屬於w_{1}的概率大於0.5時,屬於標籤w_{1}類,否則屬於w_{2}類(二分類問題)。

image

\nu=w^{T}x+w_{0}越大時,x離分類超平面w^{T}x+w_{0}=0越遠,將其判斷為這一類的概率越大,即p越接近於1。

求引數的方式

最大似然估計求引數

求引數\theta =(w_{0},w_{1},w_{2}....w_{n}),可採用最大似然估計法求解。

對數似然: 

L(\theta)=log(\Pi p(y^{(i)}|x^{(i)};\theta))

= \Sigma log((h_{\theta}(x^{(i)})^{y(i)}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}})

=\Sigma y^{(i)}log(h(x^{(i)})) + (1-y^{(i)})log(1-h(x^{(i)}))

 求取L(\theta)的最大值,即為求-L(\theta)的最小值,可以採用梯度下降法求解。

定義Cost function

在吳恩達老師的機器學習課程中,是這樣引入Logisti迴歸的cost fnction的:

線上性迴歸中,我們常用的損失函式為平方損失函式,即:

cost(h(x^{(i)}),y(x^{(i)})) = \frac{1}{2}(h(x^{(i)})-y(x^{(i)}))^{2},則總損失:

J(\theta)=\frac{1}{m}\Sigma \frac{1}{2}(h_{\theta}(x^{(i)})-y(x^{(i)}))^{2}

此時的J(\theta)為一非凸函式,無法採用梯度下降的方法求得最優解,因此採用另一種cost function:

cost(h(x^{(i)}), y(x^{(i)}))=\begin{cases} -log(h(x^{(i)}))& \text{ if } y^{(i)}= 1\\ -log(1-h(x^{(i)}))& \text{ if } y^{(i)}= 0 \end{cases}

注意:該cost function是從最大似然估計法得來的!

此時計算得到的J(\theta)如下:

J(\theta)=-\Sigma (y^{(i)}log(h(x^{(i)})) + (1-y^{(i)})log(1-h(x^{(i)}))),為凸函式,可以通過梯度下降方法求得最小值。函式圖如下:

梯度下降求引數

在這裡就不詳細推導了,具體可以看梯度下降的相關知識~

參考文獻

【1】周志華,機器學習,清華大學出版社,2016.

【2】中國科學院大學《機器學習》課程課件, Chapter3 Liner Classification.

相關推薦

Logistic迴歸基本思想公式推導

講前小碎話 Logistic迴歸是一種線性分類模型,通常用來解決線性二分類或多分類問題。無論是在李航老師的《統計機器學習》書中,還是在吳恩達老師的機器學習課程中,都是先假設隨機變數x服從Logistic分佈,即有如下的分佈函式和概率密度函式: 可是為什麼定義這樣的

卡爾曼濾波(Kalman Filter)原理公式推導

公式推導 領域 公式 不一定 技術 精度 原理 應用 定性 一、背景---卡爾曼濾波的意義 隨著傳感技術、機器人、自動駕駛以及航空航天等技術的不斷發展,對控制系統的精度及穩定性的要求也越來越高。卡爾曼濾波作為一種狀態最優估計的方法,其應用也越來越普遍,如在無人機、機器人等領

卡爾曼濾波基本原理及公式推導

一、卡爾曼濾波基本原理 既然是濾波,那肯定就是一種提純資料的東西。怎麼理解呢,如果現在有一個任務,需要知道家裡橘子樹今年長了多少個橘子。你想到去年、前年、大前年這三年你把橘子吃到過年,按每天吃3個來算,大概知道每年橘子樹產了多少橘子,今年的情況應該也差不多。這叫數學模型預測法;不過你懶得去想去年

機器學習:SVM(一)——線性可分支援向量機原理公式推導

原理 SVM基本模型是定義在特徵空間上的二分類線性分類器(可推廣為多分類),學習策略為間隔最大化,可形式化為一個求解凸二次規劃問題,也等價於正則化的合頁損失函式的最小化問題。求解演算法為序列最小最優化演算法(SMO) 當資料集線性可分時,通過硬間隔最大化,學習一個線性分類器;資料集近似線性可分時,即存在一小

快速排序(QuickSort)基本思想分析

快速排序(QuickSort) 快速排序: 首先上圖:     從圖中我們可以看到: left指標,right指標,base參照數。 其實思想是蠻簡單的,就是通過第一遍的遍歷(讓left和right指標重合)來找到陣列的切割點。 第一步:首先我們從陣列的lef

BP演算法公式推導

         BP(backpropgationalgorithm ):後向傳導演算法,顧名思義就是從神經網路的輸出(頂層)到輸入(底層)進行求解。那麼求解什麼呢,求解的就是神經網路中的引數的導數,即引數梯度方向,從而就可以使用梯度下降等求解無約束問題(cost fun

二分查詢法的基本思想實現程式碼

二分查詢法思想: 二分查詢法又稱夾逼法,二分查詢法使用的基本條件是一個有序的陣列,通過從陣列頭部和尾部折半,判斷要查詢的數和mid位置數值的大小,來判斷要查詢的數實在那一半,之後繼續折半查詢,直至找到這個數或者最後小端大於大段則結束查詢 二分查詢法程式碼:#include

分治法的基本思想例子解析

    分治法的設計思想:將一個難以直接解決的大問題,分割成一些規模較小的相同問題,以便各個擊破,分而治之。     凡治眾如治寡,分數是也。——孫子兵法 1.基本思想 (1) 將求解的較大規模

記憶體管理的基本思想演算法

介紹作業系統是如何來管理記憶體資源。 層次化儲存體結構 計算機的儲存體系 暫存器(register) 在CPU內部,非常快速,昂貴 快取記憶體(cache) 非常快速,昂貴,容量小,易失性 主存(RAM) 中等速度,中等價格,易失性

線性模型之邏輯迴歸(LR)(原理、公式推導、模型對比、常見面試點)

參考資料(要是對於本文的理解不夠透徹,必須將以下部落格認知閱讀,方可全面瞭解LR): (1).https://zhuanlan.zhihu.com/p/74874291 (2).邏輯迴歸與交叉熵 (3).https://www.cnblogs.com/pinard/p/6029432.html (4).htt

機器學習 | 詳解GBDT在分類場景中的應用原理公式推導

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天是**機器學習專題**的第31篇文章,我們一起繼續來聊聊GBDT模型。 在上一篇文章當中,我們學習了GBDT這個模型在迴歸問題當中的原理。GBDT最大的特點就是對於損失函式的降低不是通過調整模型當中已有的引數實現的,若是通過

Logistic迴歸原理及公式推導

Logistic迴歸為概率型非線性迴歸模型,是研究二分類觀察結果與一些影響因素之間關係的一種多變量分析方法。通常的問題是,研究某些因素條件下某個結果是否發生,比如醫學中根據病人的一些症狀來判斷它是否患有某種病。   在講解Logistic迴歸理論之前,我們先從LR分類器說起。LR分類器

線性模型,線性迴歸,對數機率迴歸(Logistic regression)的理解推導(深度學習前戲( ╯□╰ ))

對數機率迴歸(logistic regression),有時候會譯為邏輯迴歸(音譯),其實是我們把迴歸模型應用到分類問題時,線性迴歸的一種變形,主要是針對二分類提出的。既然是線性迴歸的一種變形,那麼在理解對數機率迴歸時,我們先來了解一下什麼是線性迴歸。 1.線性迴歸 1. 1線性方程

Logistic 迴歸數學公式推導

1. 引言 此前的部落格中,我們已經介紹了幾個分類演算法。 k 近鄰演算法 決策樹的構建演算法 – ID3 與 C4.5 演算法 樸素貝葉斯演算法的推導與實踐 本文介紹的是另一個分類演算法 – 

logistic邏輯迴歸公式推導及R語言實現

Logistic邏輯迴歸 Logistic邏輯迴歸模型 線性迴歸模型簡單,對於一些線性可分的場景還是簡單易用的。Logistic邏輯迴歸也可以看成線性迴歸的變種,雖然名字帶回歸二字但實際上他主要用來二分類,區別於線性迴歸直接擬合目標值,Logistic邏輯迴歸擬合的是正類和負類的對數機率。 假設有一個二分類問

logistic regression(LR)對數機率迴歸 / 邏輯迴歸 公式推導

因為是傻瓜式教程,所以一定會非常詳細!一些概念link到了Wiki的相應解釋上。  歡迎捉蟲~! 二分類和迴歸的關係 考慮x⇒y 表示的二分類或迴歸問題,其中x 是輸入,y 是輸出。  1. 在二分類中,y 的值取0或1,代表被分為正類或負類。在迴歸中,y 的取值為連續值。  2. 線上

邏輯迴歸(Logistic Regression)詳解,公式推導及程式碼實現

邏輯迴歸(Logistic Regression) 什麼是邏輯迴歸:   邏輯迴歸(Logistic Regression)是一種基於概率的模式識別演算法,雖然名字中帶"迴歸",但實際上是一種分類方法,在實際應用中,邏輯迴歸可以說是應用最廣泛的機器學習演算法之一 迴歸問題怎麼解決分類問題?   將樣本的特徵和

面向對象設計的思想基本概念

拼圖 方式 組合 面向 概念 接口 繼承 問題 分而治之 ##軟件的根本問題###建模###次要問題1.復雜性2.隱匿性3.配合性4.易變性 ##基本思想(復雜性)###分而治之;###拼圖思想;###分拆與組合; ##軟件的基本要素###組件###聯系 ##軟件生長的方式

Java進階面試題列表 面向對象編程的基本理念核心設計思想

編程 ber 異同 lar domain spring 日常 beans erl 解釋下多態性(polymorphism),封裝性(encapsulation),內聚(cohesion)以及耦合(coupling)。 繼承(Inheritance)與聚合(Aggregati

初識C語言之基本編程思想基本概念掃盲

預編譯 mingw 1.5 集成開發環境 運算 集成 思想 多任務 運行程序 h3 { margin-top: 0.46cm; margin-bottom: 0.46cm; direction: ltr; line-height: 173%; text-align: jus