日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
不用任何數(shù)學(xué)方法,如何計(jì)算圓面積

殺雞用牛刀,我們用機(jī)器學(xué)習(xí)方法來算圓的面積。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的興國網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

詢問任何人圓的面積是多少,他們都會(huì)告訴你不就是????r2嗎。但如果你問他們?yōu)槭裁?,他們很可能并不知道?/p>

這是因?yàn)閳A的面積公式的證明在大多數(shù)情況下要么不直觀,不令人滿意,要么充斥著積分等高級(jí)數(shù)學(xué)概念。

借鑒統(tǒng)計(jì)學(xué)習(xí)和機(jī)器學(xué)習(xí)的核心原理,我們可以使用蒙特卡羅模擬和多項(xiàng)式/二次回歸來創(chuàng)建基于計(jì)算的方法,以找到圓的面積公式。

在不使用任何數(shù)學(xué)運(yùn)算的情況下得出圓的面積,我們使用了蒙特卡羅方法。從探索不規(guī)則形狀的面積到預(yù)測(cè)股票市場的情況,都用到了蒙特卡羅方法。該方法的核心思想是引入隨機(jī)性,并測(cè)量系統(tǒng)對(duì)其作出的反饋,甚至可以在不了解系統(tǒng)原理的情況下獲得有效信息。

在使用蒙特卡羅來近似圓的面積時(shí),我們先生成一些隨機(jī)坐標(biāo)點(diǎn) (x1,x2),這兩個(gè)方向的坐標(biāo)都是從負(fù)半徑值到正半徑值的均勻分布繪制得到的。我們?cè)趫A中放入 250,000 個(gè)這樣的坐標(biāo)點(diǎn),如中心極限定理(或大數(shù)定律)所描述的,研究所用的真實(shí)隨機(jī)樣例點(diǎn)越多,得到的結(jié)果就會(huì)越準(zhǔn)確。

對(duì)于圓內(nèi)的每一個(gè)點(diǎn),我們可以引入一個(gè)落入圓內(nèi)的點(diǎn)的數(shù)目的計(jì)數(shù)變量。在所有隨機(jī)點(diǎn)都被投入之后,圓內(nèi)的點(diǎn)數(shù)除以總點(diǎn)數(shù)(該研究中為 250,000)的值就代表在正方形內(nèi)圓的面積所占的分?jǐn)?shù)。該正方形的邊長是圓的半徑的兩倍,因此正方形的面積是 4r2,其中 r 是圓的半徑。用 4r2乘之前得到的分?jǐn)?shù),就得到了圓的面積。通過蒙特卡羅方法,可以非常接近地得到圓的真實(shí)面積而無需數(shù)學(xué)計(jì)算公式。

道理很簡單,結(jié)果幾乎完全正確!

我們可以在給定半徑 r 的情況下找到任何圓的面積,但此時(shí)此刻我們還沒有歸納出圓的公式。為找到公式,我們需要?jiǎng)?chuàng)建一個(gè)二次方程式進(jìn)行建模,該方程式需要一個(gè)半徑并嘗試輸出面積。為了正確地?cái)M合方程,我們必須為每個(gè)半徑的蒙特卡洛近似面積收集數(shù)據(jù)。

 
 
 
 
  1. import numpy as np 
  2. from tqdm import tqdm #Just a progress bar indicator 
  3.  
  4. #Number of randomized points to generate for each approximation 
  5. num_points = 250_000 
  6.  
  7. #Lists to store the radius and its corresponding area approximation 
  8. radii = [] 
  9. areas = [] 
  10.  
  11. #For each of the 500 equally spaced values between 1 and 100 inclusive: 
  12. for radius in tqdm(np.linspace(1,100,500)): 
  13.  
  14.     #A counter for the number of points in the circle 
  15.     in_circle = 0 
  16.  
  17.     for i in range(num_points): 
  18.  
  19.         #Generate an x and y coordinate from a uniform distribution bounded by a tangent box 
  20.         xcoor = np.random.uniform(-radius,radius) 
  21.         ycoor = np.random.uniform(-radius,radius) 
  22.  
  23.         #If the point is inside the circle, add one to in_circle 
  24.         if xcoor**2 + ycoor**2 < radius**2: 
  25.             in_circle += 1 
  26.  
  27.     #Get the fraction of the points that were inside the circle 
  28.     area_frac = in_circle/num_points 
  29.  
  30.     #Append the approximated area and the radius 
  31.     areas.append(area_frac*(4*(radius**2))) 
  32.     radii.append(radius) 

