邏輯迴歸是用在分類問題中,而分類爲題有存在兩個比較大的方向:分類的結果用數值表是,好比1和0(邏輯迴歸採用的是這種),或者-1和1(svm採用的),還有一種是以機率的形式來反應,經過幾率來講明此樣本要一個類的程度即機率。同時分類問題經過適用的場合能夠分爲:離散和連續,其中決策樹分類,貝葉斯分類都是適用離散場景,可是連續場景也能夠處理,只是處理起來比較麻煩,而邏輯迴歸就是用在連續特徵空間中的,並把特徵空間中的超平面的求解轉化爲機率進行求解,而後經過幾率的形式來找給出分類信息,最後設置一個閾值來進行分類。算法
首先咱們要明白,咱們要解決的問題:給你一批數據,這一批數據特徵都是連續的,而且我還知道這批數據的分類信息(x,y),x爲特徵,y爲類別,取值爲:0或者1。咱們想幹什麼,想經過這批數據,而後再機器學習
給一個新的數據x,這個數據只存在特徵,不存在類別,咱們想給出分類的結果,是0仍是1。下面爲了方便,咱們以二維空間的點爲例進行說明。ide
遇到這個問題時,咱們首先作的是把數據的特徵放到空間中,看有沒有什麼好的特色。以下,從網上取的圖。函數
這些是二維空間的點,咱們想在空間中找到一個超平面,在二維空間中超平面的爲一條直線f(x),當咱們帶入數據時:學習
就是咱們所要求的的直線。那麼找這個直線怎麼找,在機器學習中,咱們要找的是一個學習模型,而後經過損失函數來進行模型參數的求解。那麼對於邏輯迴歸,求邏輯迴歸的參數就是w和b,那麼這個損失函數應該怎麼設置。給一條數據,咱們但願,他距離這個直線越遠咱們越能夠認爲可以很好的進行分類,即屬於這個類的可信度就越高。那麼咱們就須要有一個函數來反應這個狀況啊,古人也很聰明啊,使用了logistics函數:spa
並且這個函數又很是的好,f(x)來衡量數據距離超平面的距離二維中是直線,他被成爲函數間隔,f(x)是有正負的,上圖中,在直線上面的點發f(x)是負的,相反位於其下的點事正的。這個爲何?是解析幾何的最基本的一些性質了。3d
是直線,而不在這個直線上的點f(x)是帶入後,實際上是不等於0的,可是有規律,則就能夠經過這個規律來進行劃分分類。以上面的圖爲討論對象,位於上方的點是負的,爲與下方的點是正的,那麼當f(x)爲正,愈來愈大,則說明點在直線的下方愈來愈靠下,那麼他分爲一個類的可能性是否是越大啊,相反,在上方的時候,f(x)是負的,愈來愈遠的時候,是否是越靠近另外一個類啊。那麼logistics函數不就是反應了這個現象嗎?咱們類別設置成0或者1,當f(x)正向最大時爲1,f(x)負向最大時爲0,多好。下面給一下logistics的圖像(網上盜圖):orm
這個函數是否是能夠反應出咱們所說的狀況。其中f(x)就是咱們logistics函數的x軸的值。y能夠是一個程度,h越大,則說明其分爲正類1的可能性越大,h越小,則說明分爲負類0可能性越大。那麼在數學中可能性的度量是什麼?機率啊,logistics函數的大小恰好是[0,1]之間的,多好啊。那麼咱們之前的求直線問題就轉化爲求以下的函數:對象
把之前的問題就轉化爲求機率的問題
爲何把y放上面,我認爲這只是數學上的一種表示形式,給一個特徵樣本,要麼屬於0類的,要麼屬於1類的,在不知道的狀況下這樣表示和最後知道類別獲得的機率是同樣的嘛。變化後的logistics函數其中的參數也只是包含w和b,那麼咱們求解超平面轉化爲了求解h函數,在機率問題中,求解最優化的損失函數是誰?這又涉及到另一個問題,個人數學模型已經有了,數學模型中包含一些參數,我須要進行抽樣,獲得這個問題的一些樣本,理由這些樣原本對參數進行估計,對參數估計時須要一個損失函數。機率問題最優化的損失函數通常用的是最大似然函數,也就是經過最大似然估計進行計算。這樣你們又會問,最大似然估計最大化的是什麼?只有知道最大化的是什麼的時候,咱們才能構造出似然函數啊。剛纔咱們說了進行參數估計時,咱們須要一個樣本,那麼最大似然函數最大化的是這個樣本出現的機率最大,從而來求解參數。可能有點抽象,在樣本空間中,樣本空間的數據很大,咱們想獲得含有n個對象的樣本,這樣含有n個的樣本是否是有不少不少,不一樣的人獲得的樣本數據也不同,那麼在咱們已經獲得了這n個樣本的狀況下,咱們進行參數估計,最大似然估計最大化的是咱們已經獲得的樣本在整個樣本空間中出現的機率最大,從而來求解參數。
經過上面的討論,咱們很容易構造出咱們的似然函數:
這就很簡單了,把上面的似然函數對數化,即:
通常有數學基礎的人都會知道咱們這個下面就是求導唄,如今的x和y都是已知的只有w是未知的,咱們要求的是找到w是咱們抽到這個樣本的機率最大。可是有一個問題,這樣無緣無故的求的w不必定是咱們這個樣本中最優的啊,不是讓咱們在整個樣本空間中進行求導,而是咱們有一個樣本,在這n個樣本中找到咱們最想要那個的w,這個用什麼啊,這種搜索算法最經常使用的就是梯度降低啊,沿着梯度的負方向來找咱們想要的點。
一、圖中的i表示的是第i個記錄,j表示的一個記錄中的第j個特徵份量
二、上面的推導中1→ 2爲何有求和,然後又不存在了啊,這個是和梯度降低法有關係的,梯度降低法就是在當前點下找到一個梯度最大的點做爲下一個可使用的,全部在1到2中,去掉了求和號
三、2→ 3的推導是根據logistics函數的性質獲得的。
若是這仍是不懂,那沒有辦法了。