Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 梯度下降-我可以画我将最小化的函数吗?线性回归_Python_Machine Learning_Linear Regression_Gradient Descent - Fatal编程技术网

Python 梯度下降-我可以画我将最小化的函数吗?线性回归

Python 梯度下降-我可以画我将最小化的函数吗?线性回归,python,machine-learning,linear-regression,gradient-descent,Python,Machine Learning,Linear Regression,Gradient Descent,我是机器学习新手。我从线性回归和梯度下降开始。我有这方面的python代码,我理解这一点。我的问题是:梯度下降算法最小化函数,我能画出这个函数吗?我想看看最小值是什么样的函数。可能吗? 我的代码: 冒着显而易见的风险。。。您可以使用matplotlib简单地绘制lossHistory。还是我遗漏了什么 编辑:显然,OP问GD的梯度下降最小化了什么。我会尝试在这里回答,我希望我能回答原来的问题 GD算法是一种在参数空间中求函数最小值的通用算法。在你的例子中,这就是通常用于神经网络的方法,你想要找到

我是机器学习新手。我从线性回归和梯度下降开始。我有这方面的python代码,我理解这一点。我的问题是:梯度下降算法最小化函数,我能画出这个函数吗?我想看看最小值是什么样的函数。可能吗? 我的代码:


冒着显而易见的风险。。。您可以使用matplotlib简单地绘制lossHistory。还是我遗漏了什么

编辑:显然,OP问GD的梯度下降最小化了什么。我会尝试在这里回答,我希望我能回答原来的问题

GD算法是一种在参数空间中求函数最小值的通用算法。在你的例子中,这就是通常用于神经网络的方法,你想要找到损失函数的最小值:均方误差。您可以实现GD算法来更新权重,就像对

gradient = X.T.dot(error) / X.shape[0]
W += - 0.44 * gradient
梯度就是损失函数MSE对权重的偏导数。因此,可以有效地最小化损失函数MSE。然后以0.44的学习率更新权重。 然后,您只需将损失函数的值保存在数组中

loss = np.sum(error ** 2)
lossHistory.append(loss)
因此,lossHistory数组包含您的成本或损失函数,您可以绘制该函数来检查您的学习过程。这幅图应该显示出一些递减的东西。这个解释对你有帮助吗

最好的,
Umberto

是的,我画了它。我不知道如何把损失函数和梯度下降联系起来。梯度下降在损耗函数中找到最小值?好的,谢谢解释。现在我明白了。。。我可以用哪种方法对我的损失函数这样画点:?现在我们在讨论两件不同的事情。显示的图是参数空间中的成本函数,交叉点是每次更新后的权重值。这与成本函数与时代数不同。如果要绘制类似于绘图的内容,首先需要保存所有权重值,并将其绘制在参数空间中的成本函数曲面上。你的问题是,你的参数空间有3维的偏差+权重,所以你不能像你提到的那样绘制一个z轴需要4的图。。。希望有帮助
loss = np.sum(error ** 2)
lossHistory.append(loss)