換個角度看世界!用代碼了解數學符號

2020-12-04 讀芯術

全文共1595字,預計學習時長6分鐘

學好數理化,走遍天下都不怕!這句話我們從小就聽,放到今天似乎依然行得通。達文西說:「數學是一切科學的基礎」,數學與代碼之間也有著千絲萬縷的聯繫。

似乎任何熱衷於機器學習、數據科學的人都相信,總有一天,他們將研究透徹python庫,暢享裡面的數學知識。大量論文集將展現在你面前,詳細說明其原理。對核心數學的理解越深入,你就越可能獲得靈感,創造新方法。

對於多年來鑽研數學或從事機器數學學習的人來說,將上面這個方程式詳細地解析為含義和代碼並不難。但是對大部分普通人來說,無異於看天書。古代數學家似乎都喜歡用有趣的外觀符號來表述直觀的方法,但卻使方程和變量複雜化了。

實際上,代碼不僅可以編寫程序,還可以讓這些複雜的語言再次變得直觀起來。加深對數學理解的最好方法就是編寫代碼段來描述方程式,這會讓理解變得簡單起來。

看過下面這些例子,相信你也會有這樣的感覺。

求和與乘積

求和符號是迭代數學中最有用和最常用的符號之一。儘管設計複雜,但運算是相當簡單且有用。

x = [1,2, 3, 4, 5]

result = 0for i in range(5):

result += x[i]Output of print(result)-> 15

如上所示,此符號代表從頂部的數字開始的for循環,頂端數字為最大值。在底部設置的變量將成為索引變量,並且每個循環的所有結果都將添加到總值中。

上面這個符號被稱為乘積運算符,跟求和符號運算方式相似,但不會相加每個結果,而是將它們相乘。

x = [1,2, 3, 4, 5]

result = 1for i in range(5):

result *= x[i]Output of print(result)-> 120

條件括號

條件括號用於在特定條件下轉換方程的等式。對於碼農,常見的「 if」語句就是這樣。把它用代碼表述是這樣的:

i = 3

y = [-2, 3, 4, 1]

result = 0if i in y:

result = sum(y)

elif i > 0:

result = 1

else:

result = 0print(result) -> 6

如上所示,每一行括號中的正確表示法指定了每條路徑應執行的操作。我也將多餘的「包含」符號添加到每個條件中,以加強理解。我們檢查了i值是否在y列表中。確認過後,返回數組的總和。如果i值不在數組中,將基於該值返回0或1。

階乘

階乘用「!」表示,幾乎所有計算器上都有此符號。這個符號會好理解一些,不過代碼會帶你進一步了解它的原理。

5!將表示為:

result =1

for i in range(1,5):

result *= i

Output of print(result) -> 120

逐點操作和笛卡爾矩陣乘法

再來看一下數據科學家們經常使用的語言庫(矩陣乘法)如何完成操作。逐點操作很容易理解,簡寫為:

