椭圆形面积计算公式(不用微积分,如何计算圆面积)

本文介绍了使用蒙特卡罗模拟和二次回归方法计算圆的面积,通过机器学习方法来解决这个问题。文章先介绍了蒙特卡罗模拟法的原理,然后详细描述了如何通过该方法计算圆的面积,并引入了机器学习中的基本概念和术语。接着,文章介绍了如何通过机器学习的方法拟合数据并找到计算圆面积的公式。最后,总结了计算机在解决复杂数学问题上的作用,并提到了四色定理等更复杂的数学问题。

  选自medium

  AndreYe

椭圆形面积计算公式(不用微积分,如何计算圆面积)

  编译机器之心

  机器之心部

  用牛刀杀鸡,我们用机器学习方法来计算圆的面积

  问问任何人圆的面积是多少,他们会告诉你不是r2吗。但如果你问他们为什么,他们可能不知道。

  这是因为在大多数情况下,圆面积公式的证明要么不直观,不令人满意,要么充满了高级数学概念,如积分。

  借鉴统计学习和机器学习的核心原理,我们可以利用蒙特卡罗模拟和多项式/二次回归创建基于计算的方法,找到圆面积公式。

  我们使用蒙特卡罗法,而不使用任何数学操作来获得圆形面积。蒙特卡罗法用于探索不规则形状的面积,预测股市。该方法的核心思想是引入随机性,测量系统的反馈,甚至在不了解系统原理的情况下获得有效的信息。

  当蒙特卡罗被用来接近圆形区域时,我们先生会形成一些随机坐标点(x1,x2)这两个方向的坐标均匀分布是从负半径值到正半径值绘制的。我们在圆中放置2.5万个坐标点,如中心极限定理(或大数定律)所描述的,研究中使用的真实随机样本示例越多,结果就越准确。

  对于圆内的每个点,我们可以引入一个落入圆内的点的计数变量。所有随机点投入后,圆内点除以总点(研究中为2.5万)的值,代表正方形内圆面积的分数。正方形的边长是圆半径的两倍,所以正方形的面积是4r二、其中r是圆的半径。用4r乘以前得到的分数,就得到了圆面积。在没有数学计算公式的情况下,通过蒙特卡罗法,圆的真实面积可以非常接近。

  事实很简单,结果几乎完全正确!

  在给定半径r的情况下,我们可以找到任何圆的面积,但此时此刻我们还没有总结出圆的公式。为了找到公式,我们需要创建一个二次方程式进行建模,需要一个半径并尝试输出面积。为了正确拟合方程,我们必须收集每个半径的蒙特卡洛近似区域的数据。

  importnumpyasnp

  fromtqdmimporttqdm#Justaprogressbarindicator

  #Numberofrandomizedpointstogenerateforeachroximation

  num_points=250_000

  #Liststostoretheradiusanditscorrespondingarearoximation

  #Foreachofthe500equallyspacedvaluesbetween1and100inclusive:

  forradiusintqdm(np.linspace(1,100,500)):

  #Acounterforthenumberofpointsinthecircle

  in_circle=0

  foriinrange(num_points):

  #Generateanxandycoordinatefromauniformdistributionboundedbyatangentbox

  xcoor=np.random.uniform(-radius,radius)

  ycoor=np.random.uniform(-radius,radius)

  #Ifthepointisinsidethecircle,addonetoin_circle

  ifxcoor**2 ycoor**2

  in_circle =1

  #Getthefractionofthepointsthatwereinsidethecircle

  area_frac=in_circle/num_points

  #endtheroximatedareaandtheradius

  areas.end(area_frac*(4*(radius**2)))

  radii.end(radius)

  下一步是编写拟合数据的二次项模型(回归模型),y=ax2。我们可以通过绘图验证数据是二次项,而不是三阶或四阶多项式。我们可以通过绘图验证数据是二次项,而不是三阶或四阶多项。本质上,这是一个基本的机器学习问题,所以回顾一些基本术语:

  模型参数:自动调整模型以找到最佳参数。在这种情况下,参数是a。若有n个参数,则该模型称为n维。我们使用的最基本的模型是一维的,对图像进行分类的深度神经网络可能有数百万个维度。

  损失函数:损失函数是对当前模拟情况的评估,并希望找到能得到最低误差的参数集,从而使损失函数最小化。例如,如果参数值j的损失函数值为3,而参数值k的损失函数值为2,则应选择参数值k。

  平均绝对误差(MAE):由于它易于使用和理解,我们将使用损失函数/错误测量。给出当前参数(a)和模型预测值,平均绝对误差是指预测值和真实值之间的平均差异,较低的MAE意味着模型更适合数据。

  学习率:为了优化参数,模型将是特定的「方向」逐步调整参数。因为我们目前的模型只优化一个参数(a),因此,只需决定在一维平面上增加或减少参数值(任何变化都会产生较低的损失函数)。在调整过程中,模型的移动量称为学习率。较高的学习速度意味着模型可能会在短时间内获得一组有效的参数,但不能保证其准确性,较低的学习率可以获得非常好的参数和较高的准确性。唯一的一点是需要大量的训练时间。

  有了这些变量,我们可以构建一个非常基本和简单的程序来拟合这些数据:

  把参数coef(a)初始化为0.1。

  训练周期中的每一次迭代:

  提出两条coef路径;coef lr和coef-lr,其中lr是学习率。

  对使用coef=coef lr模型及使用coef=coef-lr平均模型评估绝对误差。

  将coef设置为等等coef lr和coef-lr中平均绝对误差值较小的数字。

  通过反复优化平均绝对误差,模型最终将收敛「最佳」coef值(从而最大限度地减少平均绝对误差)。这个想法是机器学习的核心原理——计算机可以通过反复推断、评估和修正来实现「磨炼」制作一套最佳参数。

  coef=0.1#Initialcoefficientvalue

  learning_rate=0.00001#Howfastthemodel'learns'

  iterations=100000#Howmanytimeswewantthemodelto'practiceandcorrect'

  foriintqdm(range(iterations)):#note-tqdmisjustaprogressbar

  #Proposetwopathforthecoefficient:

  up_coef=coef learning_rate#Moveup

  down_coef=coef-learning_rate#Ormovedown

  #Storethepredictionsforamodelusingparametersup_coefanddown_coef

  #Foreachradiusvalueinthepreviouslycreatedlistradii:

  forrinradii:

  #endthemodelusingup_coef'sanddown_coef'sprediction(a*r^2)

  up_pred.end(up_coef*(r**2))

  down_pred.end(down_coef*(r**2))

  #FindtheMAE.BothareconvertedtoNumPyarraysforeasyoperation.

  up_coef_mae=np.abs(np.array([up_pred])-np.array([areas])).mean()

  down_coef_mae=np.abs(np.array([down_pred])-np.array([areas])).mean()

  #Ifmovingthecoefficientdownyieldsalower(better)MAE:

  ifdown_coef_mae

  #Setitequaltodown_coef

  coef=down_coef

  #Otherwise(movingthecoefficientupyieldsalower(better)orequalMAE:

  else:

  #Setitequaltoup_coef

  coef=up_coef

  当我们检查训练的coef值时,可见它等于π:

  print(str(coef)[:5])#firstfourdigitsofcoefficient(decimalpointcountsasacharacter)

  [Output]:'3.141'

  当然,计算圆面积的公式很容易记住r2。我们可以找到它的公式,并找到一种使用蒙特卡洛模拟和二次回归找到值的方法,而无需使用微积分中任何复杂的数学方法或其他证据。我们可以找到它的公式,并找到一种使用蒙特卡洛模拟和二次回归找到值的方法,而无需使用微积分中任何复杂的数学方法或其他证据。用这个想法,你可以找到计算圆面积的方法——当然,你也可以找到任何图形的面积计算公式——椭圆形、心形和二维乌龟形状——只要参数能解释它的轮廓。

  近年来,计算机已经接管并开始解决复杂的高可变数学问题,计算圆面积只是一个简单的例子。如果你想要更复杂、更开创性,那当然是四色定理(每张无外飞地的地图可以染色不超过四种颜色,两个相邻区域不会有相同的颜色)。这是计算机先生证明并被数学家广泛接受的第一个结果。

  借助计算机,人类可以探索极其复杂的数学领域,这是过去无法尝试的。

毕业证样本网创作《椭圆形面积计算公式(不用微积分,如何计算圆面积)》发布不易,请尊重! 转转请注明出处:https://www.czyyhgd.com/825019.html

(0)
上一篇 2023年1月27日
下一篇 2023年1月27日

相关推荐

  • 椭圆形面积计算公式(不用微积分,如何计算圆面积)

    本文介绍了使用蒙特卡罗模拟和二次回归方法计算圆的面积,通过机器学习方法来解决这个问题。文章先介绍了蒙特卡罗模拟法的原理,然后详细描述了如何通过该方法计算圆的面积,并引入了机器学习中的基本概念和术语。接着,文章介绍了如何通过机器学习的方法拟合数据并找到计算圆面积的公式。最后,总结了计算机在解决复杂数学问题上的作用,并提到了四色定理等更复杂的数学问题。

    2023年1月27日 下午4:42
    130
客服微信
客服微信
返回顶部