如何在不使用矩阵运算的情况下编码迭代梯度下降?

问题描述

我被要求在 python 中为一个变量编码迭代梯度下降。我的一组 X 有一列 1 来表示 X0,然后它有一列 X1 值。集合 y 具有一列值。 Thetas 是随机设置的,alpha 是一个常数。

for iteration in iterations:
    sum0 = 0
    sum1 = 0
    m = len(X)
    for i in range(0,m):
        sum0 += (X[i,1] * thetas[1]) + thetas[0] - y[i]
        sum1 += ((X[i,1] * thetas[1]) + thetas[0] - y[i]) * X[i,1]
    temp0 = thetas[0] - ((alpha / m) * sum0)
    temp1 = thetas[1] - ((alpha / m) * sum1)
    thetas[0] = temp0
    thetas[1] = temp1

我的问题是,在这代码的 100 次迭代中,成本值似乎保持在 1 个值。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)