我是机器学习的初学者。在梯度下降算法中有问题。在下面提到的代码中,我的疑问是在
x的第一次迭代值为1
x的第二次迭代值为2
x的第三次迭代值为3
x的第四次迭代值为4
x的第五次迭代值为5
那么对于迭代6到9999,x的值将是多少?
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
def gradient_descent(x,y):
m_curr = b_curr = 0
rate = 0.01
n = len(x)
plt.scatter(x,y,color='red',marker='+',linewidth='5')
for i in range(10000):
y_predicted = m_curr * x + b_curr
plt.plot(x,y_predicted,color='green')
md = -(2/n)*sum(x*(y-y_predicted))
yd = -(2/n)*sum(y-y_predicted)
m_curr = m_curr - rate * md
b_curr = b_curr - rate * yd
x = np.array([1,2,3,4,5])
y = np.array([5,7,9,11,13])
gradient_descent(x,y)
答案 0 :(得分:0)
三种计算批次梯度的方法
我相信您正在尝试实施Batch变体。在这种情况下,您需要执行以下操作
db.collection.aggregate([
{
$unwind: {
path: "$tasks",
preserveNullAndEmptyArrays: true
}
}
])