機器學習基礎 Logistic回歸基礎

2021-07-26 15:54:34 字數 1783 閱讀 7389

logistics回歸模型要解決的是分類問題,在之前的二元分類問題中,我們將資料分成正例和負例,但是像pla演算法一樣,用單位階躍函式來處理的這種瞬間跳躍的過程有時很難處理。於是,我們希望能得到正例的概率值是多少。

我們在pla和線性回歸演算法中都用資料的加權來計算乙個分數s,在logistic回歸中,我們用sigmoid函式來將這個分數s轉化成0到1的概率值。

所以,用下面的h(x)來表示乙個假設,而這個logistic函式θ(x)就是θ(x)=1/[1+exp(-x)](該函式平滑且處處可微)。

我們設想目標函式f(x) = p(+1|x),這裡資料的正例和負例的概率分布其實是乙個伯努利分布。那麼,如果我們的假設h(x)要逼近f(x)函式,那麼對於訓練資料d,由h構成的似然度應該近似等於從這個伯努利分布中抽取資料的概率。

那麼我們要求的最終假設g就是使得這個似然度最大的h。

接下來,我們來衡量這個可能性(likelihood),這裡將資料的先驗概率p(xi)化成灰色,因為它對於所有的資料來說都是一樣的,所以相當於是乙個常數,整理一下,我們可以看到這個可能性正比於所有的h乘起來的結果(其中h(ynxn)包含了h(xi)和h(-xi)的情形)。

下面的告訴了我們,如何將這個可能性的式子進行化簡,使得我們在後面的計算變得容易。我們用θ(·)函式代替了h,將式子取對數使得乘積的形式變成求和的形式,最後再添乙個負號,將最大似然函式的形式變成了求解最小值的最優化問題。

這裡,我們定義了交叉熵誤差來衡量我們的訓練誤差。

我們得到了訓練誤差的具體形式,由於這個訓練誤差函式是可微並且是凸函式,所以依照之前的思路,對這個函式求梯度。

我們要使得梯度為0,這裡雖然我們得到了求取w的數學式子,但是這個式子並不是乙個閉合的公式,無法像線性回歸一樣直接求解乙個矩陣來得到解,那麼如何找到滿足這個條件的w呢?

讓我們回想一下pla演演算法中求w的過程,是通過錯分的資料來一步一步修正的,從而得到最終的w。

這裡,我們可以按照類似的思路,一步一步的去修正w,使得ein的結果越來越小。

在logistic回歸中,ein的式子是平滑的。現在我們可以將這個ein想象成乙個山谷,我們要到達山谷的最低點,就是要沿著當前的梯度最大的方向每次邁出一小步,直到到達谷底,使得ein最小,得到最佳解w。

這裡ein(wt)和η都是已知的,ein的梯度表示了下降的方向,也可以求出來,唯一要考慮的就是最好的向量v該如何選擇。

對於v和ein的梯度這兩個向量,使得其值是最小的方法就是讓v向量的方向和ein的梯度的方向想法,這樣使得兩個向量的內積是最小的,另外由於v的模是1,還需要有個歸一化的步驟。

由於η和▽ein(wt)的模都是乙個常數,可以將其化簡成為乙個新的η',也可以用常數η來表示。

這樣我們就得到了logistic回歸求解最優化解的步驟。

在上一小節的梯度下降法的介紹中,我們知道在每一輪迭代中,計算梯度時要把所有的點對梯度的共享都要計算出來m,如下圖所示:

這裡在每一輪的時間複雜度都是o(n),這樣看起來是有些麻煩費時的。那有沒有一種方法可以將每一輪的時間複雜度降為o(1)呢?

如上一節,我們每一次的要更新的v都是要和所算的梯度是反方向的,但是我們能不能通過乙個點(xn,yn)而不是n個點來得到這個v呢?

我們可以將求和再除以n的過程想象成乙個隨機過程的平均,將這個期望用隨機的乙個抽樣來代替。所以這裡不是乙個真正的梯度,而是在乙個點上對err函式做偏微分,把整體的梯度看做是這個隨機過程的期望值。

這樣,我們可以將隨機梯度看做是真正的梯度減去隨機的雜訊,但是從期望值來說,可能和之前想要走的方向沒有太大差別。

其最終的表示式如下:

機器學習基石課程,林軒田,台灣大學

github主頁(

csdn部落格(

機器學習之線性回歸以及Logistic回歸

1 線性回歸 回歸的目的是 數值型資料的目標值。目標值的計算是通過乙個線性方程得到的,這個方程稱為回歸方程,各未知量 特徵 前的係數為回歸係數,求這些係數的過程就是回歸。對於普通線性回歸使用的損失函式一般為平方誤差。把其用最小二乘法進行優化得到的關於係數w求導所得到的矩陣形式的表示式求得的 w便為最...

機器學習 logistic

一 面對缺失資料集的方法 1.使用可用特徵的均值來填補缺失值 2.使用特殊值來填補缺失值,如 1 3.忽略有缺失值的樣本 4.使用相似樣本的均值添補缺失值 5.使用另外的機器學習演算法 缺失值。二 預處理資料做兩件事 如果測試集中一條資料的特徵值已經確實,那麼我們選擇實數0來替換所有缺失值,因為本文...

機器學習基礎 Logistic回歸2

梯度上公升法在每次更新回歸系統時都需要遍歷整個資料集,該方法在處理100個左右的資料集時尚可,但如果有數十億樣本和成千上萬的特徵,那麼該方法的計算複雜度太高了。隨機梯度上公升演算法偽 所有回歸係數初始化為1 對資料集中每個樣本 計算該樣本的梯度 使用alpha gradient更新回歸係數值 返回回...