而下一步就是寫一個(gè)擬合數(shù)據(jù)的二次項(xiàng)模型(回歸模型),y =ax2。我們可以通過繪圖驗(yàn)證數(shù)據(jù)為二次項(xiàng),而不是三階或四階多項(xiàng)式。從本質(zhì)上講,這是一個(gè)基礎(chǔ)的機(jī)器學(xué)習(xí)問題,因此再回顧一些基本術(shù)語:

  • 模型參數(shù):模型進(jìn)行自動(dòng)調(diào)整從而找到最佳參數(shù),在這種情況下,參數(shù)為 a。如果具有 n 個(gè)參數(shù),則該模型被稱為 n 維。我們所使用的最基本模型是一維的,而對(duì)圖像進(jìn)行分類的深度神經(jīng)網(wǎng)絡(luò)有可能具有數(shù)百萬個(gè)維度。
  • 損失函數(shù):損失函數(shù)是對(duì)當(dāng)下模擬情況進(jìn)行評(píng)估,并希望找到可以得到最低誤差度的參數(shù)集,從而使得損失函數(shù)最小化。比如某個(gè)參數(shù)值 j 的損失函數(shù)值為 3,而參數(shù)值 k 的損失函數(shù)值為 2,則理應(yīng)選擇參數(shù)值 k。
  • 平均絕對(duì)誤差(MAE):我們將使用損失函數(shù)/錯(cuò)誤度量,其原因是因?yàn)樗子谑褂们乙子诶斫狻=o定當(dāng)前參數(shù)(a)和模型預(yù)測(cè)值,而平均絕對(duì)誤差是指預(yù)測(cè)值與真實(shí)值之間平均相差有多大,較低的 MAE 意味著模型更適合數(shù)據(jù)。
  • 學(xué)習(xí)率:為了優(yōu)化參數(shù),模型會(huì)在特定「方向」上逐漸調(diào)整參數(shù)。由于我們現(xiàn)在的模型僅優(yōu)化一個(gè)參數(shù)(a),因此僅需決定在一維平面上是增大或是減小參數(shù)值(任何變化都會(huì)產(chǎn)生較低的損失函數(shù))。而模型在調(diào)整過程中的移動(dòng)量稱為學(xué)習(xí)率。較高的學(xué)習(xí)速度意味著模型有可能短時(shí)間內(nèi)就能得到一組效果較好的參數(shù),但無法保證其準(zhǔn)確度,而較低的學(xué)習(xí)率能夠獲得非常不錯(cuò)的參數(shù),并且擁有較高的準(zhǔn)確度,唯一一點(diǎn)是需要大量的訓(xùn)練時(shí)間。

有了這些變量,我們可以構(gòu)建一個(gè)非?;A(chǔ)簡單的程序,使得它對(duì)這些數(shù)據(jù)擬合:

  • 把參數(shù) coef(a)初始化為 0.1。
  • 對(duì)于訓(xùn)練周期中的每次迭代:
  • 對(duì) coef 提出兩條路徑;coef+lr 和 coef-lr,其中 lr 是學(xué)習(xí)率。
  • 對(duì)使用 coef=coef+lr 的模型和使用 coef=coef-lr 的模型評(píng)估平均絕對(duì)誤差。

