python - 查找具有两个参数的函数的最小返回值
问题描述
我有一个错误函数,以及 self.array 上所有错误的总和:
#'array' looks something like this [[x1,y1],[x2,y2],[x3,y3],...,[xn,yn]]
#'distances' is an array with same length as array with different int values in it
def calcError(self,n,X,Y): #calculate distance of nth member of array from given point
X,Y = float(X),float(Y)
arrX = float(self.array[n][0])
arrY = float(self.array[n][1])
e = 2.71828
eToThePower = e**(-1*self.distances[n])
distanceFromPoint=math.sqrt((arrX-X)**2+(arrY-Y)**2)
return float(eToThePower*(distanceFromPoint-self.distances[n])**2)
def sumFunction(self,X,Y):
res = 0.0
for i in range(len(self.array)):
res += self.calcError(i,X,Y)
return res
我一直在寻找一种方法来查找 sumFunction 返回值最小的坐标。我听说过 scipy,但我正在寻找一种手动构建的方法。梯度下降似乎也不起作用,因为很难推导出这个求和函数。谢谢!
解决方案
您是否尝试将创建变量作为字典然后附加所有迭代,例如 {self.calcError(i,X,Y)}:{i,X,Y}。如果您返回最小的 variable.keys ,那么您可以达到从最小键到值的坐标。
推荐阅读
- python - Split() 未按预期工作 #SettingWithCopyWarning ,无法理解错误
- git - 如何在使用 gitversion 修复错误后自动增加补丁版本
- windows - 如何使用 nginx-fpm 在 Windows 10 上使用 DDEV 创建虚拟主机?
- sql - 查询以比较医院人口普查中缺少患者的日期
- javascript - 写在一个页面内的脚本会影响另一个页面
- amazon-web-services - 无法使用带有无服务器的 aws-sdk 将事件放入云监视日志流
- python - discord.py - 'list' 对象没有属性 'id'
- bash - 当您将数据输出到文件时,将文件拖放到 bash 脚本会导致“权限被拒绝”
- qt - 如何使与 QTimer::timeout 关联的插槽可以被任何其他信号处理器(更高优先级)中断然后恢复?
- excel - 突出显示包含今天日期的日期范围