1. 程式人生 > >【機器學習】【邏輯迴歸】最大似然估計的推導和求解步驟和梯度上升演算法求解

【機器學習】【邏輯迴歸】最大似然估計的推導和求解步驟和梯度上升演算法求解

伯努利分佈

如果隨機變數X∈{0, 1},並且相應的概率滿足:

    P(X=1) = p,0<p<1

    P(X=0) = 1 - p

則稱隨機變數X服從引數為p的伯努利分佈。

則隨機變數X的概率密度函式為:


邏輯迴歸

    邏輯迴歸卻不是迴歸演算法而是一個分類演算法~,線性迴歸是一個迴歸演算法。邏輯迴歸的樣本資料集是一個離散分佈的樣本集,邏輯迴歸的模型值不再是連續值,而是{0, 1}這樣的離散值。在Logistic Regression中,需要一個假設:樣本事件符合伯努利分佈,即0-1分佈、兩點式分佈。


邏輯迴歸的假設函式


邏輯迴歸的似然函式

邏輯迴歸的對數似然函式

在求邏輯迴歸的對數似然函式之前,先求預測函式hθ(x)=sigmoid(x;θ)對θ的對數,求導過程如下所示:


對數似然函式

然後再求對數似然函式對θ的導數

詳細過程如下所示:


至此已經求得邏輯迴歸的對數似然函式以及對數似然函式對θ的導數。

求最大似然估計θ時,可以令對數似然函式的導數=0,然後求解θ的方程組,並求出最大似然估計θ。

但是可能分佈引數θ的個數不確定性,當θ的個數很多時,求解θ的方程組會很困難,或者有可能解不出準確的分佈引數θ。所以一般都採用梯度上升演算法來求解θ的方程組的值。從邏輯迴歸的對數似然函式對θ的導數可以看出和以前線性迴歸的θ的迭代更新公式一模一樣。所以我們是可以使用梯度上升演算法來求解邏輯迴歸的最大似然估計θ。

邏輯迴歸的最大似然估計的迭代公式一樣如下:


剩餘的梯度上升演算法過程和梯度下降演算法過程很類似,在前面有介紹,可以回看閱讀。

梯度下降演算法和梯度上升演算法的區別

    1)兩者在公式上,一個減法一個加法,梯度下降演算法是減法,梯度上升演算法是加法

    2)梯度下降演算法用來求函式的最小值

    3)梯度上升演算法用來求函式的最大值

    4)使用時能清楚有以上區別就可以了

enjoy it from tom。

 (end)