將 coef 設(shè)置為等于 coef+lr 和 coef-lr 中平均絕對(duì)誤差值較小的那個(gè)數(shù)字。

通過對(duì)平均絕對(duì)誤差的反復(fù)優(yōu)化,模型最終將收斂出一個(gè)「最佳」的 coef 值(從而最大程度地降低平均絕對(duì)誤差)。這一思路正是機(jī)器學(xué)習(xí)的核心原理——通過反復(fù)地推斷、評(píng)估和修正,計(jì)算機(jī)可以「磨煉」出一套最優(yōu)的參數(shù)。

 
 
 
 
  1. coef = 0.1 #Initial coefficient value 
  2. learning_rate = 0.00001 #How fast the model 'learns' 
  3. iterations = 100000 #How many times we want the model to 'practice and correct' 
  4.  
  5. for i in tqdm(range(iterations)): #note - tqdm is just a progressbar 
  6.  
  7.     #Propose two path for the coefficient: 
  8.     up_coef = coef + learning_rate #Move up 
  9.     down_coef = coef - learning_rate #Or move down 
  10.  
  11.     #Store the predictions for a model using parameters up_coef and down_coef 
  12.     up_pred = [] 
  13.     down_pred = [] 
  14.  
  15.     #For each radius value in the previously created list radii: 
  16.     for r in radii: 
  17.  
  18.         #Append the model using up_coef's and down_coef's prediction (a*r^2) 
  19.         up_pred.append(up_coef*(r**2)) 
  20.         down_pred.append(down_coef*(r**2)) 
  21.  
  22.     #Find the MAE. Both are converted to NumPy arrays for easy operation.     
  23.     up_coef_mae = np.abs(np.array([up_pred])-np.array([areas])).mean() 
  24.     down_coef_mae = np.abs(np.array([down_pred])-np.array([areas])).mean() 
  25.  
  26.     #If moving the coefficient down yields a lower (better) MAE:     
  27.     if down_coef_mae < up_coef_mae: 
  28.  
  29.         #Set it equal to down_coef 
  30.         coef = down_coef 
  31.  
  32.     #Otherwise (moving the coefficient up yields a lower (better) or equal MAE: 
  33.     else: 
  34.  
  35.         #Set it equal to up_coef 
  36.         coef = up_coef 

當(dāng)我們查看訓(xùn)練的 coef 值時(shí),可以看到它等于π:

 
 
 
 
  1. print(str(coef)[:5]) #first four digits of coefficient (decimal point counts as a character) 
  2. [Output]: '3.141' 

當(dāng)然,計(jì)算圓面積的公式很好記就是????r2。無需使用微積分中的任何復(fù)雜的數(shù)學(xué)方法或其他證明,我們就能找到它的公式,并找到一種使用蒙特卡洛模擬和二次回歸找到????值的方法。使用這種思路就可以找到計(jì)算圓面積的方法——當(dāng)然也可以找到任何圖形的面積計(jì)算公式——橢圓、心形、二維的烏龜形狀——只要參數(shù)可以說明它的輪廓。

近年來,計(jì)算機(jī)已經(jīng)接手開始解決復(fù)雜的高可變數(shù)學(xué)問題,計(jì)算圓面積只是其中的一個(gè)簡單的示例。如果想要更復(fù)雜、更具開創(chuàng)性的,那當(dāng)然是四色定理了(每個(gè)無外飛地的地圖都可以用不多于四種顏色來染色,且不會(huì)有兩個(gè)鄰接的區(qū)域顏色相同)。這是第一個(gè)由計(jì)算機(jī)先生成證明,又被數(shù)學(xué)家廣泛接受的成果。

借助計(jì)算機(jī),人類可以探索以往無法嘗試進(jìn)入的,極其復(fù)雜的數(shù)學(xué)領(lǐng)域。


本文標(biāo)題:不用任何數(shù)學(xué)方法,如何計(jì)算圓面積
本文路徑:http://www.5511xx.com/article/ccsdhhd.html