1. 程式人生 > >(二)邏輯迴歸的擴充套件——多線性分類Softmax Regression演算法模型(附程式碼)

(二)邏輯迴歸的擴充套件——多線性分類Softmax Regression演算法模型(附程式碼)

前言

在上一篇邏輯迴歸(https://blog.csdn.net/u014571489/article/details/83387681)中已經講到了為什麼有sigmoid啟用函式、極大似然估計法和梯度下降法等。

當邏輯迴歸問題被擴充套件到多線性分類問題時,第一步要解決的還是計算概率的問題,即該點屬於每個類別的概率是多少,選擇概率最大的類為該點所在的類。然後根據概率計算公式構建目標函式,然後用梯度下降法進行求解即可。

概率函式

下面就是Softmax Regression的概率函式,類似於邏輯迴歸中的sigmoid函式:

其中\theta _{j}^{T}就是一組權重係數,要分多少類就有多少組係數,構建一個目標函式求這幾組係數就OK了。

目標函式

將每個點屬於每個類比的概率取對數,然後累加就得到了最後的目標函式。

其中在目標函式中引入了指示函式:

I(x)=\left \{ _{_{1,x=false}}^{0,x=true} \right.

I\left \{ y^{\left ( i \right )}=j \right.\left\right \}表示的是當y^{\left ( i \right )}屬於第j類時,I\left \{ y^{\left ( i \right )}=j \right.\left\right \}=1,否則I\left \{ y^{\left ( i \right )}=j \right.\left\right \}=0.

梯度下降法求導

Python3原始碼:

原始碼中對訓練和測試的函式進行了封裝,能夠對資料進行訓練,然後隨機生成資料進行預測。

下載地址:https://download.csdn.net/download/u014571489/10762002

 

參考文章:https://www.cnblogs.com/bzjia-blog/p/3366780.html