eta取值问题

来源:7-4 求数据的前n个主成分

ITMOCC

2020-12-15

图片描述
无意中发现eta=0.001时算出的w2与您设定的eta=0.01时计算出的w2的方向正好相反(您的是前负后正)。又试了eta=0.1和0.0001时发现跟eta=0.001时也保持一致。单单eta=0.01时方向不一样。我想请问老师怎么知道哪个eta对应的w2是可靠的呢?您选eta=0.01是根据经验吗?不同数据集最好的eta值会不同吗?

写回答

1回答

liuyubobobo

2020-12-15

首先,因为主成分表示的是另一个空间的基,所以完全相反的轴是正确的。这就像虽然我们可以用 (0, 1) 和 (1, 0) 两个坐标轴表示二维空间,但使用 (0, 1) 和 (-1, 0) 也完全可以表示二维空间。


是的,eta = 0.01 是经验值。你说的是正确的,根据数据集的不同,eta 可能需要选择不同的值,在一些情况下(不是简单地凸函数),eta 可以看做是算法的超参数,需要进行调参 。


我测试了一下,说明在 eta = 0.001 的时候,找到了另外一个最优解。同时我测试了一下,比如 eta = 0.002,找到的也是这个解:)


继续加油!:)


1
6
liuyubobobo
回复
ITMOCC
在循环中达到 if 的退出的条件,而不是耗尽所有的 niters 也没有达到 if 的条件,说明它已经来到函数的局部最优解了(设立的 epsilon 的精度范围里),就是足够好。关键在于我们现在最优化的函数,局部最优解就是全局最优解,所以是简单的。
2020-12-16
共6条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程