【收藏】常用微分運算法則

2021-02-13 高校計算機聯盟

機器學習涉及到較多的數學知識,在工程應用領域,這些數學知識不是必要的,其實很多算法都是數值運算專家寫好了的。然而知其然知其所以然,了解這些數學公式的來龍去脈是幫助理解算法的關鍵。本文直接給出常用的微分運算法則,並運用這些法則來計算分類回歸算法 (Logistic Regression) 預測模型 Sigmoid Function 的微分公式。

基礎函數的微分運算法則

冪函數法則
$$\begin{align} \frac{d}{dx} x^n = nx^{n-1} \end{align}$$

指數函數法則
$$\begin{align} \frac{d}{dx} e^x = e^x \end{align}$$
$$\begin{align} \frac{d}{dx} a^x = ln(a)a^x \end{align}$$

對數函數法則
$$\begin{align} \frac{d}{dx} ln(x) = \frac{1}{x} \end{align}$$
$$\begin{align} \frac{d}{dx} log_a(x) = \frac{1}{xln(a)} \end{align}$$

三角函數法則
$$\begin{align} \frac{d}{dx} sin(x) = cos(x) \end{align}$$
$$\begin{align} \frac{d}{dx} cos(x) = -sin(x) \end{align}$$
$$\begin{align} \frac{d}{dx} tan(x) = sin^2(x) = \frac{1}{cos^2(x)} = 1 + tan^2(x) \end{align}$$

反三角函數法則
$$\begin{align} \frac{d}{dx} arcsin(x) = \frac{1}{\sqrt{1-x^2}}, -1 < x < 1 \end{align}$$
$$\begin{align} \frac{d}{dx} arccos(x) = -\frac{1}{\sqrt{1-x^2}}, -1 < x < 1 \end{align}$$
$$\begin{align} \frac{d}{dx} arctan(x) = \frac{1}{1+x^2} \end{align}$$

組合函數的微分運算法則

常數法則:如果 $f(x) = n$,n 是常數,則
$$\begin{align} f' = 0 \end{align}$$

加法法則
$$\begin{align} (\alpha f + \beta g)' = \alpha f' + \beta g' \end{align}$$

乘法法則
$$\begin{align} (fg)' = f'g + fg' \end{align}$$

除法法則
$$\begin{align} \left( \frac{f}{g} \right)' = \frac{f'g - fg'}{g^2} \end{align}$$
根據除法法則和指數法則,可以得出推論
$$\frac{d}{dx} e^{-x} = \frac{d}{dx} \frac{1}{e^x} = \frac{0-ex}{e{2x}} = -\frac{1}{e^x} = -e^{-x}$$

連結法則:如果 $f(x) = h(g(x))$,則
$$\begin{align} f'(x) = h'(g(x)) g'(x) \end{align}$$

計算 Sigmoid Function 的微分

$g(x) = \frac{1}{1+e^{-x}}$ 是分類算法的預測函數,也稱為 Sigmoid Function 或 Logistic Function。我們利用上文介紹的微分運算法則來證明 Sigmoid Function 的一個特性:

$$
\frac{d}{dx} g(x) = g(x) (1 - g(x))
$$

方法一

假設 $f(x) = \frac{1}{x}$,則 $f(g(x)) = \frac{1}{g(x)}$,根據除法法則得到

