一文介紹機器學習中基本的數學符號

2021-01-10 機器之心Pro

在機器學習中,你永遠都繞不過數學符號。

通常,只要有一個代數項或一個方程符號看不懂,你就完全看不懂整個過程是怎麼回事了。這種境況非常令人沮喪,尤其是對於那些正在成長中的機器學習初學者來說更是如此。

如果你能了解一些基本的數學符號以及相關的小技巧,那你就在看懂機器學習方法的論文或書籍描述上前進了一大步。

在本教程中,你將學到機器學習技術描述中遇到的基本數學符號。

在學完整個教程後,你會知道:

算術符號,包括若干種乘法、指數、平方根以及對數數列和集合符號,包括索引、求和以及集合關係5 種當你看不明白數學符號的時候可以採用的應急方法

讓我們開始學習吧!

機器學習中的基本數學符號

教程概覽

本教程分為 7 個部分,分別是:

1. 看不懂數學符號的沮喪

2. 算術符號

3. 希臘字母

4. 數列符號

5. 集合符號

6. 其他符號

7. 更多幫助資源

看不懂數學符號的沮喪

你在閱讀機器學習算法的相關內容時會遇到一些數學符號。舉例來說,這些符號可能會被用來:

描述一個算法描述數據的預處理描述結果描述測試工具描述含義

你可能在論文、教科書、博文以及其他地方看到這些描述。相關代數項常常會給出完整定義,但你還是會看到不少陌生的數學符號。我曾多次深受其苦,簡直太令人感到挫敗了!

在本教程中,你會複習到一些幫助你看懂機器學習方法描述的基本數學符號。

算術符號

在本節中,我們將重溫一些基礎算數中你不太熟悉的符號,以及畢業之後一些可能遺忘的概念。

簡單算術

算術的基本符號你已很熟悉。例如:

加法:1 + 1 = 2減法:2 – 1 = 1乘法:2 x 2 = 4除法:2 / 2 = 1

大多數的數學運算都有一個對應的逆運算,進行相反的運算過程;比如,減法是加法的逆運算,而除法是乘法的逆運算。

代數

我們常希望用更抽象的方式來描述運算過程,以將其與具體的數據或運算區分開來。因此代數的運用隨處可見:也就是用大寫和/或小寫字母來代表一個項,或者一個數學符號體系中的概念。用希臘字母來代替英文字母也是很常見的用法。數學中的每一個領域都可能有一些保留字母,這些字母都會代表一個特定的東西。儘管如此,代數中的項總應在描述中被定義一下,如果作者沒有去定義,那是他的問題,不是你的錯。

乘法符號

乘法是一個常見的符號,有幾種記法。一般是用一個小小的「ⅹ」或者星號「*」來代表乘法:

c = a x bc = a * b

你有時也會看到用一個點來代表乘法,比如:

c = a . b

這個式子其實和下式是一樣的意思:

c = a x b

或者你可能會看到運算符被省略,先前被定義的代數項之間沒有符號也沒有空格,比如:

c = ab

這還是一樣的意思。

指數和平方根

指數就是一個數字的冪次。這個符號寫作正常大小的原數(底數)以及一個上標數(指數),例如:

2^3

這個表達式的計算結果就是 3 個 2 連乘,或者說是 2 的立方:

2 x 2 x 2 = 8

求一個數的冪,就默認是求它的平方。

2^2 = 2 x 2 = 4

平方運算的效果可以用開方來逆轉。開方在數學中是在被開方的數字上面加一個開方符號,這裡簡單起見,直接用「sqrt()」函數來表示了。

sqrt(4) = 2

式中,我們知道了指數的結果 4,以及指數的次數 2,我們想算出指數的底數。事實上,開方運算可以是任意次指數的逆運算,只是開方符號默認次數為 2,相當於在開方符號的前面有一個下標的 2。我們當然可以試著寫出立方的逆運算,也就是開立方符號:

2^3 = 83 sqrt(8) = 2

對數和 e

當我們求 10 的整數次冪的時候,我們常稱之為數量級。

10^2 = 10 x 10 or 100

對這個運算求逆的另一方法是求這個運算結果(100)以 10 為底數的對數;用符號來表達的話就寫作 log10()。

log10(100) = 2

這裡,我們已知指數的結果和底數,而要求指數的次數。這讓我們在數量級上輕鬆地縮放。除此之外,由於計算機中使用二進位數學,求以 2 為底數的對數也是常用的運算。例如:

2^6 = 64log2(64) = 6

