自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

換個角度看世界!用代碼了解數(shù)學(xué)符號

開發(fā) 前端
實(shí)際上,代碼不僅可以編寫程序,還可以讓這些復(fù)雜的語言再次變得直觀起來。加深對數(shù)學(xué)理解的最好方法就是編寫代碼段來描述方程式,這會讓理解變得簡單起來。

學(xué)好數(shù)理化,走遍天下都不怕!這句話我們從小就聽,放到今天似乎依然行得通。達(dá)芬奇說:“數(shù)學(xué)是一切科學(xué)的基礎(chǔ)”,數(shù)學(xué)與代碼之間也有著千絲萬縷的聯(lián)系。

[[320686]]

似乎任何熱衷于機(jī)器學(xué)習(xí)、數(shù)據(jù)科學(xué)的人都相信,總有一天,他們將研究透徹python庫,暢享里面的數(shù)學(xué)知識。大量論文集將展現(xiàn)在你面前,詳細(xì)說明其原理。對核心數(shù)學(xué)的理解越深入,你就越可能獲得靈感,創(chuàng)造新方法。

換個角度看世界!用代碼了解數(shù)學(xué)符號

對于多年來鉆研數(shù)學(xué)或從事機(jī)器數(shù)學(xué)學(xué)習(xí)的人來說,將上面這個方程式詳細(xì)地解析為含義和代碼并不難。但是對大部分普通人來說,無異于看天書。古代數(shù)學(xué)家似乎都喜歡用有趣的外觀符號來表述直觀的方法,但卻使方程和變量復(fù)雜化了。

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

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

求和與乘積

換個角度看世界!用代碼了解數(shù)學(xué)符號

求和符號是迭代數(shù)學(xué)中最有用和最常用的符號之一。盡管設(shè)計(jì)復(fù)雜,但運(yùn)算是相當(dāng)簡單且有用。

  1. x = [1,2, 3, 4, 5] 
  2. result = 0for i in range(5): 
  3.     result += x[i]Output of print(result)-> 15 

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

換個角度看世界!用代碼了解數(shù)學(xué)符號

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

  1. x = [1,2, 3, 4, 5] 
  2. result = 1for i in range(5): 
  3.     result *= x[i]Output of print(result)-> 120 

 

條件括號

換個角度看世界!用代碼了解數(shù)學(xué)符號

條件括號用于在特定條件下轉(zhuǎn)換方程的等式。對于碼農(nóng),常見的“ if”語句就是這樣。把它用代碼表述是這樣的:

  1. i = 3 
  2. y = [-2, 3, 4, 1] 
  3. result = 0if i in y: 
  4. result = sum(y) 
  5. elif i > 0: 
  6. result = 1 
  7. else: 
  8. result = 0print(result) -> 6 

如上所示,每一行括號中的正確表示法指定了每條路徑應(yīng)執(zhí)行的操作。我也將多余的“包含”符號添加到每個條件中,以加強(qiáng)理解。我們檢查了i值是否在y列表中。確認(rèn)過后,返回?cái)?shù)組的總和。如果i值不在數(shù)組中,將基于該值返回0或1。

階乘

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

5!將表示為:

  1. result =1 
  2. for i in range(1,5): 
  3. result *= i 
  4. Output of print(result) -> 120 

逐點(diǎn)操作和笛卡爾矩陣乘法

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

換個角度看世界!用代碼了解數(shù)學(xué)符號

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

其代碼如下所示:

  1. y =[[2,1],[4,3]] 
  2. z = [[1,2],[3,4]] 
  3. x = [[0,0],[0,0]]for i in range(len(y)): 
  4. for j in range(len(y[0])): 
  5.         x[i][j] = y[i][j] *z[i][j]print(x) -> [[2, 2], [12, 12]] 

最后,讓我們看一下機(jī)器學(xué)習(xí)中最常用的典型矩陣乘法。用復(fù)雜的術(shù)語來說,此運(yùn)算為每個主要行與每個次要列的點(diǎn)積。

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

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

換個角度看世界!用代碼了解數(shù)學(xué)符號

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

  1. y =[[1,2],[3,4]] 
  2. z = [[2], [1]] 
  3. # x has shape [2, 1] 
  4. x = [[0], [0]]for i in range(len(y)) 
  5. for j in range(len(z): 
  6.         x[i][j] = np.dot(y[i], z[:, j]) 
  7. print(x) -> [[4], 
  8.              [10]] 

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

用簡單的代碼學(xué)習(xí)數(shù)學(xué),你會大有收獲的。

責(zé)任編輯:趙寧寧 來源: 讀芯術(shù)
相關(guān)推薦

2017-11-20 16:17:50

智慧城市

2019-10-23 19:42:52

5G4GVR

2014-03-12 17:40:07

GlusterFS分布式文件系統(tǒng)

2022-07-29 11:06:47

架構(gòu)開發(fā)

2019-01-02 08:04:29

GAN損失函數(shù)神經(jīng)網(wǎng)絡(luò)

2009-03-25 09:48:00

WLAN無線網(wǎng)絡(luò)

2011-05-31 14:18:54

橫屏UI設(shè)計(jì)

2012-12-07 09:30:24

2020-05-12 10:20:39

K8s kubernetes中間件

2013-12-11 21:48:38

OpenStack

2009-08-06 10:58:55

jQuery和XAML

2019-02-01 14:45:41

前端

2021-01-19 11:07:19

深度學(xué)習(xí)神經(jīng)+符號知識圖譜

2022-07-29 08:58:44

多線程并發(fā)

2017-05-31 15:06:30

2022-11-07 21:07:11

2019-10-08 09:29:41

架構(gòu)代碼業(yè)務(wù)邏輯

2025-04-15 08:50:00

2020-02-04 09:53:05

數(shù)據(jù)安全數(shù)據(jù)泄漏信息安全

2019-04-28 16:10:50

設(shè)計(jì)Redux前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號