1. 程式人生 > >線性模型,線性迴歸,對數機率迴歸(Logistic regression)的理解與推導(深度學習前戲( ╯□╰ ))

線性模型,線性迴歸,對數機率迴歸(Logistic regression)的理解與推導(深度學習前戲( ╯□╰ ))

對數機率迴歸(logistic regression),有時候會譯為邏輯迴歸(音譯),其實是我們把迴歸模型應用到分類問題時,線性迴歸的一種變形,主要是針對二分類提出的。既然是線性迴歸的一種變形,那麼在理解對數機率迴歸時,我們先來了解一下什麼是線性迴歸。

1.線性迴歸

1. 1線性方程

形如
f ( x )

= w 1 x 1 + w 2
x 2 + w 3 x 3
+ . . . + w d x d + b f(x)=w_1x_1 + w_2x_2 + w_3x_3 + ... + w_dx_d + b
我們稱為線性方程,即任何變數都是一次冪的函式,向量形式一般寫成:
f ( x ) = w T x + b f(x) = \mathbf w^T\mathbf x+b
不難看到如果我們將其中的 w = ( w 1 ; w 2 ; w 3 ; . . . ; w d ) w = (w_1;w_2;w_3;...;w_d) b b 學習得到之後,我們就得到了一個固定的線性模型,這個模型對應了某些量之間的一種對映,可以拿來作為預測。線性模型形式簡單但是卻蘊含著機器學習中一些重要的基本思想。許多功能更為強大的非線性模型都是從線性模型的基礎上通過引入層級結構或者高維對映得到的。此外,如果我們仔細分析的話,可以發現 w w 其實是每個變數對這個模型重要程度(即權重)的集合,使得線性模型有很好的可解釋性。

1. 2線性迴歸

線性迴歸本質就是預測一個連續的輸出,即根據我們手頭上擁有的資料集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D= \{(\mathbf x_1,y_1),(\mathbf x_2,y_2),...,(\mathbf x_m,y_m)\} 其中 x i = ( x i 1 ; x i 2 ; x i 3 ; . . . ; x i d ) , y i R x_i = (\mathbf x_i^1;\mathbf x_i^2;\mathbf x_i^3;...;\mathbf x_i^d),y_i \in\mathbb R
學習到一組w與b,使得這個模型能夠儘可能準確地預測實值輸出標記。
那麼如何準確的去學習出這組 w w b b 呢?
我們先考慮一種最簡單的情況那就是隻有一個輸入 w i w_i ,所以學習的結果其實就是使 f ( x i ) y i f(x_i)\approx y_i ,我們知道均方誤差使迴歸任務中最常用的效能度量,因此我們只要找到使得兩者均方誤差最小的那組 w w b b ,我們就得到了相對預測最準確的模型。
均方誤差最小,即:


在這裡插入圖片描述

這種基於均方誤差最小化來進行線性模型求解的方法稱為”最小二乘法”(least square method),線性迴歸中最小二乘法就是找到一條直線,使得所有樣本到直線上的歐氏距離最小。
這個求解過程也被稱為線性迴歸的最小二乘引數估計。
E ( w , b ) = i = 1 m ( y i w x i b ) 2 E_{(w,b)} = \sum_{i=1}^m(y_i - wx_i - b)^2

L ( w , b ) w = 2 i = 1 m ( x i y i w x i 2 b x i ) \frac{\partial L(w,b)}{\partial w} = -2 \sum_{i=1}^m(x_iy_i - wx_i^2 - bx_i)
我們知道形如 y = x 2 y=x^2 函式通常是凸函式,且極值點在導數為0時取得。
於是我們分別對 w w b b 求導得到:


在這裡插入圖片描述

令二式均為0就可以得到w與b最優解的閉式解:


在這裡插入圖片描述

這裡可以提一下什麼是閉式解,閉式解其實就是解析解,與數值解相對應,最籠統的解釋解析解就是嚴格按照公式推匯出來的解,而數值解是按照特定條件近似計算得到的基本滿足的數值,逼近解析解,但是正確性沒有解析解來的好。
那麼當我們的輸入是多個變數的時候該怎麼辦呢。
其實就是把 w w x x 向量化,即我們試圖學得 f ( x i ) = w T x i + b f(\mathbf x_i)=\mathbf w^T\mathbf x_i+b ,使得 f ( x i ) y i f(\mathbf x_i)\approx y_i ,這就是多元線性迴歸
我們同樣利用最小二乘法對 w w b b 進行估計。我們將 w w

相關推薦

線性模型線性迴歸對數機率迴歸(Logistic regression)的理解推導(深度學習( ╯□╰ ))

對數機率迴歸(logistic regression),有時候會譯為邏輯迴歸(音譯),其實是我們把迴歸模型應用到分類問題時,線性迴歸的一種變形,主要是針對二分類提出的。既然是線性迴歸的一種變形,那麼在理解對數機率迴歸時,我們先來了解一下什麼是線性迴歸。 1.線性迴歸 1. 1線性方程

線性模型對數機率迴歸

線性模型之對數機率迴歸 廣義線性模型:\(y=g^{-1}(w^Tx+b)\) \(g^{-1}(x)\),單調可微函式 如果用線性模型完成分類任務如何做? 根據線性模型可知,找到一個單調可微函式將分類任務的真實標記\(y_i\)與線性模型的預測值聯絡起來即可。 廣義線性模型對樣本要求不必要服從正態分

分類和邏輯回歸(Classification and logistic regression)廣義線性模型(Generalized Linear Models) 生成學習算法(Generative Learning algorithms)