還有一個非常常見的對數是以自然底數 e 為底數的。符號 e 是一個專有符號,代表一個特殊的數字或者說一個稱為歐拉數的常數。歐拉數是一個無限不循環小數,可以追溯到無窮的精度。

e = 2.71828...

求 e 的冪被稱為自然指數函數:

e^2 = 7.38905...

求自然對數的運算就是這個運算的逆運算,記作 ln():

ln(7.38905...) = 2

忽略更多數學細節,自然指數和自然對數在數學中非常有用,因為它們能用來抽象地描述某一系統的持續增長,比如說複利這樣的指數級增長體系。

希臘字母

希臘字母在數學中用來代表變量、常數、函數以及其他的概念。比如說,在統計學中我們用小寫的希臘字母 mu 來代表平均值,而小寫的希臘字母 sigma 表示標準差。在線性回歸中,我們用小寫字母 beta 來代表係數,諸如此類。學會所有希臘字母的大小寫以及怎麼念會帶來極大的幫助。

希臘字母表。

維基百科詞條「數學、科學及工程中的希臘字母」是個非常有用的使用指南(https://en.wikipedia.org/wiki/Greek_letters_used_in_mathematics,_science,_and_engineering),因為上面列出來了在數學和科學不同領域內每一個希臘字母的常見用法。

數列符號

機器學習中的符號常用來描述數列運算。一個數列可以是一列數據,或者代數項。

索引

讀懂數列符號的關鍵是要弄明白數列中的索引符號。一般來說符號中會明確數列的起點和終點,比如從 1 到 n,這裡的 n 是數列的長度。在數列中的項都會用一個諸如 i、j、k 的下標來作為索引,就像數組的符號一樣。比如說,a_i 就是數列 a 中的第 i 個元素。如果數列是二維的,那就需要用到 2 個索引;比如:b_{i,j} 就是數列 b 的第 i 行, 第 j 列的元素。

數列運算

我們也可以對一個數列進行數學運算。有兩類運算時常被用到,所以有專門的簡寫運算符來表示它們:累加和累乘。

數列累加

對一個數列的累加用大寫的希臘符號 sigma 來表示,而累加的內容則用變量名來表示,同時在 sigma 符號的下面明確開始的索引(如 i=1),在 sigma 符號的上面明確結束的索引(如 n)。

Sigma i = 1, n a_i

這就是數列 a 的第一個元素到第 n 個元素的累加。

數列累乘

數列的累乘是用大寫的希臘字母 pi 來表示的。而對累乘範圍的描述方式與數列累加類似,開始的索引寫在符號下面,結束的索引在符號上面。

Pi i = 1, n a_i

這就是數列 a 的第一個元素到第 n 個元素的累乘。

集合符號

一個集合就是一組互不相同的元素的整體。在定義機器學習中的一些代數項的時候我們可能會遇到集合符號。

數字集合

你最常見的集合是數字集合,比如說有的代數項會定義在整數集或實數集內。這些常見的數字集合包括:

所以自然數的集合: N所有整數的集合: Z所有實數的集合: R

當然還有很多其他的數字集合,你可以參考維基百科中的「特殊集合」詞條。我們在定義代數項的時候常指的是實值或者實數,而不是浮點數。浮點數在計算機運算中實際上是離散的數字。

集合關係

在定義代數項的時候常會看到集合關係符號,集合關係符號看起來就像是一個大寫的「E」一樣。

1 a E R

這表示定義 a 屬於 R 集,或者說 a 屬於實數集。同樣,也有許多集合運算符;常見的兩個集合運算符包括:

併集, 就是把兩個集合的元素都包含進來:A U B交集,就是只包括同時出現在兩個集合中的元素:A ^

更多相關內容可以參考維基百科中的「集合」詞條:https://en.wikipedia.org/wiki/Set_(mathematics)。

其他符號

本節中我會列出一些較常見的其他符號。一種常見的情況是我們會先抽象地定義一個方法,然後用單獨的符號來重新定義一個具體的實現。比如,如果我們在估計一個變量 x,可以在 x 上加一些符號來代表這些估計,比如:

x-bar(x 上方有一橫)x-prime(x 右上角有一小撇)x-hat(x 上方有一折線)

同一個符號在諸如數學的子領域或不同對象的語境下可能含義不同。比如說,|x|就是個很容易令人不解的符號,在不同的情況下可以指:

|x|: x 的絕對值.|x|: 向量 x 的長度.|x|: 集合 x 的勢.

本教程只提及了基礎的數學符號。有很多數學的子學科與機器學習更相關,需要更詳細地複習一下。包括:

線性代數統計學概率論微積分

可能還有一些多變量分析和資訊理論的內容。

5 個在數學符號方面尋求幫助的小建議

本部分將列示一些當你被機器學習中的數學符號折磨時可以用到的小建議。

考慮一下作者

你在閱讀的論文或者書籍總有一個作者。這個作者可能犯錯,可能有疏忽,也可能是因為他們自己也不明白自己在寫什麼,才讓你如此迷惑。從符號的限制中逃離片刻,然後想想作者的目的。他們到底想把什麼講清楚?也許你甚至可以用電子郵件、Twitter、Facebook、領英等方式來聯繫作者讓他幫你解釋清楚。你放心,大多數學者都希望其他人能夠理解並好好利用他們的研究成果。

上維基百科查一查

維基百科上有符號列表,可以幫助你縮小符號含義的可能範圍。我建議你從這兩個詞條開始:

「數學符號表」(https://en.wikipedia.org/wiki/List_of_mathematical_symbols)「數學、科學和工程中的希臘字母」(https://en.wikipedia.org/wiki/Greek_letters_used_in_mathematics,_science,_and_engineering)

用代碼簡述出來

數學運算不過就是對數據進行函數處理。把你讀到的任何東西都用變量、for-循環等寫成偽代碼展示出來。這個過程中你可能打算使用某個腳本語言來處理自己隨意寫出來的數組,或者甚至一張 Excel 表格的數據。

當你閱讀並理解了文章中的技術改進,那你隨之寫出來的核心代碼才會取得更好的結果,最終經過不斷的改進,你就會寫出一個小小的原型機,可以自己玩耍了!我一度不相信這個方法行得通,直到看到一個學者僅用幾行 MATLAB 代碼和隨意編寫的數據就寫出了一篇非常複雜的論文的核心代碼。這令我大吃一驚,因為我以前一直堅信機器學習的系統必須完整地編寫出來並且使用真實數據才能運行,所以要學習任何一篇文章只有找到原始的代碼和數據這一條路可走。但是我真的錯了。不過話說回來,那個學者真的是個天才。

現在我一直都在用這種方法學習機器學習,不過我是用 Python 寫出新學到的技巧的核心代碼。

換條路試試

有一個我在搞懂新技術時常用的小技巧,即找到所有引用了包含該技術的論文的其他論文,看看其他人如何演繹、解釋這個新技術時常能夠解除我在讀原始描述產生的誤解。不過這個辦法不總是有效,反而會更加迷惑,引入了更多令人誤解的方法和新符號。但是總體來說,這個辦法還是有效的。

在網上向大神請教

說實話,有很多線上論壇裡的人們很願意向別人解釋數學。你可以在屏幕上截張困擾你的符號圖,寫清楚出處和連結,然後連同你的困惑一起發布在問答網站上。推薦以下兩個入門網站:

https://math.stackexchange.com/https://stats.stackexchange.com/

你都有哪些弄明白數學符號的小技巧呢?不妨在評論區留言。

推薦閱讀

如果你想進一步深入了解,這一部分會告訴你更多相關資源。

Section 0.1. Reading Mathematics, Vector Calculus, Linear Algebra, and Differential Forms, 2009:http://www.math.cornell.edu/~hubbard/readingmath.pdfThe Language and Grammar of Mathematics, Timothy Gowers:http://assets.press.princeton.edu/chapters/gowers/gowers_I_2.pdfUnderstanding Mathematics, a guide, Peter Alfeld:https://math.stackexchange.com/

總結

在本教程中,你了解了在閱讀機器學習相關技術時可能會遇到的基礎數學符號。具體來說,你學到了:

算數符號,包括各種乘法、指數、平方根以及對數。數列和集合符號,包括索引、累加以及集合關係。5 個當你在理解數學符號遇到困難時可以幫到你的小技巧。

相關焦點

  • 符號邏輯的基本概念
    現代邏輯則是將命題形式化,取而代之的是以符號構成的通用式來確立有效性。接下來,將開始現代邏輯的第一章符號邏輯,在介紹之前還是得重複講解一下,關於語言與信息的關係,語言知識信息的載體,詞彙是構成的基本單元,詞彙其實就是一種符號,要明白的是詞彙或符號本身是沒有意義的,我們所需要了解的是詞彙背後所承載的信息內容。
  • 數學符號:宇宙的語言
    上圖中的中文符號表示的是清朝數學家李善蘭對微分方程的演示,如果不做說明,就像天書一樣,無法讓人看懂,更無法快速傳播。這體現了在清朝把微積分剛剛引入中國時,表達方式的笨拙。到了16世紀,科學的迅速發展,對數學尤其是代數學提出了新的要求,促使代數學變革,應運而生地出現了真正的代數符號。這項工作首推法國數學家韋達(1540—1603),他在前人基礎上對代數符號體系的建立做出了重要貢獻;後來的法國數學家笛卡爾等人加盟,才逐漸使數學符號體系基本形成。這一探索、演變過程,從古至今花了三千多年的時間。微積分是發明還是發現?
  • 數學符號大全:常用與特殊符號,不同符號的含義、讀法
    大家都知道,數學裡面會有很多很多的數學符號,各種常見的,如+ - × ÷ = ≠ ≈ / > < ≯ ≮ ≤ ≥ ∵ ∴ ∽ ≌ 等,這些相對簡單也比較容易念出來,而一些特殊的符號,很多同學甚至不知道它的讀音,現在小編將所有的數學符號都匯總整理了一遍,包括一些常用的數學符號
  • 數學公式太晦澀,不如用代碼寫出來:這是程式設計師學數學的獨特方式
    ∑、∏、∈……如果你學習過數學,你一定知道這些符號的含義,而如果我們能用最喜歡的程式語言來理解它們,也許還能帶來更加透徹的領悟。近日,MindbuilderAI & nurio 創始人、機器學習專家 Ian Rowan 介紹了自己藉助代碼來理解數學計算過程的經驗。
  • 算法應用|機器學習python應用,初識機器學習是怎樣滴感受?
    本系列文章主要介紹機器學習在實踐中的應用,介紹利用 Python 的生態環境,使用機器學習的算法來解決工程實踐中的問題,而不是介紹算法本身。本系列文章參考了《機器學習Python實踐》,會通過例子一步一步地引導大家使用機器學習來處理和分類與回歸模型相關的問題。
  • 用代碼了解數學符號
    對於多年來鑽研數學或從事機器數學學習的人來說,將上面這個方程式詳細地解析為含義和代碼並不難。但是對大部分普通人來說,無異於看天書。古代數學家似乎都喜歡用有趣的外觀符號來表述直觀的方法,但卻使方程和變量複雜化了。實際上,代碼不僅可以編寫程序,還可以讓這些複雜的語言再次變得直觀起來。
  • 數學符號的來歷
    現在常用的數學符號已超過了200個 每一個看似高冷的數學符號 都有一段有趣的歷史 01 12加號數學符號「+」號是由拉丁文「et」(「和」的意思)演變而來的。
  • 威斯康辛大學《機器學習導論》2020秋季課程完結,課件、視頻資源已...
    他最近的一些研究方法已應用於生物識別領域,解決面部圖像隱私問題,其他的研究重點包括開發與機器學習中的模型評估、對抗攻擊和 AutoML 有關方法和應用程式。他也是《Python 機器學習》一書的作者,曾被科技博客 Analytics Vidhya 評為 GitHub 上具影響力的數據科學家之一。
  • 從Bengio演講發散開來:探討邏輯推理與機器學習
    1.2.3 數學推理自動化上面的數獨例子說明了一階邏輯比命題邏輯更具表現力。不過,我們能用它來模擬的東西有限制嗎?實際上,單是一階邏輯就相當強大,它強大到可以模擬幾乎所有的古典數學。在標準數學的概念下工作,使用一階邏輯可以陳述你想要證明的任何目標(一個猜想),並能讓機器自動檢查你的工作(數學證明)。這種方法就是直接使用數學的推理自動化。
  • Matlab中最基本的數學求解命令
    基本線性代數[R jb]=rref(A)將A化為行最簡型矩陣。R為所得行最簡型矩陣,jb是一個向量顯示每行首非0元所在列號。inv(A)求方陣A的逆,注意結果可能出現錯誤。求解線性方程組微積分數學函數的定義M函數文件,可執行字符串均可用於定義數學函數,但是數學函數通常使用符號表達式和匿名函數來定義.為了與大多數函數(特別是求解析解的函數)兼容,這裡推薦使用符號表達式.
  • 機器學習中的數學:為什麼對數如此重要
    如果你住在一棟樓的10層,你會選擇走樓梯還是乘電梯。這兩種選擇的目的都是一樣的:在漫長的一天工作之後,你想回到你的公寓。當然,如果你是一個忙碌的人,沒有時間去健身房,把樓梯當作是有氧運動的簡易版,那麼走樓梯會更好。但是除此之外,你更可能選擇乘電梯。
  • 4個角度,看數學的發展:數學學科、思想、符號、數學家成長
    數學的發展無非是概念、定理、公式等知識的深入理解和積累,而在這個過程中,伴隨著思想、思維方法,以及組織、工具的發展。在不同的角度,可以把數學劃分為不同的發展階段,比如從學科發展、思想方法、符號使用、數學人才培養等視角,可以看到數學的不同發展階段。
  • 數學符號,鮮為人知的偉大發明!
    因為沒有數學符號,人們在數學表達裡用的就是日常生活中的語言!代數學》一書中,舉例講解他的偉大數學發明—方程時,有一段是這樣說的:「平方加數字等於根。然後如同往常一樣,無論它們的結果是否一樣,從這個立方到事物的三分之一。然後在一般的結果裡,從被減去的它們的立方根中,你得到了主要的事情。」
  • 中考數學中基本運算的複習策略
    數學學科作為中考的重要科目,考察的內容比較多,所佔分值也比較大。怎麼樣讓孩子在數學考試中取得滿意的成績,是每位家長關注的焦點。針對這些情況,我們可以把中考內容分成相關的模塊進行高效的複習。有效複習基本運算是最重要的模塊之一。考察的主要內容有:實數的計算,包括有理數的加減乘除,絕對值,乘方,最簡二次根式,特殊的銳角三角函數值,正整數指數冪,負整數指數冪,數或式的零次冪的綜合計算。
  • 故事九:曹衝稱的不是「象」;數學大師沒有符號用?
    問題6:幾何——為什麼是數學中的「另類」?本來計劃寫10篇啟蒙數學的文章,最後匯總才八篇,但是也是完成了目標:介紹了計數(記數)史、數的分類、加減乘除、基本圖形的認知、如何比較、生活當中的各種量。今天是最後的一篇,主要介紹數學故事。後面正在選題目,計劃寫作10篇有關計算的文章。
  • 數學學習和研究的高效語言,數學符號,簡明、直觀、準確、優美
    數學思維是一種典型化的科學、抽象思維,而數學思維精準、有效地表達、傳播,單純依靠日常語言是很難被人所感知的。同時,數學思維的一個鮮明特點是其表達語言的符號化、形式化。數學符號相對於日常書面語言和口頭語言是有局限性的,它是為適應數學思維特殊需要而出現的。
  • 數學符號讀音大全
    (4)結合符號:如圓括號「()」方括號「[]」,花括號「{}」括線「—」(5)性質符號:如正號「+」,負號「-」,絕對值符號「‖」(6)省略符號:如三角形(△),正弦(sin),餘弦(cos),x的函數(f(x)),極限(lim),因為(∵),所以(∴),總和(∑),連乘(∏),從n個元素中每次取出r個元素所有不同的組合數(C(r)(n) ),冪(A,Ac,Aq,x^n),階乘
  • 《權力的遊戲》中夜王的怪異符號是基於數學原理?
    觀眾對異鬼知之甚少,他們的起源在第六季就已經揭曉了,但是他們的力量到底有多大還沒有得到解釋,他們在殺戮中留下的神秘符號也沒有得到解釋。在第八季首播集《臨冬城》中,這些符號中有一個很顯眼,是由人體部分構成的。《權力的遊戲》第一次將一個奇怪的符號與不死軍團聯繫在一起是在第一季第一集《凜冬將至》,威爾丁的身體部分被留在一個奇怪的圓圈裡,中間有一條線,它看起來像Φ。
  • 普林,DeepMind新研究:結合深度學習符號回歸,深度模型中看見宇宙
    符號模型緊湊,具備可解釋性和良好的泛化能力,但很難處理高維機器學習問題;深度模型擅長在高維空間中學習,但泛化性和可解釋性卻很差。那麼有沒有什麼辦法可以取二者之所長呢?這項研究做到了。如何將深度模型轉換為符號方程?
  • 一書吃透機器學習!《機器學習基礎》來了,教材PDF、PPT可下載
    有Reddit網友評論,這部教材足夠紮實、內容足夠基礎,學機器學習理論,熟讀這本書就足夠了。500頁乾貨裡都有啥這本書是由紐約大學計算機科學教授Mehryar Mohri、Afshin Rostamizadeh和Ameet Talwalkar共同編寫的,2012年曾經出版了第一版,這一版在此前基礎上進行了內容的完善。