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

2021-01-08 機器之心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 個當你在理解數學符號遇到困難時可以幫到你的小技巧。

相關焦點

  • 資料| 《 機器學習數學基礎 》
    《 機器學習數學基礎 》機器學習構建於數學語言之上,以表達看似直觀實則難以形式化的概念。一旦得到恰當的形式化,我們就可以使用數學工具推導出機器學習算法設計的選擇結果。這幫助我們理解正在解決的任務,同時了解智能的本質。全球數學專業的學生常見的一種抱怨是數學話題似乎與實際問題沒有什麼相關。我們認為機器學習是促使人們學習數學的直接動力。本書旨在作為構建現代機器學習基礎的大量數學文獻的指南。我們通過直接指出數學概念在基礎機器學習問題中的有用性來促進對數學概念學習的需求。
  • word中的數學公式數學符號怎樣插入?
    在寫數學論文或者 是日常工作生活中,經常會遇到插入數學公式或者是插入特殊的數學符號,這些符號如果不是經常使用電腦敲打,就不知道從何下手了,今天小編以word2007為例,講一下如何插入特殊的數學符號和公式。
  • 成為偉大的數據科學家需要掌握的基本數學
    數學是任何當代科學學科的基石。現代數據科學的幾乎所有技術,包括機器學習,都有深厚的數學基礎。毫無疑問,想要成為一個頂級的數據科學家,需要在各個方面都具有優勢如編程能力、一定的商業智慧、以及獨特的分析能力等。但了解「引擎蓋下的機械原理」總是有好處的。對算法背後的數學機制有一個深入的理解,將使你在同行中具有優勢。
  • 數學公式太晦澀,不如用代碼寫出來:這是程式設計師學數學的獨特方式
    近日,MindbuilderAI & nurio 創始人、機器學習專家 Ian Rowan 介紹了自己藉助代碼來理解數學計算過程的經驗。對於想要在機器學習和數據科學領域創出一番事業或做出一些研究成果的人來說,終有一天會在鼓搗 Python 軟體庫的基礎上更進一步,跟隨自己的好奇心進入背後的數學領域。這通常會將你引向那些描述了各種原理的數量龐大的公開論文集。
  • 機器學習:入門方法與學習路徑 (附資料)
    下面就上述圖中的部分,展開來分別扯幾句: 3.1 數學基礎 有無數激情滿滿大步向前,誓要在機器學習領域有一番作為的同學,在看到公式的一刻突然就覺得自己狗帶了。是啊,機器學習之所以相對於其他開發工作,更有門檻的根本原因就是數學。
  • 一書吃透機器學習!《機器學習基礎》來了,教材PDF、PPT可下載
    有Reddit網友評論,這部教材足夠紮實、內容足夠基礎,學機器學習理論,熟讀這本書就足夠了。500頁乾貨裡都有啥這本書是由紐約大學計算機科學教授Mehryar Mohri、Afshin Rostamizadeh和Ameet Talwalkar共同編寫的,2012年曾經出版了第一版,這一版在此前基礎上進行了內容的完善。
  • 深度學習和機器學習的線性代數入門
    Euclidean範數ML中的正則化Lasso嶺特徵選擇與抽取協方差矩陣特徵值與特徵向量正交性正交集擴張空間基主成分分析(PCA)矩陣分解總結引言機器學習和深度學習建立在數學原理和概念之上,因此AI學習者需要了解基本數學原理。
  • 機器學習算法中的概率方法
    個人主頁:http://lamda.nju.edu.cn/zhangh/。該文為其對雷鋒網(公眾號:雷鋒網) AI 科技評論的獨家供稿,未經許可禁止轉載。摘要本文介紹機器學習算法中的概率方法。為了減輕讀者的負擔並能使儘可能多的讀者從中收益,本文試圖儘可能少地使用數學知識,只要求讀者有基本的微積分、線性代數和概率論基礎,並在第一節對關鍵的數學知識進行回顧和介紹。(b). 本文不省略任何推導步驟,適時補充背景知識,力圖使本節內容是自足的,使機器學習的初學者也能理解本文內容。(c). 機器學習近年來發展極其迅速,已成為一個非常廣袤的領域。
  • 超簡單機器學習入門好書推薦
    人工智慧(AI)和機器學習(ML)是全球業務、技術和研究人員都感興趣的話題,關於它的書籍、視頻課程也非常的多,前天發布的文章中就有推薦bilibili上面很火爆的機器學習課程。想要深入學習,可以先系統的看看相關的書籍和視頻課程,機器學習可以從兩個方向說起:學習算法和應用領域,如果你有足夠的機器學習知識,並對特定的領域有良好的理解,在職場供求中你肯定可以站在優勢的那一邊,以下為你推薦5本入門好書!1、周志華《機器學習理論導引》這本書為有志於學習和研究機器學習理論的讀者提供導引。
  • 七年級數學利用提公因式法分解因式中,小心「符號」的陷阱
    編首語:義務教育數學課程標準(2011年版)指出:「符號意識主要指能夠理解並且運用符號表示數、數量關係和變化規律:知道使用符號可以進行運算和推理,得到的結論具有一般性。建立符號意識有助於學生理解符號的使用是數學表達和進行數學思考的重要形式。」
  • 女生用數學符號創意示愛 獲情詩比賽一等獎(圖)
    原標題:女生用數學符號創意示愛 獲情詩比賽一等獎(圖) 吳華傑寫的情詩  見慣了「我愛你」、「ILOVEYOU」等示愛方式,你是否會感到審美疲勞?近日,武漢長江工商學院大一女生吳華傑用數學符號「-∞」、「+∞」和幾個簡單的英文單詞向男友表達愛意,被同學們稱讚「高端、大氣、上檔次」,並獲得了該校舉辦的「三行情詩」徵文比賽一等獎。  昨日,吳華傑向記者展示了她的創意示愛:「INPUT (-∞,+∞),IF(-∞THEN+∞],ELSE+∞)」。據了解,吳華傑是該校經濟與商務外語學院學生,頗喜歡研究、創作五言絕句和七言律詩等古詩詞。
  • TensorFlow(Keras)中的正則化技術及其實現(附代碼)
    可以通過減少訓練數據中的特徵數量並通過各種技術降低網絡的複雜性來解決過度擬合問題正則化技術通過限制網絡內權重值所保持的值範圍來減少神經網絡過度擬合的可能性(稍後會對此進行更多介紹)。本文介紹了兩種對損失函數的結果施加約束條件的正則化策略。該損失函數是一種方法,量化「 如何 」機器學習模型執行。量化是基於一組輸入的輸出(成本),這些輸入稱為參數值。
  • 優秀機器學習和AI課程推薦,帶你從入門到精通
    介紹性講座在機器學習和人工智慧方面,這些都是很好的入門課程。沒有ML和AI的經驗是必要的。你應該有一些線性代數,微積分入門和概率的知識。一些編程經驗也是值得推薦的。機器學習(斯坦福CS229)|課程網站這個機器學習的現代經典課程是理解機器學習的概念和技術的一個很好的起點。本課程涵蓋了許多廣泛使用的技巧,課堂講稿詳細並複習了必要的數學概念。
  • 抽象符號演繹愛的表情 數學情詩顛覆理科生形象
    帶著數學符號和微積分概念的三行情詩近日在網絡上引爆圍觀。12月初,由復旦大學數學科學學院分團委舉辦的情詩比賽最終收到307份理科生的投稿,三周的網絡總點擊量近百萬。   數學情詩寫出意料之外的浪漫   「[/陌生,愛/)」   三個漢字、兩個數學符號、一個標點符號就組成了一首情詩。
  • 機器學習十大算法都是何方神聖?看完你就懂了
    大數據原本在工業界中就已經炙手可熱,而基於大數據的機器學習則更加流行,因為其通過對數據的計算,可以實現數據預測、為公司提供決策依據。跟我們生活息息相關的最常見機器學習算法包括電影推薦算法、圖書推薦算法。這些算法都是基於你的電影觀看記錄或圖書購買記錄來給你做推薦的。James Le 在 KDnuggets 上發布了一篇文章,介紹了他是如何入門機器學習的。
  • 清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論...
    總共2個小時時長的課程,內容主要分為三大部分:貝葉斯基本理論、模型和算法;可擴展的貝葉斯方法;深度生成模型。本文乃三大內容中的第一部分:貝葉斯基本理論、模型和算法。學術主任周志華教授介紹詞:朱軍老師是我們國內機器學習非常優秀的一位年輕的學者,他特別在貝葉斯學習方面有一套非常有特色的東西,大家知道貝葉斯學習是機器學習裡面非常主流的一個流派,朱軍老師是把這兩個東西做了非常有機的結合,今天請朱軍老師將給大家做一個全面的貝葉斯學習前沿介紹,下面歡迎朱軍老師。
  • AI Time 第二期:論道自動機器學習與可解釋機器學習
    第二期以「論道自動機器學習和可解釋機器學習」為主題,現場嘉賓針對多個問題,如自動機器學習(AutoML)和可解釋機器學習(Explainable ML)的區別、各自優劣、未來發展等展開精彩討論。接下來,雷鋒網 AI 科技評論將選取嘉賓的真知灼見,讓大家在這場思辨會中對 autoML 和 Explainable ML 增添一份了解,對他們的差異有更深入的認識。
  • 南陽師範學院數學與統計學院|用微小的符號,勾勒出大千世界
    赫爾曼外爾說過:「數學是無窮的科學」,它能用微小的符號,勾勒出大千世界。想深入領略數學的無限魅力嗎?南陽師範學院數學與統計學院,歡迎大家的加入!學院學生連年在國際、國內學科競賽中成績優異,近三年獲國際一等獎2項,國家二等獎5項,省一等獎30餘項;考研錄取率連年在20%左右,就業率在98%左右,學院畢業生深受用人單位歡迎。專業介紹1.數學與應用數學學制四年,授予理學學士學位。
  • 機器學習從入門到進階丨統計學習的關鍵概念
    轉化過程是和數學相關的,用數學成分計算輸入數據來預估輸出,這些數學成分稱為參數。 如下例: 是什麼決定了某人的收入?例如收入是由受教育程度和工作經驗決定的。
  • 95後數據科學家教你從零自學機器學習,這有3本入門必看書籍
    最近一位22歲的數據科學家Dario,以自學經歷中用到的資源告訴你,如何從零開始學習數據科學。所謂從零開始自學,是針對那些可以自主學習在線課程和閱讀書籍,卻沒有上班之餘接受課堂教育的人士。在學習之前,如果你對線性代數、微積分、概率論與統計學、程序設計都不太熟悉,Dario建議先去學習一下這幾門數學課程,然後再學習Python。