我的邏輯回歸認知

2021-06-23 00:03:28 字數 2192 閱讀 7635

1.是什麼:

邏輯回歸(logistic regression)是用以解決分類的一種演算法。最常用。(機器學習效果的好壞並不在於模型的難易,沒有好到通殺的模型,只有適合的模型。另外資料集梳理的好壞,有時比學習模型更加重要)。

2.從哪來:

從線性回歸(linear regression)來,若用線性回歸對乙個樣本點比較集中的訓練集進行擬合,是可以通過選取「中點」(下圖中間的那個粉點,中點是y軸的中點),以此**分類(**時以中點投影到x軸的x點為基準)。如下圖所示:

但缺點在於,如果有噪點,如下圖最右邊的那個「飛出去」的點。會致使分類**出現偏差。

因此需要乙個更適合的模式學習方法,並進行**分類。引出了邏輯回歸。雖然同為lr,但是更側重分類。

3.怎麼做:

1)首先,為了解決線性回歸不能解決的問題。引入乙個更適合用作分類的函式h(x)。它要滿足以下特質:

y=1, h(x)>0.5

y=0, h(x)<=0.5

這裡,h(x)可以等同於認為是我們**的x = 1的概率。

滿足這個要求的函式需要長成什麼樣呢?下邊這個如何:x >=  0  ---> h(x) = 1; x < 0 ---> h(x) = 0

為什麼是這函式?

因為代價函式是認為設計的,目的是使其符合實際。什麼樣的實際?

1.當 y = 1 && h(x) = 1 或 y = 0 && h(x) = 0,即**對了的時候,代價函式cost應該等於0;

2.當 y = 0 && h(x) = 1 或 y = 1 && h(x) = 0,即**錯了的時候,代價函式cost應該為乙個比較大的值,來懲罰這次錯誤。

遍歷符合以上兩點的方程,發現 y = -log(x)是乙個不錯的選擇,先看一下 y = log(x)的圖形:

因為底數預設為10, 因此我們只看紅線。y = - log(x)的話就將紅線翻到x軸上邊。又知道h(x)不可能 > 1(概率),可得到如下的樣子:

看一下它的特徵,若真實結果y = 1, 當h(x) = 1時,cost = 0;當x = 0時,cost = 無窮大。

同理,若真實結果y = 0,可以用 y = -log(1-x)來描述,樣子如下:

以上解釋了代價函式的選擇,用一行來表示:

其中m為樣本數,j為所有樣本的代價和。

3)有了代價函式,問題只剩下如何去找一組係數 theta,使得j 最小。與線性回歸一樣,可以實用梯度下降的方法來進行最優化。

逐次迭代,得到最優theta集。上圖中藍色手寫體為對j對theta j求導的結果,自己推導了一遍。

帶入repeat過程,得到如下引數更新過程:

其中1 / m 和 alpha 合成為新的 alpha。

然後發現,這個引數更新過程和線性回歸中使用的是一模一樣的。看來不僅是名字一樣。

剩下的就是迭代了,迭代至什麼情況結束呢?1.迭代夠我們指定的次數;或者 2. j小於乙個我們設定的閾值。

向量化的迭代過程如下:

跑個題,一張**釋為什麼梯度下降可以實現最優化。

邏輯回歸 最基礎的線性邏輯回歸詳解

線性邏輯回歸是最基礎,也是最基本的線性模型,也就是說理解該模型,對於後續其他線性模型的研究有重要意義。所以今天找了時間專門回憶了一下。一 什麼是回歸,什麼是邏輯回歸?用一條直線對資料點進行擬合,擬合過程稱為回歸。logistic回歸 根據現有資料對分類邊界線建立回歸公式,以此進行分類。二 如何建立回...

邏輯回歸的回顧

1 模型函式 2 啟用函式 3 單個訓練資料的損失函式 衡量概率與y到底有多接近 4 m個訓練資料的損失 5 為什麼這裡損失函式是這樣的。因為這裡 是值是概率,所以用線性回歸的損失函式方法不合適 為什麼不合適?因為用那種方法求得的函式不是凸函式,會有多個極值 那麼這裡的損失函式為什麼寫成這樣呢?這裡...

邏輯回歸的例項

案例背景和目標 import pandas as pd import matplotlib.pyplot as plt import numpy as np data pd.read csv creditcard.csv print data.head 樣本不均衡解決方案 count classes...