邏輯回歸 LR模型

2021-09-24 12:39:04 字數 2752 閱讀 6678

邏輯回歸演算法相信很多人都很熟悉,也算是我比較熟悉的演算法之一了,畢業**當時的專案就是用的這個演算法。這個演算法可能不想隨機森林、svm、神經網路、gbdt等分類演算法那麼複雜那麼高深的樣子,可是絕對不能小看這個演算法,因為它有幾個優點是那幾個演算法無法達到的,一是邏輯回歸的演算法已經比較成熟,**較為準確;二是模型求出的係數易於理解,便於解釋,不屬於黑盒模型,尤其在銀行業,80%的**是使用邏輯回歸;三是結果是概率值,可以做ranking model;四是訓練快。當然它也有缺點,分類較多的y都不是很適用;對於自變數的多重共線性比較敏感,所以需要利用因子分析或聚類分析來選擇代表性的自變數;另外**結果呈現s型,兩端概率變化小,中間概率變化大比較敏感,導致很多區間的變數的變化對目標概率的影響沒有區分度,無法確定閾值。下面我先具體介紹下這個模型。

一、邏輯回歸lr介紹

首先要搞清楚當你的目標變數是分類變數時,才會考慮邏輯回歸,並且主要用於兩分類問題。舉例來說醫生希望通過腫瘤的大小x1、長度x2、種類x3等等特徵來判斷病人的這個腫瘤是惡性腫瘤還是良性腫瘤,這時目標變數y就是分類變數(0良性腫瘤,1惡性腫瘤)。顯然我們希望像保留像線性回歸一樣可以通過一些列x與y之間的線性關係來進行**,但是此時由於y是分類變數,它的取值只能是0,1,或者0,1,2等等,不可能是負無窮到正無窮,這個問題怎麼解決呢?此時引入了乙個sigmoid函式,這個函式的性質,非常好的滿足了,x的輸入可以是負無窮到正無窮,而輸出y總是[0,1],並且當x=0時,y的值為0.5,以一種概率的形式表示. x=0的時候y=0.5 這是決策邊界。當你要確定腫瘤是良性還是惡性時,其實我們是要找出能夠分開這兩類樣本的邊界,叫決策邊界。

而通過sigmoid函式,可以將我們喜歡的線性表示的函式嵌入其中,當theta*x得到的值大於0,則h(x)得到的概率值大於0.5時,表明屬於該分類;當theta*x得到的值小於0,則h(x)小於0.5時表示不屬於該分類。這樣也就形成了我們看到的邏輯回歸,具體如下:

其中theta是向量,

二、邏輯回歸估計(最小化損失函式loss function

損失函式是在機器學習中最常出現的概念,用於衡量均方誤差[(模型估計值-模型實際值)^2/ n]最小,即**的準確性,因而需要損失函式最小,得到的引數才最優。(線性回歸中的最小二乘估計也是由此而來)但因為邏輯回歸的這種損失函式非凸,不能找到全域性最低點。因此,需要採用另一種方式,將其轉化為求最大似然,如下,具體的推導求解過程可參見部落格 另一種較為好理解的方式是,如果y=1,你膽敢給出乙個h(x)很小的概率比如0.01,那麼損失函式就會變得很大:

此時的損失函式變成了凸函式,theta的求解,就是梯度下降法求最小值,此時加入的正則化項,是解決過擬合問題。(過擬合問題:如果我們的模型有非常多的特徵,模型很複雜,模型對原始資料的擬合效果很好,但是喪失一般性,對新的待**變數**效果很差。(聽過寒小陽老師舉過乙個很好理解的例子,就是這個學生只是強硬的記住題目,並沒有掌握規律,高考不一定考的好)怎麼解決呢?限制引數寺塔,損失函式加上關於theta的限制,即如果theta太多太大,則就給予懲罰。l2正則化。)

該公式將一直被迭代執行,直至達到收斂(

三、lr應用經驗

如果連續變數,注意做scaling,縮放單位即標準化。lr對樣本分佈敏感,所以要注意樣本的平衡性(y=1不能太少)樣本量足的情況下採用下取樣,不足的情況用上取樣。

lr對於特徵處理非常重要,常用處理手段包括,通過組合特徵引入個性化因素(fm,ffm);注意特徵的頻度;聚類、hash。但lr不怕特徵大,gbdt比較怕。對於連續變數的離散化,可以用cart檢視離散的結果,生成新的特徵,再用lr。

lr和fm對於稀疏高維特徵處理是無壓力的,gbdt對於連續值自己會找到合適的切分點,xgboost也可以處理category型別的feature,無需one-hot,平展開的高維稀疏特徵對它沒好處。

演算法調優方面,選擇合適的正則化,正則化係數,收斂閾值e,迭代輪數,調整loss function給定不同權重;bagging或其他方式的模型融合;最優演算法選擇(『newton-cg』,』lbfgs』, 『liblinear』);bagging或其他模型融合。sklearn中的lr實際上是liblinear的封裝。

模型的評價主要用roc曲線。roc(接受者操作特徵)曲線實際上是對概率輸出設定了乙個門檻d,當p(c|x)>d時,事件c為真,  而roc曲線反映了,在一系列可能門檻值下,真正率( tpr)和假正率(fpr)的值,乙個好的模型必須在乙個高的真正率( tpr)和乙個低的假正率(fpr)中取得乙個折衷水平,roc曲線下的面積越大越好,最大為1. 

機器學習 邏輯回歸(LR)

1.模型介紹 logistic regression 雖然被稱為回歸,但其實際上是分類模型,並常用於二分類。logistic regression 因其簡單 可並行化 可解釋強深受工業界喜愛。在正式介紹模型之前,先聊一聊logitstic分布。1.1 邏輯斯諦分布 logistic distribu...

邏輯回歸模型 SAS邏輯回歸模型訓練

邏輯回歸模型是金融信貸行業製作各類評分卡模型的核心,幾乎80 的機器學習 統計學習模型演算法都是邏輯回歸模型,按照邏輯美國金融公司總結的sas建模過程,大致總結如下 一般通用模型訓練過程 a 按照指定需求和模型要求製作driver資料集,包含欄位有user id,dep b 其中,空值賦預設值即 c...

分類演算法(4) 邏輯回歸(LR)

lr模型屬於廣義線性模型,將特徵空間對映成一種可能性。損失函式 邏輯回歸函式 演算法流程 實現 設定迭代次數為500次,每次迭代,對每個訓練文字都更新一次w 的方法是 先將訓練文字與w相乘得到z,再判斷g z 是否大於等於0.5 在pla的 基礎上進行修改就可以得到lr 資料集格式為 第一行為58個...