邏輯回歸 Logistic Regression

2022-07-15 05:03:13 字數 1445 閱讀 5598

目錄

總結關於邏輯回歸的原理呢,大家可以參照一下我以前的文章線性回歸,當然,下面也會進行一些介紹。

像線性回歸一樣,咱們先看一下邏輯回歸的分類情況(以鳶尾花資料集為例):

看到這裡,你可能開始困惑了,沒關係,往下看

對於邏輯回歸來說,其餘線性回歸相同的是,他使用的也是\(wx+b\),只不過他最終的**結果是使用sigmoid函式進行轉換後的,sigmoid函式轉換後,分為大於0.5和小於0.5兩種,分別代表了兩個類別。sigmoid可以參考各種啟用偶函式

下面,看一下sigmoid函式:

\[f(x)=\frac}

\]接下來看一下他的影象:

大家可以看到,sigmoid函式會將所有的數值轉化到0和1之間,你可以將其簡單的理解為該資料被判定為正樣本的概率(所謂正樣本就是標籤為1的樣本,負樣本就是標籤為0的樣本),根據sigmoid函式,我們可以很明顯的分析出當前資料應該是哪乙個類別(大於0.5為正樣本,小於0.5為負樣例)

那麼現在,是不是感覺邏輯回歸很簡單,很好理解了呢?或許有一些了解線性回歸的小夥伴看到這裡會有一些疑問了————線性回歸在求解的時候用的是最小二乘法(詳細可參考線性回歸),那麼邏輯回歸也是使用最小二乘法麼?

答案當然是否定的。 當我們在外層加入sigmoid函式後,使用類似於最小二乘法的思想進行求解、訓練就會變得特別困難了。那麼我們應該怎麼辦呢?

接下來,就有請機器學習中最常用的訓練方式登場————梯度下降法。

什麼是梯度下降法呢?在很多地方有這麼乙個解釋:當你站在一座山上,你想要以最快的方式向下走,那麼你每一步應該怎麼選呢?是不是應該在走下一步的時候盡量選擇下降最快的那乙個方向呢。沒錯,這就是梯度下降法的基本思想:使得當前的w、b向著損失函式下降最快的方向走。

或許有的小夥伴又有疑問了:什麼是損失函式被?那麼接下來,我們就順便說一下邏輯回歸的損失函式吧。

所謂損失函式呢,其實就是代表當前模型**的結果與真實結果的乙個偏離程度。對於回歸來說,損失函式主要表示的是當前模型**的結果與真實結果的差的表示,如mse(差的平方和的平均數)等;而對於分類問題來說,我們可以使用準確率(**結果與真實結果相同的資料佔所有資料的比例)。

而邏輯回歸使用的損失函式就是這種的乙個延伸,也就是交叉熵損失函式:

\[loss=-\frac1m\sum^m_y_ilog\hat y_i+(1-y_i)log(1-\hat y_i)

\]\[dw = \frac\\

db = \frac\\

w -= dw*\theta\\

b -= db * \theta

\]其中\(\theta\)表示的是學習率,也就是用來控制每一次下降的大小的,簡單說就是你下山時跨出的那一步的大小。

而通過這樣的方式,我們可以找到損失函式盡量小甚至最小的點。

本人部落格

機器學習 邏輯回歸 Python實現邏輯回歸

coding utf 8 author 蔚藍的天空tom import numpy as np import os import matplotlib.pyplot as plt from sklearn.datasets import make blobs global variable path...

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

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

線性回歸與邏輯回歸

cost functionj 12m i 1m h x i y i hypothesish x tx 梯度下降求解 為了最小化j j j 1m i 1m h x i y i x i j 每一次迭代更新 j j 1m i 1m h x i y i x i j 正規方程求解 最小二乘法 xtx 1x t...