機器學習是一個很廣闊的領域。你如果根據數學知識去找,上窮碧落下黃泉,多半能找到相關的機器學習演算法。
不妨拿無窮級數來舉例。
如果想要實現同態加密的神經網路。也就是說,基於加密的模型進行學習,某些應用場景下,這是很有用的,比如,想讓使用者在本地離線地執行神經網路模型,但又不希望暴露公司的模型——獨特的模型設計、引數往往是一個公司的競爭力所在。
(同態加密示意圖,可直接在密文上進行加法、乘法。)
那麼,就需要用到泰勒展開(無窮級數)來逼近神經網路中分類層常用的sigmoid啟用函式。
Python程式碼:
def sigmoid_approximation(x): return (1 / 2) + (x / 4) - (x**3 / 48) + (x**5 / 480)
但是,你說的基礎機器學習演算法,要不要用到“微分方程,差分方程,無窮級數”,答案無疑是用不到。
基礎機器學習演算法,所需的數學基礎無非是機率論、統計、線性代數、微積分這些。
機器學習是一個很廣闊的領域。你如果根據數學知識去找,上窮碧落下黃泉,多半能找到相關的機器學習演算法。
不妨拿無窮級數來舉例。
如果想要實現同態加密的神經網路。也就是說,基於加密的模型進行學習,某些應用場景下,這是很有用的,比如,想讓使用者在本地離線地執行神經網路模型,但又不希望暴露公司的模型——獨特的模型設計、引數往往是一個公司的競爭力所在。
(同態加密示意圖,可直接在密文上進行加法、乘法。)
那麼,就需要用到泰勒展開(無窮級數)來逼近神經網路中分類層常用的sigmoid啟用函式。
Python程式碼:
def sigmoid_approximation(x): return (1 / 2) + (x / 4) - (x**3 / 48) + (x**5 / 480)
但是,你說的基礎機器學習演算法,要不要用到“微分方程,差分方程,無窮級數”,答案無疑是用不到。
基礎機器學習演算法,所需的數學基礎無非是機率論、統計、線性代數、微積分這些。