跳至内容

R 中的数据挖掘算法/包/optimsimplex/单纯形梯度

来自维基教科书,开放世界中的开放书籍

optimsimplex.gradientfv 用于确定函数的单纯形梯度,该函数由辅助函数 optimsimplex.gradcenteroptimsimplex.gradforward 计算。

   optimsimplex.gradientfv(this = NULL, fun = NULL, method = "forward", data = NULL)
   optimsimplex.gradcenter(this = NULL, fun = NULL, data = NULL)
   optimsimplex.gradforward(this = NULL)
this 一个单纯形对象
fun 要在顶点计算的函数。该函数预期具有以下输入和输出参数
   myfunction <- function(x, this){
  ...
   return(list(f=f,this=this))
   }

其中 x 是一个行向量,this 是用户定义的数据,即 data 参数。

method 用于计算单纯形梯度的方法。有两种方法可用:’forward’ 和 ’centered’。’forward’ 方法使用当前单纯形来计算梯度(使用 optimsimplex.dirmatoptimsimplex.deltafv)。’centered’ 方法创建一个中间单纯形并计算平均值。
data 传递给函数的用户定义数据。如果提供数据,则会将其作为输入和输出参数传递给回调函数。如果函数使用某些附加参数,则可以使用 data。它作为输出参数返回,因为函数在计算函数值时可能会修改 data。此功能可用于例如计算函数调用次数。

返回值

[编辑 | 编辑源代码]

optimsimplex.gradientfv 返回一个包含以下元素的列表

g 函数梯度的列向量(长度为 this$n)。
data 更新后的用户定义数据。

optimsimplex.gradcenter 返回一个包含以下元素的列表

g 函数梯度的列向量(长度为 this$n)。
data 更新后的用户定义数据。

optimsimplex.gradforward 返回函数梯度的列向量(长度为 this$n)。

Scilab optimsimplex 模块的作者:Michael Baudin(INRIA - Digiteo)
R 移植的作者:Sebastien Bihorel([email protected]

华夏公益教科书