$$
\begin{align}
f'(g(x)) & = \left( \frac{1}{g(x)} \right)' = \frac{1' g(x) - 1 g'(x)}{g(x)^2} \\
& = - \frac{g'(x)}{g(x)^2}
\end{align}
$$

其中 (17) 是根據除法法則得出的結論,除數是常數函數 1,被除數是 $g(x)$。(18) 是根據常數法則得出的結論。

另一方面,$f(g(x)) = \frac{1}{g(x)} = 1 + e^{-x}$,根據指數法則直接計算微分得到

$$
\begin{align}
f'(g(x)) & = \frac{d}{dx} (1 + e^{-x}) \\
& = -e^{-x} \\
& = 1 - \frac{1}{g(x)} \\
& = \frac{g(x) - 1}{g(x)}
\end{align}
$$

(18) 和 (22) 兩式是相等的,即

$$
\begin{align}

這樣就得到了我們的結果。

方法二

由 $g(x) = \frac{1}{1+e^{-x}}$ 的定義可知

$$
\begin{align}
& (1+e^{-x})g(x) = 1 \\
\Rightarrow & \frac{d}{dx} \left( (1+e^{-x})g(x) \right) = 0  \\
\Rightarrow & -e^{-x}g(x) + (1+e^{-x})\frac{d}{dx}g(x) = 0    \\
\Rightarrow & \frac{d}{dx}g(x) = g(x) \frac{e{-x}}{1+e{-x}} \\
\Rightarrow & \frac{d}{dx}g(x) = g(x) \frac{(1 + e^{-x}) - 1}{1+e^{-x}} \\
\Rightarrow & \frac{d}{dx}g(x) = g(x) \left[ 1 - \frac{1}{1+e^{-x}}\right] \\
\Rightarrow & \frac{d}{dx}g(x) = g(x) (1 - g(x)) \\
\end{align}
$$

(26) 兩邊取微分;(27) 根據微分的乘法法則。

方法三

根據除法法則直接計算微分:

$$
\begin{align}
\frac{d}{dx} g(x) & = \frac{d}{dx} \left( \frac{1}{1 + e^{-x}} \right) \\
& = \frac{0 - (- e^{-x})}{(1 + e{-x})2} \\
& = \frac{e^{-x}}{(1 + e{-x})2} \\
& = \frac{1}{(1 + e^{-x})} \frac{e^{-x}}{(1 + e^{-x})} \\
& = \frac{1}{(1 + e^{-x})} \frac{(1 + e^{-x}) - 1}{(1 + e^{-x})} \\
& = \frac{1}{(1 + e^{-x})} \left[1 - \frac{1}{(1 + e^{-x})} \right] \\
& = g(x) (1 - g(x)) \\
\end{align}
$$

(33) 是根據除法法則得出的,其中除數是常數 1,被除數是 $1 + e^{-x}$。

參考資料

(連結:https://www.jianshu.com/p/f69a25d34499)

全國高校程式設計師都在關注的公眾號

這裡一定有你需要的!

相關焦點

  • 4.平面向量及加減運算
    向量★★  既有大小、又有方向的量叫做向量(vector).向量的大小也叫做向量的長度(或向量的模).三角形法則★★  求不平行的兩個向量的和向量時,只要把第二個向量與第一個向量首尾相接,那麼以第一個向量的起點為起點、第二個向量的終點為終點的向量就是和向量. 這樣的規定叫做向量加法的三角形法則.
  • matlab常用函數大全
    hammgen 產生 漢明碼 的奇偶校驗 陣和生成矩陣rsdecof 對 Reed-Solomon 編碼的 ASCII 文件 解碼rsencof 用 Reed-Solomon 碼對 ASCII 文件 編碼rspoly 給出 Reed-Solomon 碼的生成 多項式syndtable 產生伴隨解碼錶vitdec 用 Viterbi 法則解
  • Excel冪次、開根號運算
    Excel擁有很多數學函數,比較常用的是最大值、最小值、頻率、次數、求和、四捨五入,還有一類較為常用的是冪次運算和開根號運算。
  • Excel公式運算中常見的錯誤類型及解決方法
    為了更高效地完成公式的設置,我們有必要對Excel公式運算出錯時常見的錯誤類型進行梳理。####錯誤在Excel中非常常見,但其實並不能當作是一種錯誤類型,是由於當前單元格寬度滿足不了數值的長度就會出現顯示不全的情況。
  • Excel常用6大排名公式,趕緊收藏!
    但遇到不同的表格需要用不同的函數和公式,今天首次對排名公式進行一次全面的總結,同學們一定要收藏起來了!而不受其他組數據影響{=COUNT(0/(B2<=(MATCH(A2&B$2:B$34,A$2:A$34&B$2:B$34,)=ROW($1:$33))*B$2:B$34))}註:數組公式,兩邊大括號不是手工輸入,而且輸入公式後按Ctrl+shift+enter三鍵後自動添加的工作中常用的
  • 洛必達法則失效的情況有哪些?
    亂套定理使不得啊Q:洛必達法則失效的情況有哪些?有些未定式滿足洛必達法則的條件,極限也存在,可是用洛必達法則卻無法求出來,請問,這些題有什麼特點?============================原理上洛必達法則適用的情況必定能用泰勒秒殺,用幾次洛必達就用幾階泰勒滅之...放心好了,運算量不會上天的,對一個複雜的複合函數求導絕對比連續展開兩次泰勒運算量大...泰勒法不像洛必達用前還要判定,煩得要死...跳過思考就是暴力幹,適合我這種肝大無腦的玩家...
  • 常用Excel排名公式大全,再不收藏就是你的錯了!
    但遇到不同的表格需要用不同的函數和公式,今天蘭色首次對排名公式進行一次全面的總結,同學們一定要收藏起來了!蘭色說:工作中常用的Excel排名公式就這些了。其中最後一個比較難在網上也不容易搜到,同學們一定要收藏起來備用。
  • 基礎篇——Excel公式的運算順序
    與常規的數學計算式運算相似,所有的運算符都有運算的優先級。當公式中同時用到多個運算符時,Excel將按下表所示的順序進行運算。
  • 從頭細說Excel的日期運算
    日期其實就是特殊的數字,數字是可以進行加減運算,兩個日期相差的天數就是當天的日期減去入庫的日期。在運算的時候,計算出來的天數是以日期的形式顯示,需要再將單元格設置為常規格式。同理,時間也是數字,也可以進行四則運算。
  • MATLAB運算符優先級一覽表
    MATLAB 在執行含有關係運算和邏輯運算的數學運算時,同樣遵循一套優先級原則。
  • 使用Excel2007進行簡單求和運算?
    大家都知道Word裡面也可以製作表格,但是在Word表格裡進行一些運算和不方便,所以需要進行運算還是要用專業的Excel
  • 學習分享|菠菜法則
    這樣的基本法則排除了工作中很多不必要的麻煩。一方面,及時的溝通和聯絡可以儘早發現問題並解決問題,這樣就避免了因前期工作失誤而導致的後期工作量重複的問題。再者說來,工作中的許多問題在充分溝通並交換意見之後可以大大提高工作效率,因為這樣可以幫助我們省下許多尋找解決方案的時間。
  • 一文掌握bed運算
    2. bedtools的運用在生信發展的早期,對於bed格式文件的處理需要分析者自己進行編程以進行坐標運算。其思路比較簡單,即利用線性的掃描不斷移動指針最終對一個個染色體完成運算。目前主流使用的bed運算工具是由猶他大學Quinlan組開發的bedtools,該工具操作簡便且運行效率高,逐漸成為二代測序數據分析者的瑞士軍刀。
  • 【Excel基礎篇】Excel公式的運算順序
    ,所有的運算符都有運算的優先級。很多朋友會用公式很久了,但是往往並不了解運算順序的基本知識,今天著重交流一下這方面的內容。當公式中同時用到多個運算符時,Excel將按下表所示的順序進行運算。例如:=9 - - 2^4這個公式的運算結果並不等於9+2^4根據優先級,最先組合的是代表負號的「-」與「2」進行負數運算,然後通過「^」與「4」進行乘冪運算,最後才與代表減號的「-」與「9」進行減法運算。這個公式實際等於下面這個公式:=9-(-2)^4公式運算結果為-7。
  • 6個常用Excel公式超全解析,直接套用工作效率翻倍,收藏備用
    下面為大家整理了職場最常用的10個函數,建議收藏哦!1. SUM函數在需要求和的地方輸入「=SUM(選中求和區域)」,在括號裡選中要求和的區域,點擊回車鍵就能完成。如果覺得比較麻煩也可以使用快捷鍵,首先選擇要求和的區域,然後按Alt+=就能一鍵完成批量求和,方便高效!2.
  • Excel實用技巧(49):常用的數學函數,你會運算了嗎?
    報名地址: http://www.chinatet.com/zhiboke/kjbdexceljq/       日常工作中,我們實用Excel進行數據統計與分析,除了使用加、減、乘、除等常見的運算方式之外,還有一些數學運算的函數也值得我們注意,例如數據的乘方與開方。1.
  • 值得收藏的6個Excel函數公式(有講解)
    收藏的Excel函數大全公式再多,幾天不用也會忘記。怎麼才能不忘?你需要了解公式的運行原理。
  • 十個Excel常用函數公式,趕緊收藏,要用時直接套!
    不過沒關係,今天,小汪老師就來給大家分享一些辦公中常用的函數公式,趕緊收藏日後備用。按成績分數排名從高到底,按數據分數顯示排名次數。