在用数据集训练一个模型时,我们用上标i来表示样本的序号。
在学习代价方程之前,我们先了解一下损失函数,或叫误差函数。L(yhat,y)=1/2*(yhat-y)^2。 损失函数也是用来检测算法的运行情况的方法。但是它有一个问题,就是会有非凸问题,由多个局部最优解,这样的话就没办法很好的运行梯度下降算法。所以我们在逻辑回归算法里一般不用损失函数来评估误差。这里不理解的话,只需记住L是损失函数即可。
为什么我们要提到损失函数呢?损失函数虽然有时不能估计样本总体的偏差,但是对于单一样本的估计还是行得通的。Loss function的另外一个表现形式是绿字上方的方程。
对于这个方程,假如有一个样本 y=1, 则L=-log(yhat)。 由于y是实际标签,我们希望它的loss function越小越好,那么log yhat 则需要变得接近于零(loss function应该是正数,根据它的原方程可推断),那么yhat则越接近于1越好。因为yhat是概率,不可能大过1。则y=1,yhat趋向于1。
如果一个样本 y=0, L=-log(1-yhat)。 我们还是希望loss function接近于零,那么log1-yhat 则需要接近于0,则yhat趋向于0时越好。所以y=0,yhat需要趋向于0。
如果说loss function是估计单一样本的cost,那么cost function则是估计样本集m的总体cost。 我们需要一组W和b,让cost function越小越好,这样模型的拟合程度也会更好。