日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Logistic 回归(sigmoid函数,手机的评价,梯度上升,批处理梯度,随机梯度,从疝气病症预测病马的死亡率...

發布時間:2023/12/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Logistic 回归(sigmoid函数,手机的评价,梯度上升,批处理梯度,随机梯度,从疝气病症预测病马的死亡率... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(手機的顏色,大小,用戶體驗來加權統計總體的值)極大似然估計MLE

1.Logistic回歸

Logistic regression (邏輯回歸),是一種分類方法,用于二分類問題(即輸出只有兩種)。如用于廣告預測,也就是根據某廣告被用戶點擊的可能性,把最可能被用戶點擊的廣告擺在用戶能看到的地方,結果是用戶要么點擊要么不點擊。

通常兩類使用類別標號0和1表示,0表示不發生,1表示發生。

問題引入

例如:有100個手機,其中有30個是你喜歡的,70個是不喜歡的?,F預測你對第101個手機的喜好。這是一個兩類問題,喜歡與不喜歡。

顯然這是一個二分類問題,我們對第101個手機進行預測分類,分為喜歡和不喜歡兩個類別。

我們需要對手機取特征(屬性),比如價格,外觀,用戶體驗。簡單處理,只考慮3個方面(即3個特征)。綜合考慮這些因素,并且把這些值進行數字化的表示。數字越大說明越喜歡,越小越不喜歡。

怎么數字化表示這些量呢?

對每部手機對應價格,外觀,用戶體驗都可以給出一個具體的數值。

我們回憶一下貝葉斯分類:

?

2. Sigmoid 函數

?

3.Sigmoid函數性質

分類性質

回顧我們的后驗概率如何分類的,每個可以觀測的樣本都有屬于某類的概率。分類時候選取后驗概率大的值進行分類。這里是兩分類問題每個樣本均可帶入P(y=1|x)和P(y=0|x)誰的概率值大,我們就將樣本歸入某類。

現在分類模型為下邊公式,但含有未知量 ,只要求出 就可以對樣本,就可以帶入樣本就行計算,對樣本進行分類。

如何求未知參數 ?我們有m個樣本,思路是建立一個目標函數,求目標函數極值。極值處的 值,就是我們最優未知參數值。

參數估計

假設分類的概率

上面的概率可以寫到一起 (類似二項分布)

m個樣本的似然函數為

對數似然函數

使得似然函數值最大?梯度下降(上升)法。

似然函數求導

常規方法時效。故用梯度下降法

Logistic回歸中是未知參數 ,目標是求出 。通過構建似然函數,目標使似然函數最大。

回顧我們梯度下降法。

? (J是上邊的L函數,手誤)問題解決

4.梯度上升法

目標使似然函數最大,我們可以使用梯度上升法進行迭代。

梯度下降法根據樣本使用的不同,一次使用所有樣本更新參數為批處理梯度下降法。一次只隨機使用一個樣本來更新參數隨機梯度下降法。

同樣我們的Logistic回歸可以使用批處理梯度上升法和隨機梯度上升法。梯度上升法和梯度下降法都是尋找函數的極值,只是搜索方向的不同而已。根據具體函數的性質,進行選擇,兩者沒有本質的不同。

我們容易通過把函數轉換成,把極大化問題轉換成極小化問題。函數加負號即可。

5.批處理梯度下降法

6.隨機梯度下降法

7.代碼實現

?

準備數據,樣例數據如下,前兩列分別為x1和x2值,第3列為數據的類別,這樣的數據有100條。

批處理梯度下降(上升)算法計算最佳回歸系數

矩陣為什么要轉置?

運行測試

if __name__ == "__main__":

dataMat,classLabels=loadDataSet()

weights=gradAscent(dataMat, classLabels)

plotBestFit(weights.getA())

8.隨機梯度下降(上升)法SGD (stochastic gradient descent)

運行測試

if __name__ == "__main__":

dataAttr, labelMat = loadDataSet()

weights = stocGradAscent0(array(dataAttr), labelMat)

plotBestFit(weights)

9.改進的隨機梯度下降

運行測試

if __name__ == "__main__":

dataAttr, labelMat = loadDataSet()

weights = stocGradAscent1(array(dataAttr), labelMat)

plotBestFit(weights)

運行結果對比

比較原始的隨機梯度下降和改進后的梯度下降,可以看到兩點不同:

1)系數不再出現周期性波動。

2)系數可以很快的穩定下來,也就是快速收斂。這里只迭代了20次就收斂了。而上面的隨機梯度下降需要迭代200次才能穩定。

(a)梯度下降算法迭代500次。

(b)隨機梯度下降算法迭代200次。

(c)改進的隨機梯度下降算法迭代20次。

(d)改進的隨機梯度下降算法迭代200次。

10.示例:從疝氣病癥預測病馬是否存活

一、處理數據中的缺失值

二、用Logistic回歸進行分類

運行測試

if __name__ == "__main__":

multiTest()

11.總結

轉載于:https://www.cnblogs.com/chaoren399/p/4850427.html

總結

以上是生活随笔為你收集整理的Logistic 回归(sigmoid函数,手机的评价,梯度上升,批处理梯度,随机梯度,从疝气病症预测病马的死亡率...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。