1、逻辑回归函数和代价函数
Logistics regression:
Cost Function:
在测试集上,我们想通过找到参数w和b,使得J(w,b)的值最小;那么通常采用梯度下降法(Gradient Descent)来求解。
2、梯度下降法(Gradient Descent)
- 梯度下降法的形象化说明
- 在这个图中,空间参数w和b表示横轴,而代价函数J(w,b)是水平轴w和b上的曲面,因此曲面的高度就是J(w,b)在某一点的函数值。当我们找到最小的代价函数J(w,b)函数值,就可以求出对应的参数w和b。
- 由图我们可以知道,代价函数J(w,b) 是一个凸函数(Convex function),可以找到全局最优解;
3、梯度下降法的步骤
- 初始化w和b;
对于初始化参数w和b,可以用如图的小红点,也可以采用随机初始化的方法,对于逻辑回归而言,几乎所有的初始化函数都有效,因为函数是凸函数,无论在哪里初始化,应该达到同一点或者大致相同。
- 朝最陡的下坡方向走一步,不断迭代;
- 直到走到全局最优解或者接近全局最优解的地方;
4、梯度下降法的细节说明
- 为了便于描述,简化模型,假定只有一个参数w;
那么对于迭代就是不重复如下的公式:
公式注解:
- := ---- 表示更新参数;
- α ---- 表示学习率(learning rate),用来控制步长(step);
- ??(?)?? ---- 表示函数J(w)对w的求导(derivative),代码中用dw来表示;
导数的理解
对导数更加行形象化的理解就是斜率(slope),如图该点的导数就是这个点相切于J(w)的小三角形的高除以宽。
梯度下降的步骤
(1)、假设我们以如图点为初始化点,该点的斜率符号为正的,即??(?)/??>0,所以会不断地向左走,直至逼近最小值点;
(2)、假设我们以如图点为初始化点,该点的斜率符号为正的,即??(?)??<0,所以会不断地向右走,直至逼近最小值点;
- 逻辑回归的代价函数J(w,b)是含两个参数的;
- ∂ 表示偏导符号,可以读作round;
- ??(?,?)/?(?)就是函数J(w,b)对w求偏导,在代码中我们会使用dw 表示这个结果;
- ??(?,?)/??就是函数J(w,b)对b求偏导,在代码中我们会使用db表示这个结果;
- 小写字母d用在求导函数(derivative),即函数只有一个参数;
- 偏导符号∂用在求偏导(partial derivate),即函数含有两个以上参数;