機器學習的原始理論主要是設計和分析一些可以讓電腦自動學習的演算法,進而產生可以預測未來趨勢或是尋找數據間的規律然後獲得我們想要的結果。若是用演算法看待,可以將機器學習視為是滿足下列的系統。

1:機器學習是一個函數,函數模型是由真實數據訓練產生。

2:機器學習函數模型產生後,可以接收輸入數據,映射結果數據。

 

在機器學習中,有關指數與對數常使用的是e,特別是在推導積分與微分公式時,大都使用歐拉數e。

正所謂工欲善其事,必先利其器,一起來看看歐拉數到底是什麼吧!

 

認識歐拉數

在機器學習時比較常用的是數學常數e,它的全名是Euler's Number,又稱歐拉數,主要是紀念瑞士數學家歐拉命名。

歐拉數e可以用作指數函數的底數,例如下列公式:

上述公式有時候也可以用表達。

在對數log應用中,如果底數是e,數學表達式如下:

當對數的底數是e時,我們稱這是自然對數(Natural logarithm),假設真數是8,

則表達式如下:

或是省略e,直接用下列公式表示:

log8

自然對數另一個表達方式是ln,所以上述公式可以用下列方式表達。

ln8

 

歐拉數的緣由

我們可以由複利觀念推導歐拉數。

假設有1元本金存在銀行,一年利率100%,一年後這個本金就會變為2元。

假設銀行提出的存款條件是每半年給一次利息,利率是50%,相當於是,同時

以複利計息,這時一年後的本金和,假設是s,則計算方式如下:

從上述可以看到一年後的本金和是2.25元。

現在假設銀行提出的存款條件是每一季給一次利息,利率是25%,相當於是

同時以複利計息,這時一年後的本金和,假設是s,則計算方式如下:

而我們可以由前面兩次利息的給付,推導出下列複利計算的公式:

上述n就是利息的期數。

現在假設銀行提出的存款條件是每一月給一次利息,這時n值就是12,同時以複利計息,這時一年後的本金和,假設是s,則計算方式如下:

現在假設銀行提出的存款條件是每一天給一次利息,這時n值就是365,同時以

複利計息,這時一年後的本金和,假設是s,則計算方式如下:

現在假設銀行提出的存款條件是每一小時給一次利息,這時n值就是365*24,所以n=8760同時以複利計息,這時一年後的本金和,假設是s,則計算方式如下:

現在假設銀行提出的存款條件是每一分鐘給一次利息,這時n值就是8760*60,

所以n = 525600 同時以複利計息,這時一年後的本金和,假設是s,則計算方式如下:

現在假設銀行提出的存款條件是每一秒鐘給一次利息,這時n值就是525600*60,所以n = 31536000 同時以複利計息,這時一年後的本金和,假設是s,則計算方式如下:


複利計算過程,我們也能發現從分鐘到秒鐘本金和相差僅有約0.000003,如果現在我們再將秒數分割,可以得到相差數僅是2.718281 後面的尾數,所以這個數就被定義為歐拉數,先前公式用s當本金和的變數,現在可以改用歐拉數e了。

 

歐拉數使用公式做定義

從前一節的歐拉數e 的推導我們可以得到基礎的歐拉數公式如下:

由於歐拉數公式的n值可以趨近至無限大,所以正式的歐拉數公式如下:

上述lim( )函數,lim原意是limit,∞是無限大。

 

計算與繪製歐拉數的函數圖形

程式實例ch17_1.py:在0.1-1000間取100000個點,然後繪製歐拉數圖形,因為如果用圖表展現x軸在0-1000之間,讀者無法看到歐拉數的函數圖形特徵,所以只繪製x軸在0-10之間。

執行結果:

程式實例ch17_2.py:重新繪製歐拉數函數圖形,同時第7行不執行,相當於不設定顯示空間。

執行結果:

看完了本文的說明,相信讀者會對歐拉數擁有更進一步的認識!

 

 

本文節錄自《機器學習:彩色圖解 + 基礎數學篇 + Python實作 王者歸來(第二版)》,由深智數位授權轉載。