本文介紹了機器學(xué)習中的基本數(shù)學(xué)符號。具體來說有算數(shù)符號,包括各種乘法、指數(shù)、平方根以及對數(shù);數(shù)列和集合符號,包括索引、累加以及集合關(guān)系。此外,本文還給出了5個當你在理解數(shù)學(xué)符號遇到困難時可以應(yīng)急的小技巧。
在機器學(xué)習中,你永遠都繞不過數(shù)學(xué)符號。
通常,只要有一個代數(shù)項或一個方程符號看不懂,你就完全看不懂整個過程是怎么回事了。這種境況非常令人沮喪,尤其是對于那些正在成長中的機器學(xué)習初學(xué)者來說更是如此。
如果你能了解一些基本的數(shù)學(xué)符號以及相關(guān)的小技巧,那你就在看懂機器學(xué)習方法的論文或書籍描述上前進了一大步。
在本教程中,你將學(xué)到機器學(xué)習技術(shù)描述中遇到的基本數(shù)學(xué)符號。
在學(xué)完整個教程后,你會知道:
算術(shù)符號,包括若干種乘法、指數(shù)、平方根以及對數(shù)
數(shù)列和集合符號,包括索引、求和以及集合關(guān)系
5 種當你看不明白數(shù)學(xué)符號的時候可以采用的應(yīng)急方法
讓我們開始學(xué)習吧!
教程概覽
本教程分為 7 個部分,分別是:
1. 看不懂數(shù)學(xué)符號的沮喪
2. 算術(shù)符號
3. 希臘字母
4. 數(shù)列符號
5. 集合符號
6. 其他符號
7. 更多幫助資源
看不懂數(shù)學(xué)符號的沮喪
你在閱讀機器學(xué)習算法的相關(guān)內(nèi)容時會遇到一些數(shù)學(xué)符號。舉例來說,這些符號可能會被用來:
描述一個算法
描述數(shù)據(jù)的預(yù)處理
描述結(jié)果
描述測試工具
描述含義
你可能在論文、教科書、博文以及其他地方看到這些描述。相關(guān)代數(shù)項常常會給出完整定義,但你還是會看到不少陌生的數(shù)學(xué)符號。我曾多次深受其苦,簡直太令人感到挫敗了!
在本教程中,你會復(fù)習到一些幫助你看懂機器學(xué)習方法描述的基本數(shù)學(xué)符號。
算術(shù)符號
在本節(jié)中,我們將重溫一些基礎(chǔ)算數(shù)中你不太熟悉的符號,以及畢業(yè)之后一些可能遺忘的概念。
簡單算術(shù)
算術(shù)的基本符號你已很熟悉。例如:
加法:1 + 1 = 2
減法:2 – 1 = 1
乘法:2 x 2 = 4
除法:2 / 2 = 1
大多數(shù)的數(shù)學(xué)運算都有一個對應(yīng)的逆運算,進行相反的運算過程;比如,減法是加法的逆運算,而除法是乘法的逆運算。
代數(shù)
我們常希望用更抽象的方式來描述運算過程,以將其與具體的數(shù)據(jù)或運算區(qū)分開來。因此代數(shù)的運用隨處可見:也就是用大寫和/或小寫字母來代表一個項,或者一個數(shù)學(xué)符號體系中的概念。用希臘字母來代替英文字母也是很常見的用法。數(shù)學(xué)中的每一個領(lǐng)域都可能有一些保留字母,這些字母都會代表一個特定的東西。盡管如此,代數(shù)中的項總應(yīng)在描述中被定義一下,如果作者沒有去定義,那是他的問題,不是你的錯。
乘法符號
乘法是一個常見的符號,有幾種記法。一般是用一個小小的「ⅹ」或者星號「*」來代表乘法:
c = a x b
c = a * b
你有時也會看到用一個點來代表乘法,比如:
c = a . b
這個式子其實和下式是一樣的意思:
c = a x b
或者你可能會看到運算符被省略,先前被定義的代數(shù)項之間沒有符號也沒有空格,比如:
c = ab
這還是一樣的意思。
指數(shù)和平方根
指數(shù)就是一個數(shù)字的冪次。這個符號寫作正常大小的原數(shù)(底數(shù))以及一個上標數(shù)(指數(shù)),例如:
2^3
這個表達式的計算結(jié)果就是 3 個 2 連乘,或者說是 2 的立方:
2 x 2 x 2 = 8
求一個數(shù)的冪,就默認是求它的平方。
2^2 = 2 x 2 = 4
平方運算的效果可以用開方來逆轉(zhuǎn)。開方在數(shù)學(xué)中是在被開方的數(shù)字上面加一個開方符號,這里簡單起見,直接用「sqrt()」函數(shù)來表示了。
sqrt(4) = 2
式中,我們知道了指數(shù)的結(jié)果 4,以及指數(shù)的次數(shù) 2,我們想算出指數(shù)的底數(shù)。事實上,開方運算可以是任意次指數(shù)的逆運算,只是開方符號默認次數(shù)為 2,相當于在開方符號的前面有一個下標的 2。我們當然可以試著寫出立方的逆運算,也就是開立方符號:
2^3 = 8
3 sqrt(8) = 2
對數(shù)和 e
當我們求 10 的整數(shù)次冪的時候,我們常稱之為數(shù)量級。
10^2 = 10 x 10 or 100
對這個運算求逆的另一方法是求這個運算結(jié)果(100)以 10 為底數(shù)的對數(shù);用符號來表達的話就寫作 log10()。
log10(100) = 2
這里,我們已知指數(shù)的結(jié)果和底數(shù),而要求指數(shù)的次數(shù)。這讓我們在數(shù)量級上輕松地縮放。除此之外,由于計算機中使用二進制數(shù)學(xué),求以 2 為底數(shù)的對數(shù)也是常用的運算。例如:
2^6 = 64
log2(64) = 6
還有一個非常常見的對數(shù)是以自然底數(shù) e 為底數(shù)的。符號 e 是一個專有符號,代表一個特殊的數(shù)字或者說一個稱為歐拉數(shù)的常數(shù)。歐拉數(shù)是一個無限不循環(huán)小數(shù),可以追溯到無窮的精度。
e = 2.71828...
求 e 的冪被稱為自然指數(shù)函數(shù):
e^2 = 7.38905...
求自然對數(shù)的運算就是這個運算的逆運算,記作 ln():
ln(7.38905...) = 2
忽略更多數(shù)學(xué)細節(jié),自然指數(shù)和自然對數(shù)在數(shù)學(xué)中非常有用,因為它們能用來抽象地描述某一系統(tǒng)的持續(xù)增長,比如說復(fù)利這樣的指數(shù)級增長體系。
希臘字母
希臘字母在數(shù)學(xué)中用來代表變量、常數(shù)、函數(shù)以及其他的概念。比如說,在統(tǒng)計學(xué)中我們用小寫的希臘字母 mu 來代表平均值,而小寫的希臘字母 sigma 表示標準差。在線性回歸中,我們用小寫字母 beta 來代表系數(shù),諸如此類。學(xué)會所有希臘字母的大小寫以及怎么念會帶來極大的幫助。
希臘字母表
維基百科詞條「數(shù)學(xué)、科學(xué)及工程中的希臘字母」是個非常有用的使用指南(https://en.wikipedia.org/wiki/Greek_letters_used_in_mathematics,_science,_and_engineering),因為上面列出來了在數(shù)學(xué)和科學(xué)不同領(lǐng)域內(nèi)每一個希臘字母的常見用法。
數(shù)列符號
機器學(xué)習中的符號常用來描述數(shù)列運算。一個數(shù)列可以是一列數(shù)據(jù),或者代數(shù)項。
索引
讀懂數(shù)列符號的關(guān)鍵是要弄明白數(shù)列中的索引符號。一般來說符號中會明確數(shù)列的起點和終點,比如從 1 到 n,這里的 n 是數(shù)列的長度。在數(shù)列中的項都會用一個諸如 i、j、k 的下標來作為索引,就像數(shù)組的符號一樣。比如說,a_i 就是數(shù)列 a 中的第 i 個元素。如果數(shù)列是二維的,那就需要用到 2 個索引;比如:b_{i,j} 就是數(shù)列 b 的第 i 行, 第 j 列的元素。
數(shù)列運算
我們也可以對一個數(shù)列進行數(shù)學(xué)運算。有兩類運算時常被用到,所以有專門的簡寫運算符來表示它們:累加和累乘。
數(shù)列累加
對一個數(shù)列的累加用大寫的希臘符號 sigma 來表示,而累加的內(nèi)容則用變量名來表示,同時在 sigma 符號的下面明確開始的索引(如 i=1),在 sigma 符號的上面明確結(jié)束的索引(如 n)。
Sigma i = 1, n a_i
這就是數(shù)列 a 的第一個元素到第 n 個元素的累加。
數(shù)列累乘
數(shù)列的累乘是用大寫的希臘字母 pi 來表示的。而對累乘范圍的描述方式與數(shù)列累加類似,開始的索引寫在符號下面,結(jié)束的索引在符號上面。
Pi i = 1, n a_i
這就是數(shù)列 a 的第一個元素到第 n 個元素的累乘。
集合符號
一個集合就是一組互不相同的元素的整體。在定義機器學(xué)習中的一些代數(shù)項的時候我們可能會遇到集合符號。
數(shù)字集合
你最常見的集合是數(shù)字集合,比如說有的代數(shù)項會定義在整數(shù)集或?qū)崝?shù)集內(nèi)。這些常見的數(shù)字集合包括:
所以自然數(shù)的集合: N
所有整數(shù)的集合: Z
所有實數(shù)的集合: R
當然還有很多其他的數(shù)字集合,你可以參考維基百科中的「特殊集合」詞條。我們在定義代數(shù)項的時候常指的是實值或者實數(shù),而不是浮點數(shù)。浮點數(shù)在計算機運算中實際上是離散的數(shù)字。
集合關(guān)系
在定義代數(shù)項的時候常會看到集合關(guān)系符號,集合關(guān)系符號看起來就像是一個大寫的「E」一樣。
1 a E R
這表示定義 a 屬于 R 集,或者說 a 屬于實數(shù)集。同樣,也有許多集合運算符;常見的兩個集合運算符包括:
并集, 就是把兩個集合的元素都包含進來:A U B
交集,就是只包括同時出現(xiàn)在兩個集合中的元素:A ^ B
更多相關(guān)內(nèi)容可以參考維基百科中的「集合」詞條:https://en.wikipedia.org/wiki/Set_(mathematics)。
其他符號
本節(jié)中我會列出一些較常見的其他符號。一種常見的情況是我們會先抽象地定義一個方法,然后用單獨的符號來重新定義一個具體的實現(xiàn)。比如,如果我們在估計一個變量 x,可以在 x 上加一些符號來代表這些估計,比如:
x-bar(x 上方有一橫)
x-prime(x 右上角有一小撇)
x-hat(x 上方有一折線)
同一個符號在諸如數(shù)學(xué)的子領(lǐng)域或不同對象的語境下可能含義不同。比如說,|x|就是個很容易令人不解的符號,在不同的情況下可以指:
|x|: x 的絕對值.
|x|: 向量 x 的長度.
|x|: 集合 x 的勢.
本教程只提及了基礎(chǔ)的數(shù)學(xué)符號。有很多數(shù)學(xué)的子學(xué)科與機器學(xué)習更相關(guān),需要更詳細地復(fù)習一下。包括:
線性代數(shù)
統(tǒng)計學(xué)
概率論
微積分
可能還有一些多變量分析和信息論的內(nèi)容。
5 個在數(shù)學(xué)符號方面尋求幫助的小建議
本部分將列示一些當你被機器學(xué)習中的數(shù)學(xué)符號折磨時可以用到的小建議。
① 考慮一下作者
你在閱讀的論文或者書籍總有一個作者。這個作者可能犯錯,可能有疏忽,也可能是因為他們自己也不明白自己在寫什么,才讓你如此迷惑。從符號的限制中逃離片刻,然后想想作者的目的。他們到底想把什么講清楚?也許你甚至可以用電子郵件、Twitter、Facebook、領(lǐng)英等方式來聯(lián)系作者讓他幫你解釋清楚。你放心,大多數(shù)學(xué)者都希望其他人能夠理解并好好利用他們的研究成果。
② 上維基百科查一查
維基百科上有符號列表,可以幫助你縮小符號含義的可能范圍。我建議你從這兩個詞條開始:
「數(shù)學(xué)符號表」(https://en.wikipedia.org/wiki/List_of_mathematical_symbols)
「數(shù)學(xué)、科學(xué)和工程中的希臘字母」(https://en.wikipedia.org/wiki/Greek_letters_used_in_mathematics,_science,_and_engineering)
③ 用代碼簡述出來
數(shù)學(xué)運算不過就是對數(shù)據(jù)進行函數(shù)處理。把你讀到的任何東西都用變量、for-循環(huán)等寫成偽代碼展示出來。這個過程中你可能打算使用某個腳本語言來處理自己隨意寫出來的數(shù)組,或者甚至一張 Excel 表格的數(shù)據(jù)。
當你閱讀并理解了文章中的技術(shù)改進,那你隨之寫出來的核心代碼才會取得更好的結(jié)果,最終經(jīng)過不斷的改進,你就會寫出一個小小的原型機,可以自己玩耍了!我一度不相信這個方法行得通,直到看到一個學(xué)者僅用幾行 MATLAB 代碼和隨意編寫的數(shù)據(jù)就寫出了一篇非常復(fù)雜的論文的核心代碼。這令我大吃一驚,因為我以前一直堅信機器學(xué)習的系統(tǒng)必須完整地編寫出來并且使用真實數(shù)據(jù)才能運行,所以要學(xué)習任何一篇文章只有找到原始的代碼和數(shù)據(jù)這一條路可走。但是我真的錯了。不過話說回來,那個學(xué)者真的是個天才。
現(xiàn)在我一直都在用這種方法學(xué)習機器學(xué)習,不過我是用 Python 寫出新學(xué)到的技巧的核心代碼。
④ 換條路試試
有一個我在搞懂新技術(shù)時常用的小技巧,即找到所有引用了包含該技術(shù)的論文的其他論文,看看其他人如何演繹、解釋這個新技術(shù)時常能夠解除我在讀原始描述產(chǎn)生的誤解。不過這個辦法不總是有效,反而會更加迷惑,引入了更多令人誤解的方法和新符號。但是總體來說,這個辦法還是有效的。
⑤ 在網(wǎng)上向大神請教
說實話,有很多線上論壇里的人們很愿意向別人解釋數(shù)學(xué)。你可以在屏幕上截張困擾你的符號圖,寫清楚出處和鏈接,然后連同你的困惑一起發(fā)布在問答網(wǎng)站上。推薦以下兩個入門網(wǎng)站:
https://math.stackexchange.com/
https://stats.stackexchange.com/
你都有哪些弄明白數(shù)學(xué)符號的小技巧呢?不妨在評論區(qū)留言。
推薦閱讀
如果你想進一步深入了解,這一部分會告訴你更多相關(guān)資源。
Section 0.1. Reading Mathematics, Vector Calculus, Linear Algebra, and Differential Forms, 2009:http://www.math.cornell.edu/~hubbard/readingmath.pdf
The Language and Grammar of Mathematics, Timothy Gowers:http://assets.press.princeton.edu/chapters/gowers/gowers_I_2.pdf
Understanding Mathematics, a guide, Peter Alfeld:https://math.stackexchange.com/
總結(jié)
在本教程中,你了解了在閱讀機器學(xué)習相關(guān)技術(shù)時可能會遇到的基礎(chǔ)數(shù)學(xué)符號。具體來說,你學(xué)到了:
算數(shù)符號,包括各種乘法、指數(shù)、平方根以及對數(shù)。
數(shù)列和集合符號,包括索引、累加以及集合關(guān)系。
5 個當你在理解數(shù)學(xué)符號遇到困難時可以幫到你的小技巧。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62998 -
算術(shù)
+關(guān)注
關(guān)注
0文章
12瀏覽量
7396 -
機器學(xué)習
+關(guān)注
關(guān)注
66文章
8442瀏覽量
133107
原文標題:一文介紹機器學(xué)習中基本的數(shù)學(xué)符號
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論