相對於C、C++、Java等程式語言,Python對於非電腦類專業來講有著更為合適的生長土壤,我們不太可能用C語言來求解諸如熱處理問題、資源設定問題或實驗中某些因素的互動作用問題等。
- l 高等數學」「線性代數」「機率論與數理統計」
- l 作業研究」等課程教學大綱
- l 使用Python語言實現相關計算、圖形展示及模型求解
- l 內容包含Python程式語言入門、極限的運算
- l 函數的求導及積分、微分方程求解、
- l 級數、行列式計算、線性方程組求解、
- l 隨機變數及其分佈、隨機變數的數字特徵
- l 參數估計、假設檢驗、方差分析與回歸、
- l 線性規劃、非線性規劃、動態規劃、圖與網路計畫及排隊論
【什麼是深度學習?】
深度學習中的Batch Norm是什麼?為何要用Relu而非Sigmoid啟動函數?梯度爆炸的解決之道是什麼?本書讓您在熟練了機器學習或深度學習之後,能把基礎再加強。所謂「知其然,也知其所以然」,整天被CNN、RNN、RL等高深技術所包圍,總不能連最基本的數學原理都搞不清楚吧!現在給你重讀一次的機會,從數學原理開始說起,把似是而非的理論基礎加強回來,補足你心中一直缺的那一塊!那麼這本「機器學習數學王國」就達到目的了!
【這本書會告訴你…】
這本高等數學(含「線性代數」)、「機率論與數理統計」和「作業研究」幾本傳統教材搭配的科學計算輔導用書。希望科學計算從這幾門基礎課開始生根。Python是當下的第一選項,原因在於就科學計算來說,基於Python的函數庫是相對完備且開放的,使用人群的基數也決定著學習資源的品質與多樣性。
【VS Code】
Visual Studio Code為我們提供了良好的工作環境。基本理論和手工計算是根本,然後才可以使用機器進行實踐,切莫本末倒置。如果自己無法解釋程式或程式輸出,那就要調整為理論優先。建議讀者依據自身對基礎的理解,可以採用理論與實踐按節融合、按章融合或學期後融合的策略。
【案例介紹】
極限運算案例:
對於商的極限的運算,limit()函數一般都可以處理得很好,舉例如下。
X→3時,分子與分母極限都是零。程式如下:
import sympy as sy
x=sy.symbols('x')
print(sy.limit((x-3)/(x**2-9),x,3,dir='+-'))
執行結果為:1/6。
X→1時,分母極限為零,分子不為零。程式如下:
x=sy.symbols('x')
print(sy.limit((2*x-3)/(x**2-5*x+4),x,1,dir='-'))
print(sy.limit((2*x-3)/(x**2-5*x+4),x,1))
執行結果為:
-∞
∞
備註:x 趨於1 的左極限為-∞ ,右極限為+∞ ,所以x 趨於1 時的極限為∞。
極限存在準則:
程式如下:
import sympy as sy
x=sy.symbols('x')
lim=sy.limit(sy.sin(x)/x,x,0,dir='+-')
print(lim)
執行結果為:1。
--
數學為我們提供了豐富多彩的素材用以學習程式設計:從讀者已掌握的知識(例如繪製一個抛物線,計算一個函數的導數)到未知的領域(如求一個複雜函數的極值),這期間有驗證的快樂,也有探索的艱辛,在不斷重複這些活動的過程中學會熟練運用這一工具,工具的熟練使用反過來也會幫助我們對特定問題進行更為深入的探討與研究。
--
深智數位出版:〈Python AI人員必修的科學計算 - 數學、機率、統計、演算法〉
本文取自深智數位出版之〈Python AI人員必修的科學計算 - 數學、機率、統計、演算法〉