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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Logistic分类函数

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Logistic分类函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:chen_h
微信號 & QQ:862251340
微信公眾號:coderpai
我的博客:請點擊這里

這篇教程是翻譯Peter Roelants寫的神經網絡教程,作者已經授權翻譯,這是原文。

該教程將介紹如何入門神經網絡,一共包含五部分。你可以在以下鏈接找到完整內容。

  • (一)神經網絡入門之線性回歸
  • Logistic分類函數
  • (二)神經網絡入門之Logistic回歸(分類問題)
  • (三)神經網絡入門之隱藏層設計
  • Softmax分類函數
  • (四)神經網絡入門之矢量化
  • (五)神經網絡入門之構建多層網絡

Logistic分類函數

這部分教程將介紹兩部分:
* Logistic函數
* 交叉熵損失函數

如果我們利用神經網絡進行分類,對于二分類問題,t=1或者t=0,我們能在logistic回歸中使用logistic函數。對于多分類問題,我們使用softmax函數來處理多項式logistic回歸。本教程我們先解釋有關logistic函數的知識,后續教程會介紹softmax函數的知識。

我們先導入教程需要使用的軟件包。

from __future__ import print_functionimport numpy as np import matplotlib.pyplot as plt復制代碼
Logistic函數

假設我們的目標是根據輸入的z去預測分類t。概率方程P(t=1|z)表示輸出y根據logisitc函數y=σ(z)得到的值。σ被定義為:

根據函數分類的概率t=1或者t=0,我們能得到以下公式:

注意一下,其實z就是P(t=1|z)與P(t=0|z)的比值求對數。

logistic函數在下面的代碼中logistic(z)實現,并且可視化了logistic函數。

# Define the logistic function def logistic(z):return 1 / (1 + np.exp(-z))復制代碼# Plot the logistic function z = np.linspace(-6,6,100) plt.plot(z, logistic(z), 'b-') plt.xlabel('$z$', fontsize=15) plt.ylabel('$\sigma(z)$', fontsize=15) plt.title('logistic function') plt.grid() plt.show()復制代碼

Logistic函數求導

因為神經網絡一般使用梯度下降來優化,所以我們需要先求出y對于z的倒數,即?y/?z可以表示為:

因為1?σ(z))=1?1/(1+e^?z)=e?z/(1+e^?z),所以我們又可以把上式簡化為:

logistic_derivative(z)函數實現了Logistic函數的求導。

# Define the logistic function def logistic_derivative(z):return logistic(z) * (1 - logistic(z))復制代碼# Plot the derivative of the logistic function z = np.linspace(-6,6,100) plt.plot(z, logistic_derivative(z), 'r-') plt.xlabel('$z$', fontsize=15) plt.ylabel('$\\frac{\\partial \\sigma(z)}{\\partial z}$', fontsize=15) plt.title('derivative of the logistic function') plt.grid() plt.show()復制代碼

對于logistic函數的交叉熵損失函數

模型的輸出結果y=σ(z)可以被表示為一個概率y,如果t=1,或者概率1-y,如果t=0。我們把這個記為P(t=1|z)=σ(z)=y。

在神經網絡中,對于給定的一組參數θ,我們可以使用最大似然估計來優化參數。參數θ將輸入的樣本轉化成輸入到Logistic函數中的參數z,即z = θ * x。最大似然估計可以寫成:

因為對于給定的參數θ,去產生t和z,根據聯合概率我們又能將似然函數L(θ|t,z)改寫成P(t,z|θ)。由于P(A,B) = P(A|B) ? P(B),我們又可以簡化聯合概率:

因為我們不關心有關z的概率,所以我們可以把原來的似然函數改寫成:

因為t服從伯努力分布,而且如果給定參數θ,那么P(t|z)=y就是一個確定的值,因此我們又可以改寫概率方程:

由于對數函數是單調遞增函數,我們可以依此優化對數似然函數

該函數的最大值和常規的似然函數的最大值一樣,所以我們計算對數似然函數如下,

我們最小化這個負對數似然函數,等價于最大化似然函數。一個典型的誤差函數可以設計為如下交叉熵誤差函數:

這個函數可能看起來比較復雜,但是如果我們把它拆分開來看,就會比較簡單。

從上式中我們可以發現,如果樣本被正確分類,那么損失函數L(t,y)和負對數概率函數在表達式上面是一樣的,即

因為t只能取值0或者1,所以我們能將L(t, y)寫為:

如果你要分析每一個訓練數據,那么就是下式:

另一個我們使用交叉熵函數的原因是,在簡單Logistic回歸中,交叉熵函數是一個凸損失函數,全局最小值很容易找到。

對于logistic函數的交叉熵損失函數的求導

對于損失函數?ξ/?y求導,計算如下:

現在,我們對輸入參數z進行求導將變得很容易。

至此,完整求導完成。

完整代碼,點擊這里


CoderPai 是一個專注于算法實戰的平臺,從基礎的算法到人工智能算法都有設計。如果你對算法實戰感興趣,請快快關注我們吧。加入AI實戰微信群,AI實戰QQ群,ACM算法微信群,ACM算法QQ群。詳情請關注 “CoderPai” 微信號(coderpai) 。


總結

以上是生活随笔為你收集整理的Logistic分类函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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