主要根据吴恩达的机器学习视频来学习梯度下降算法,并用代码实现。
梯度下降算法的目的是求使代价函数最小的θ的值,附上相关公式。
上图是假设函数和代价函数的定义,而梯度下降算法的目的就是为了找到是代价函数最小的θ值。附上梯度下降算法公式。
需要注意的时,在实现梯度下降算法时需要同时更新θ的值。
下面通过吴恩达梯度下降算法的作业和一个例子来实现该算法,验证其正确性。以下代码通过Python实现
example1
构造一个散点集合(x,y),其中x和y成线性关系y = kx + b(这里k相当于天河潭1,b相当于theta0),通过梯度下降算法来计算k的值和b的值
import numpy as np
import ma