在廣告推薦系統中,利用用戶和廣告之間的信息作爲預測的特徵
預測的過程其實就是一個二分類的問題,主要就是判定一個用戶對這個廣告點擊或者是不點擊的概率是多少
而這個過程是一個伯努利函數,整個過程是一個伯努利分佈
而在邏輯迴歸中主要是在線性迴歸的基礎上利用了一個邏輯函數sigmod,而爲什麼要用這個函數,邏輯迴歸與線性迴歸之間的關係:
1 廣義線性模型:
指數家族分佈:
是廣義線性模型的基礎,所以先簡單瞭解一下指數分佈族。
當固定T時,這個分佈屬於指數家族中的哪種分佈就由a和b兩個函數決定。 自然參數η
是分佈的參數。
同事廣義線性模型需要滿足三個條件:
如何構建GLM呢?在給定x和參數後,y的條件概率p(y|x,θ) 需要滿足下面三個假設:
assum1) y | x; θ ∼ ExponentialFamily(η). 參數x,y必須是符合指數家族分佈的情況
assum2) h(x) = E[y|x]. 即給定x,目標是預測T(y)的期望,通常問題中T(y)=y.
模型預測輸出仍然可以認爲是E[Y](實際上是E[T(Y)],y的分佈不一定是高斯分佈還有很多的別的分佈,E[Y]和η=θTx也不一定是簡單的相等關係,它們的關係用η=g(E[Y])描述,稱爲連接函數,其中η稱爲自然參數。
assum3) η = θTx,即η和x之間是線性的
2 邏輯迴歸函數:
當固定T時,這個分佈屬於指數家族中的哪種分佈就由a和b兩個函數決定。下面這種是伯努利分佈,對應於邏輯迴歸問題,其中的
注:從上面可知
從而,在後面用GLM導logistic regression的時候會用到這個sigmoid函數,而且從伯努利分佈和邏輯迴歸對應的伯努利分佈比較這個值就是對應的h函數。
在輸出函數的時候 邏輯迴歸:以二分類爲例,預測值y是二值的{1,0},假設給定x和參數,y的概率分佈服從伯努利分佈(對應構建GLM的第一條假設,根據構建GLM的第2、3條假設可model表示成:
3 線性迴歸問題:
經典線性迴歸:預測值y是連續的,假設給定x和參數,y的概率分佈服從高斯分佈(對應構建GLM的第一條假設)。由上面高斯分佈和指數家族分佈的對應關係可知,η=µ,根據構建GLM的第2、3條假設可將model表示成:
4 補充說一下線性迴歸的計算方法(邏輯迴歸之後單獨計算)
http://blog.csdn.net/star_liux/article/details/39646115
可以利用梯度下降最小化損失函數,也可以利用最小二乘法:
梯度下降方法:
損失函數,之後 每次迭代,我們用當前的求出求出等式右邊的值,並覆蓋得到迭代後的值。
這裏
最小二乘法:
就是直接將所有樣本的誤差的方差相加,求其最小值,求最小值的方法也就是利用求導爲0的方法:
這裏需要理解一下最小二乘法和最大後驗概率之間的區別:
最小二乘法主要是從訓練樣本中獲取了n個樣本,然後擬合出來一堆係數,讓x和y最接近,這是距離上的接近。
而最大後驗概率是獲得參數讓這些樣本出現的概率最大。是一個概率方面的問題。
所以總結:邏輯迴歸和線性迴歸都是由廣義線性模型推導出來的,之所以會有不同的形式,主要是因爲數據的分佈不用,在數據的分佈是類似高斯分佈的時候是線性迴歸,在伯努利分佈的時候是邏輯迴歸,同時還會有泊松分佈等等。 廣義線性模型的應用最廣泛的的是邏輯迴歸和泊松迴歸。邏輯迴歸將因變量建模爲伯努利分佈,輸出是二值的,通常用來做二分類。泊松迴歸將因變量的分佈建模爲泊松分佈,一般用來預測類似顧客數目、一個時間段內給定事件發生數目的問題。另外,對於多分類問題,將因變量建模爲多項分佈也是一個廣義線性模型。
5 爲什麼會有邏輯迴歸
線性迴歸用於二分類時,首先想到下面這種形式,p是屬於類別的概率:
但是這時存在的問題是:
1)等式兩邊的取值範圍不同,右邊是負無窮到正無窮,左邊是[0,1],這個分類模型的存在問題
2)實際中的很多問題,都是當x很小或很大時,對於因變量P的影響很小,當x達到中間某個閾值時,影響很大。即實際中很多問題,概率P與自變量並不是直線關係。
所以,上面這分類模型需要修整,怎麼修正呢?統計學家們找到的一種方法是通過logit變換對因變量加以變換,具體如下:
從而,
這裏的P完全解決了上面的兩個問題。
參考: