梯度下降法解多元线性回归(C++) - CodeFight compute

网友投稿 301 2022-11-28

梯度下降法解多元线性回归(C++) - CodeFight compute

题意 :

题解:

但问题的关键是在开始实现的时候,我发现总是不收敛,cost function随着每次迭代变化却越来越大(有种每次都是矫枉过正的感觉)。在想是不是步长rate设置得不够好,但尝试了很多不同的步长,都无法得到想要的结果。最终发现是自己漏了一个很重要的步骤,一定要做归一化!!如果数据集中每个变量差别很大,或者一个数据的每个特征取值相差很大,会很难找到合适的步长的。归一化有很多种方法,我的处理是取测试集的平均值。

double rd(double x){ char buff[100]; double a; sprintf(buff,"%.2lf",x); sscanf(buff,"%lf",&a); return a;}int compute(vector> engineers, vector candidate) { int n=engineers.size(); double v[3][5],sum[3],E[n][3]; for (int j=0;j<3;j++){ sum[j]=1; for (int i=0;i

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:面试题:java中为什么foreach中不允许对元素进行add和remove
下一篇:用户空间和内核空间通讯-Netlink 上
相关文章

 发表评论

暂时没有评论,来抢沙发吧~