为什么这种带有梯度下降的简单线性回归不起作用?

平方

我是机器学习的新手,我正在尝试通过梯度下降对f(x)= kx进行线性回归

d(f(x)-y)^2 / dk 

=2(f(x)-y) * d(kx-y) / dk

=2x(f(x)-y)

=2x(kx-y)

因此k = k - rate * 2x(kx-y),以k递增,由梯度下降。

这就是教科书上所说的,所以我认为这会起作用的:-(

from random import uniform
k,k0=uniform(-100,100),uniform(-100,100)
for _ in range(10):
    x=uniform(-100,100)
    k=k-0.01*x*(k*x-k0*x)
    print k,k0

可悲的是,输出:

-2639.75970458 -72.294275335
56444.9277867 -72.294275335
-350533.559366 -72.294275335
-315222.824967 -72.294275335
26481249.7869 -72.294275335
25795070.4808 -72.294275335
-329558179.012 -72.294275335
22212688252.9 -72.294275335
-2.2317104093e+11 -72.294275335
1.61788553661e+12 -72.294275335

k从不k0安定的速度偏离:-(

我已经读过维基,谷歌和本页右边建议的问题,但不知道:-(非常感谢

算了吧

减小您的“学习率”(例如0.01),并将迭代次数N增大:

from random import uniform
learning_rate = 0.0001
N = 100
k, k0 = uniform(-100, 100), uniform(-100, 100)
for _ in range(N):
    x = uniform(-100, 100)
    k = k - learning_rate * x * (k * x - k0 * x)
    print k, k0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python多重简单线性回归

来自分类Dev

为什么在线性回归中使用梯度下降?

来自分类Dev

为什么在线性回归中使用梯度下降?

来自分类Dev

Java线性回归不起作用

来自分类Dev

Java ::为什么这种带有备忘录的斐波那契数列的实现不起作用?

来自分类Dev

为什么这种C ++多态性不起作用?

来自分类Dev

线性回归中的梯度下降出错

来自分类Dev

线性回归梯度下降性能差

来自分类Dev

为什么对智能指针的这种优化不起作用?

来自分类Dev

Python中的简单线性回归

来自分类Dev

简单线性回归上的Tensorflow

来自分类Dev

线性回归的梯度下降不起作用

来自分类Dev

为什么此关机单线命令不起作用

来自分类Dev

为什么这种热键组合:“ Super + V”不起作用?

来自分类Dev

使用梯度下降的多元线性回归

来自分类Dev

为什么带有粘性div的网格不起作用?

来自分类Dev

Pythong梯度下降线性回归计算不佳

来自分类Dev

为什么此关机单线命令不起作用

来自分类Dev

为什么这种展开不起作用?

来自分类Dev

为什么.save在Mongoose中起作用但在带有upsert的.update中不起作用

来自分类Dev

为什么在没有静态的情况下这种方法不起作用?

来自分类Dev

线性回归中的梯度下降出现错误

来自分类Dev

为什么在这种情况下简单的连接不起作用?

来自分类Dev

为什么带有头文件的makefile不起作用?

来自分类Dev

梯度下降的线性回归

来自分类Dev

为什么我的线性回归批量梯度下降不收敛?

来自分类Dev

为什么这种缩放不起作用?

来自分类Dev

线性回归的梯度下降没有找到最佳参数

来自分类Dev

什么是梯度下降。梯度下降是否可以比 sklearn 线性回归算法给出更好的结果

Related 相关文章

热门标签

归档