全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7388 9
2012-02-19
想用R做一个grid search method

Grid <- function(f, from, to, n, eps=1e-08)
其中 f 是需要evaluate 的 function
from 和 to 都是k*1 的 vector, 是function 里面的变量组成的一个vector
n 是要把from 到 to 分成多少小份来search。

现在我能想到的方法是(二元,两个变量的情况)建立一个matrix, 行和列分别是第一和第二个变量的range,在这个matrix里面存进按照行列变量带入function计算出的结果。看这个matrix给出的值最小的在哪里取得,继续进行下一轮的grid search。

问题是,要拓展到n个variable就不能用矩阵的方法来做了。我能把他们放到vector里面来计算吗?如果可以的话是要在这个vector里面写一个loop? 希望有idea的人可以指导一下,谢谢~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-2-19 12:35:20
你可以创建一个矩阵,矩阵的每一行是一个n维节点的坐标
然后做一个循环来进行搜索。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-19 13:06:10
qoiqpwqr 发表于 2012-2-19 12:35
你可以创建一个矩阵,矩阵的每一行是一个n维节点的坐标
然后做一个循环来进行搜索。
刚学R一个月,可以详细说一下么~”矩阵的每一行是一个n维节点的坐标“

 你是说创建一个矩阵,这个矩阵中的每个点代表的是一个坐标?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-19 18:32:46
可以用expand.grid函数来划分定义域。比如:
expand.grid(phi=seq(0,1,by=0.1),lamda=seq(0,1,by=0.1),alpha=seq(0,1,by=0.1))
这是3个变量的。多变量的你自己改。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-19 22:13:03
tongtonghao1129 发表于 2012-2-19 13:06
刚学R一个月,可以详细说一下么~”矩阵的每一行是一个n维节点的坐标“

 你是说创建一个矩阵,这个矩 ...
矩阵的每一行是一个坐标,如果你有5个变量,这个矩阵就有5列,代表了5个坐标轴上的坐标。像楼上所说的用expand.grid生成这个矩阵。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-24 13:08:18
qoiqpwqr 发表于 2012-2-19 12:35
你可以创建一个矩阵,矩阵的每一行是一个n维节点的坐标
然后做一个循环来进行搜索。
你好,我想请问你在eviews 中可以做grid search 吗?具体是怎么操作的呢?我的目标函数是一个线性的二元函数。非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群