吴恩达笔记——神经网络基础:Logistic回归成本函数
上一节讲到Logistic回归算法:
Logistic回归算法是给定了特定的一个sigmoid函数模型 :y(hat) = sigmoid(wTx+b)。其中w是权重,b是偏置,这两个参数都是未知的。
将训练集输入Logistic回归算法模型,通过学习获取y(hat)函数的相关参数 w和b,此时,需要定义一个成本函数,凭借对成本函数的约束(成本函数最小),获取合适的参数w和b。
为了让模型通过学习来调整参数w和b,这里给出一个有m个样本的训练集:
通过学习获取到的w和b可以使得每个训练样本所对应的预测值和真实值近似相等:
1)损失函数,又叫做误差函数(Loss function):用于衡量单个训练样本上,算法的运行情况,即y(hat)和y之间的接近程度,它是在单个训练样本中定义的。
例:定义L(y(hat),y)= 1/2 *(y(hat)-y)2 用于判断y(hat)和y之间的差距
在Logistic 回归中不使用误差平方的方法定义损失函数:因为网络在学习的时候,这个损失函数不是一个凸函数,会得到多个局部最优解,使用梯度下降法(后面章节讲解)时无法优化到最小值,即全局最优(这个部分后续理解)。
在Logistic回归中给出一个与误差平方作用相似的损失函数,这个损失函数可以使用梯度下降法使得损失函数获取到全局最优(最小)。
当y=1时,L = -log y(hat),想要L尽可能小,则log y(hat)则要足够大,即y(hat)足够大,y(hat)在0和1之间,不会大于1,因此y(hat)近似为1;
当y=0时,L = -log(1-y(hat)),想要L尽可能小,则log(1-y(hat))则要足够大,即y(hat)足够小,y(hat)在0和1之间,不会小于0,因此y(hat)近似为0。
2)成本函数(cost function):用于衡量全体训练样本上,算法的运行情况;所有训练样本损失函数和的平均值。
已经定义了关于参数w和b的函数(成本函数L),如何找到合适的w和b使得成本函数最小呢?在下一节中将logistic回归看作非常小型的神经网络,使用梯度下降法来实现这个目标。