請注意,該操作首先要求每個矩陣必須具有這樣的模型(即#行 =&#列=)

其代碼如下所示:

y =[[2,1],[4,3]]

z = [[1,2],[3,4]]

x = [[0,0],[0,0]]for i in range(len(y)):

for j in range(len(y[0])):

x[i][j] = y[i][j] *z[i][j]print(x) -> [[2, 2], [12, 12]]

最後,讓我們看一下機器學習中最常用的典型矩陣乘法。用複雜的術語來說,此運算為每個主要行與每個次要列的點積。

具體操作是:假設[#行,#列]→矩陣ixj要求#列(i)== #行(j)→最終輸出的模型為[#行(i), #列(j)]

看起來似乎很難理解,圖片能幫助你直觀了解這些操作。

該方程的代碼如下(使用numpy點法):

y =[[1,2],[3,4]]

z = [[2], [1]]

# x has shape [2, 1]

x = [[0], [0]]for i in range(len(y))

for j in range(len(z):

x[i][j] = np.dot(y[i], z[:, j])

print(x) -> [[4],

[10]]

看完這幾個簡單的示例,是不是有種撥開迷霧見光明的感覺!

用簡單的代碼學習數學,你會大有收穫的。

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 4個角度,看數學的發展:數學學科、思想、符號、數學家成長
    數學的發展無非是概念、定理、公式等知識的深入理解和積累,而在這個過程中,伴隨著思想、思維方法,以及組織、工具的發展。在不同的角度,可以把數學劃分為不同的發展階段,比如從學科發展、思想方法、符號使用、數學人才培養等視角,可以看到數學的不同發展階段。
  • 一文介紹機器學習中基本的數學符號
    在機器學習中,你永遠都繞不過數學符號。通常,只要有一個代數項或一個方程符號看不懂,你就完全看不懂整個過程是怎麼回事了。這種境況非常令人沮喪,尤其是對於那些正在成長中的機器學習初學者來說更是如此。如果你能了解一些基本的數學符號以及相關的小技巧,那你就在看懂機器學習方法的論文或書籍描述上前進了一大步。
  • 入門 | 一文介紹機器學習中基本的數學符號
    具體來說有算數符號,包括各種乘法、指數、平方根以及對數;數列和集合符號,包括索引、累加以及集合關係。此外,本文還給出了 5 個當你在理解數學符號遇到困難時可以應急的小技巧。在機器學習中,你永遠都繞不過數學符號。通常,只要有一個代數項或一個方程符號看不懂,你就完全看不懂整個過程是怎麼回事了。
  • 數學公式太晦澀,不如用代碼寫出來:這是程式設計師學數學的獨特方式
    ∑、∏、∈……如果你學習過數學,你一定知道這些符號的含義,而如果我們能用最喜歡的程式語言來理解它們,也許還能帶來更加透徹的領悟。近日,MindbuilderAI & nurio 創始人、機器學習專家 Ian Rowan 介紹了自己藉助代碼來理解數學計算過程的經驗。
  • 角度制、角度符號的由來
    角度是用以量度角的單位,符號為o。關於角度制的由來,目前有兩種說法。一種是採用360這數字,因為它容易被整除。360除了1和自己,還22個真因子,包括了7以外從2到10的數字,所以很多特殊的角的角度都是整數。
  • 但斌薦讀|《奇點臨近》:換個角度看世界
    本期,東方港灣董事長但斌為我們講述:換個角度看世界。——Ray Kurzweil換個角度看世界很多人擔心經濟發展,但如果切換到數字經濟,比如晶片、5G、人工智包括基因技術,你看到的其實是世界的另外一個角度。我覺得人類社會的發展是指數級變遷的結果。
  • 但斌薦讀 | 《奇點臨近》:換個角度看世界
    本期,東方港灣董事長但斌為我們講述:換個角度看世界。——Ray Kurzweil換個角度看世界很多人擔心經濟發展,但如果切換到數字經濟,比如晶片、5G、人工智包括基因技術,你看到的其實是世界的另外一個角度。我覺得人類社會的發展是指數級變遷的結果。
  • 散文:換個角度看世事
    新的名句「橫看成嶺側成峰」,似乎說的是看問題的角度。換個方向、位置、角度,事物也就變化了模樣,甚至與心目中的形象相差甚遠。聽朋友講,近期,他們單位上的領導要求對重點崗位實施輪換。實際上,這歸咎於看問題的角度。人們不可能今生只從事一種職業、一個崗位、一樣工種,更不可能是一套馬車拉到退休,直至返老還鄉。在這種情況下,就要適度變換角度,適當自我調整心情了。自己的心態好壞,來源於角度的變換。同樣的問題,站在當前看長遠,站在一定的高度看,會形成一種高尚的姿態,和換位思考的想法。
  • 為何敲代碼,學好數學很重要?
    用數學思考數千年來,被高效地用於計算方面思考的自然語言就是數學。大多數人並不認為數學是自由的或靈活的。他們在學校看到可怕的符號和對解題步驟生硬記憶的經歷與自由和靈活的數學精神恰恰相反。我希望本文的讀者在數學方面有更好的經歷,比如在離散數學或線性代數課程中; 那種涉及構建清晰的定義和演繹,並用符號寫成散文(推理步驟)的經歷(大多數符號甚至直到16世紀才被發明)。
  • 專屬於極客的代碼符號
    所以請深吸一口氣,然後向世界宣布你是一名極客吧。你的勇氣將賜予你永恆的力量。那麼你會問了,怎樣才能告訴全世界你是一名極客呢?你可以採用國際通用的極客代碼符號!通過這種特殊的代碼符號,你可以讓其他不熟悉你的極客們通過代碼符號的形式對你有所認知和了解。表現自己極客特徵的最好方式就是在你的籤名檔或者博客中展示出自己的極客代碼符號,讓它傳播的越廣越好。
  • 《王者榮耀》空白符號怎麼打 空白符號代碼分享
    王者榮耀空白符號怎麼打?空白符號代碼分享。
  • 大學數學家用二進位代碼和外星人的面孔對麥田怪圈進行解碼
    誰能設計出二進位代碼並在深夜裡在幾個小時內將面孔植入作物中,而又沒有入口或出口標記,同時又在藝術和數學上保持精確?Miia Pitkonen是研究此特定圈子的眾多學者之一。她是芬蘭赫爾辛基大學的物理學家,專門研究醫學物理學。您可以在這裡查看她的簡歷。顯然,她對這種現象很感興趣,因為她發表了一篇題為《平行時空表上的麥田怪圈與生命》的論文。
  • 換個角度看科學
    所以,我們想換個角度來探討一下這個科學,希望對各位能有所啟發: 關於人類起源的認識 目前在教科書中所採用的都是達爾文的進化論來解釋人類的起源,把人跟動物等同起來了從這個角度來看,生命終結了嗎?沒有,他只是切換到另外一個形態中去了而已。也許一個生命曾經多次在不同的時空中來回切換過生命的形態,也就是佛家所說的生命的輪迴轉世等。 站在生命長河的這個角度看,現代科學可能只是涉及了生命中很小的一個片段。
  • 常用數學符號大全、關係代數符號
    現代數學常用的數學符號已超過了200個,其中,每一個符號都有一段有趣的經歷。數學符號也有人說,賣酒的商人用「-」表示酒桶裡的酒賣了多少。以後,當把新酒灌入大桶的時候,就在「-」上加一豎,意思是把原線條勾銷,這樣就成了個「+」號。
  • 數學簡史之「數學的符號化」
    由於數學問題的演算中經常重複同一個步驟,於是產生了創用一些符號來表示重複使用的符號。代數學的三個階段1842年,德國數學史家內塞爾曼在《希臘的代數學》中,根據使用符號的多寡,對代數符號的歷史發展分為三個階段:文詞代數,又稱修辭代數。
  • 1700頁數學筆記火了!全程敲代碼,速度飛快,硬核小哥教你上手
    這位來自歐洲的小哥非常強烈安利Vim文本編輯器,他說:用LaTeX寫數學公式,我選Vim編輯器。它強大、通用、可擴展性很強。只要是基於文本的任務我都用它,寫代碼、編輯LaTeX、寫markdown都是。雖然入門階段的學習曲線超級陡峭,但只要掌握了基本的操作方式,就會欲罷不能。
  • 《數學之美》告訴你如何使用數學思維解碼世界
    吳軍博士的《數學之美》發行於2014年11月,這個原載於谷歌黑板報的書籍,一經發行就取得了巨大的成功。在這本書中,吳軍博士從人類文明起源講到科技革命。讓讀者了解到,原來,在我們生活的每個地方,都有數學的身影。在吳軍博士的筆下,數學將不再是一個一個枯燥的符號,而是結構人類社會的一把鋒利的手術刀。
  • 中國數學是什麼時候與世界接軌的?國際通用數學符號體系的採用
    雖然,中國和其他古代的希臘、巴比倫、埃及等文明,在數學上曾領先世界,但近代確確實實是落後、停滯了。而落後的一個重要原因,從數學本身講,就是沒有創造、引入先進的數學符號。不可否認,我國不完善的符號體系影響了中國古代數學的邏輯推理和證明,使中國古代數學很難產生和形成公理化體系;不完善的符號體系使中國傳統數學很難產生符號代數、解析幾何和微積分近代變量數學。
  • 外匯知識:外匯貨幣代碼符號和縮寫介紹
    貨幣縮寫 - 為三個字母的貨幣代碼,根據ISO 4217標準:標識的前兩個字母定義國家,第三個字母定義貨幣名稱.  貨幣的名稱 - 三個字母的首字母縮寫詞. 前兩個字母基本上表示國家的名稱,最後一個字母是該國貨幣名稱的第一個字母.
  • 換個角度看問題,不要執著於一種思維
    很多時候,我們開始向環境低頭,甚至於開始認命、怨天尤人,豈不知這一切都是我們那習慣性欣賞「工藝品」的角度在作祟罷了。我們的思維常常是被我們自己束縛得難以呼吸,於是,我們只知道一成不變,止步不前,每天迎來朝陽,送走落日,毫無生氣,按部就班。要想突破面前的困境,要想有所成就,我們就要換個角度欣賞「工藝品。」