逻辑回归与梯度下降法
在此之前,我们得先重温一下回归,很多时候我们只记得公式,知道逻辑回归是怎么一回事,却忘了回归是什么,怎么来的
回归是一种归纳的思想,在深度学习领域,就是从样本的数据出发,确定某些变量之间的定量关系式;这个建立数学模型并估计未知参数的过程就叫做回归分析
好了,我们给出关系式:
这里我们设w和b均为一维
怎样估计w和b?我们总是希望预测值ŷ尽可能地拟合样本值y,损失函数描述了这种拟合关系,在逻辑回归中,使用交叉熵损失函数:
我们可以将前面两个关系式代入,得到一个关于w和b的式子,而对于每一个样本都可以得到一个损失函数,设有m个样本,对这些损失函数求和得到一个成本函数:
接下来问题变成了如何找到一组w和b,使得这个成本函数尽可能地小,可以形象地将其表示为一个“找碗底”的过程
这就是梯度下降法所要做的,从初始点开始,每一次迭代都使用如下公式更新w和b,使得成本函数总是沿着最接近“碗底”的方向下降
其中α为学习率,用以控制每一次梯度下降的步长
关于初始化w和b,几乎是任意的初始化方法都有效,因为成本函数是凸函数,无论在哪里初始化,使用梯度下降法都应该能达到”碗底“或其附近,这也是为什么选择交叉熵作为损失函数的原因,它总能得到或接近一个全局最优解
下面我们只关注w,忽略b,具体来看看梯度下降法为什么能够”找到碗底“
由上图可以看到,无论怎样初始化w,梯度下降法总是使w朝着成本函数减少的方向移动的