自学内容网 自学内容网

机器学习—多元线性回归的梯度下降法

现在已经学会了梯度下降,关于多元线性回归和矢量化,让我们把他们放在一起实现多元线性回归的梯度下降,用因式分解,让我们快速回顾一下多元线性回归是什么样子的,使用我们前面的表示法,让我们看看如何使用向量表示法更简洁的编写它,我们有参数W1-Wn和b,但是不要把W1和Wn看作是单独的数字,这是单独的参数,让我们把所有的w收集成向量W,所以W是一个长度向量,所以我们将把这个模型的参数看作一个向量W以及b,其中b仍然是一个与以前相同的数,而在我们定义像这样的多元线性回归之前,现在使用向量表示法,我们可以把模型写成f(x)=w*x+b,记住*代表的是点积,我们的成本函数可以定义为W1-Wn,b,但是不只是把j看作这些n的函数,不同参数w,j,b。我们将j写成参数向量w的函数,所以这个通过Wn的w被替换为这个向量W,现在j接受一个向量w和数字b作为输入,并返回一个数字,这是梯度下降的样子。我们将反复更新每个参数Wj为Wj-alpha*j的导数,再一次把它写成向量W和b的j

当实现梯度下降时会是什么样子

尤其让我们看看导数项,我们将看到梯度下降变得有点不同,有多个特征,与只有一个功能相比,这是我们用一个特征进行梯度下降时的情况,我们对W有一个更新规则,对B有一个单独的更新规则,紫色线画的是成本函数j的导数,关于参数w,同样我们有一个参数b的更新规则,带有单变量回归,我们只有一个特色,称之为Xi,没有任何下标,当我们有n个特征时,这是一个新的符号,其中n是两个或更多,我们得到梯度下降的更新规则,得到右侧的公式,这个公式实际上是成本j对w的导数,j对右边W1的导数公式,看起来与左边一个功能的情况非常相似,误差项仍然取X-目标y的预测f,一个区别是w和x现在是向量,就像左边的w变成了右边的W,这只是对于j=1的多元线性回归,我们有j从1-n,所以我们将更新参数W1W2一直到Wn,然后像以前一样,我们将更新B,如果你实现了这个,你得到了多元回归的梯度下降,在继续之前,这就是多元回归的梯度下降。

线性回归求w和b的另一种方法,这个方法叫做法方程。然而,梯度下降是最小化成本函数的一个很好的方法,求w和b,还有一种算法只适用于线性回归,你看到的其他算法,在这个求解W和B的专门化中,另一种方法不需要迭代梯度下降算法,称为法方程法。事实证明,使用高级线性代数库是可能的,在一个目标中只求解w和b,而不迭代。

法方程法的一些缺点首先是与梯度下降不同,这并不能推广到其他学习算法。法方程法也相当慢,如果特征数n很大,几乎没有机器学习实践者应该自己实现正态方程方法,但是如果使用的是一个成熟的机器学习库,并调用线性回归,有可能在后端,它将用这个来求解w和b,所以如果你在面试中听到正态方程这个词就是这个意思。不要担心正态方程如何工作的细节,一些机器学习库可能会在后端使用这种复杂的方法,求解W和B,但对于大多数学习算法来说,包括如何实现线性回归,梯度下降。多元线性回归可能是当今世界上使用最广泛的学习算法。


原文地址:https://blog.csdn.net/yn3535_/article/details/143018423

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!