line learning nbsp ear 回歸 logs http zdb del 分類和邏輯回歸(Classification and logistic regression) http://www.cnblogs.com/czdbest/p/5768467.html

python實現周志華西瓜書《機器學習》習題3.3對數機率迴歸

python小白入手,第一個程式。 首先感謝大牛的原始碼: https://blog.csdn.net/onthewaygogoing/article/details/68485682 大牛的思路很巧妙,把矩陣操作轉化成列表操作,時刻保證列表代表的矩陣維度一致。 我

《機器學習對數機率迴歸——筆記

對數機率迴歸不是迴歸函式而是分類函式。   廣義線性模型 提出問題:需要找到一個單調可微函式將分類任務的真實標記y與線性迴歸模型的預測值聯絡起來 線性迴歸預測值,應用於分類問題一般選用“單位階躍函式” 但階躍函式不連續,而對數機率函式正好可以替代階躍函式,它單

邏輯斯諦迴歸(對數機率迴歸)

文章目錄 LR簡介 損失函式 參考 LR簡介 邏輯斯諦迴歸是一種經典的線性分類方法,又被稱為對數機率迴歸,其屬於對數線性模型。 線性迴歸完成了資料的擬合,我們通過引入一個

1.2.11 【Deep Learning翻譯系列】Explanation of Logistic Regression Cost Function 對數機率迴歸代價函式的說明

視訊地址 本視訊給出在對數機率迴歸使用這個成本函式的理由。 在之前的對數機率迴歸中,預測 y ^

logistic regression(LR)對數機率迴歸 / 邏輯迴歸 公式推導

因為是傻瓜式教程,所以一定會非常詳細!一些概念link到了Wiki的相應解釋上。  歡迎捉蟲~! 二分類和迴歸的關係 考慮x⇒y 表示的二分類或迴歸問題,其中x 是輸入,y 是輸出。  1. 在二分類中,y 的值取0或1,代表被分為正類或負類。在迴歸中,y 的取值為連續值。  2. 線上

對數機率迴歸-機器學習

資料集百度網盤,就是西瓜書3.0a的資料。首先,載入資料,load_data(file)函式。def load_data(file): s =[] with open(file) as f: for line in f.readlines

對數機率迴歸Logistic Regression)總結

對數機率迴歸logistic regression,雖然名字是迴歸,但是實際上它是處理分類問題的演算法。簡單的說迴歸問題和分類問題如下: 迴歸問題:預測一個連續的輸出。 分類問題:離散輸出,比如二分類問題輸出0或1. 邏輯迴歸常用於垃圾郵件分類,天氣預測、

小白學習機器學習---第三章(2):對數機率迴歸python實現

上程式碼~~~~~~~~###梯度下降法實現多元線性迴歸 def loadDataSet(): ###資料匯入函式### dataMatrix=[] #資料矩陣,第一列是w=1.0,第2,3列是特徵 labelMatrix=[] #標籤矩陣

機器學習5- 對數機率迴歸+Python實現

[toc] ## 1. 對數機率迴歸 考慮二分類任務,其輸出標記 $y \in \{0, 1\}$,記線性迴歸模型產生的預測值 $z=\boldsymbol{w}^T\boldsymbol{x} + b$ 是實值,於是我們需要一個將實值 $z$ 轉換為 $0/1$ 的 $g^{-}(\cdot)$。 最理想

tensorflow之inception_v3模型的部分載入及權重的部分恢復(23)---《深度學習

大家都知道,在載入模型及對應的權重進行訓練的時候,我們可以整個使用所提供的模型,但是有時候呢?所提供的模型不能很好的滿足我們的要求,有時候我們只需要模型的前幾層然後進行對應的權重賦值,這時候,我們應該怎麼辦呢?tensorflow為我們提供了兩種方法(探索了好久

RNN LSTMGRU深度學習模型學習筆記

RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory)與GRU(Gated Recurrent Unit)都是自然語言處理領域常見的深度學習模型。本文是一個關於這些模型的筆記,依次簡單介紹了RNN,

scikit-learn 線性迴歸模型的score函式返回值是決定係數R^2

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression http://scikit-le

資料探勘篩選補充的廣義線性模型的---- LASSO 迴歸

Kaggle 網站(https://www.kaggle.com/)成立於 2010 年,是當下最流行的進行資料發掘和預測模型競賽的線上平臺。 與 Kaggle 合作的公司可以在網站上提出一個問題或者目標,同時提供相關資料,來自世界各地的電腦科學家、統計學家和建模愛好者, 將

AdditionalRadar-線性迴歸因子篩選多因子模型

# coding=utf-8import numpy as npimport xlrdimport statsmodels.api as smimport MySQLdbimport math#*****************Load data part**********

初學ML筆記N0.1——線性迴歸分類邏輯斯蒂迴歸通用線性模型

1.線性迴歸 線性迴歸,即假設使用一個線性的模型方程,來擬合特徵與結果,如下 向量形式: x1,x2為輸入特徵。在上式中,theta則為每個特徵所對應的權重值,上式隱含了一個條件,即我們假設還有x0這個特徵,其值全部為1。 定義cost

matlab做三維線性擬合(多元線性迴歸準確來說不叫插值)

matlab三維擬合(多元線性迴歸) 問題描述 今天同學問了我一個問題,大概意思是給了你三列輸入資料,一列輸出資料,想用一個線性超平面做一個最小二乘擬合(注意這裡不能叫插值)。 一點思考 剛聽到這個問題,同學說的是做插值,說想要做一個插值,這種說法不準確的,不想說迴歸的話