2.3 逻辑回归的代价函数(Logistic Regression Cost Function)

单个样本的cost functionLoss function来表示,使用平方误差(squared error)

L(y^,y)=12(y^y)2L(\hat y,y)=\frac12(\hat y-y)^2

逻辑回归一般不使用平方误差来作为Loss function。原因是这种Loss function一般是non-convex的。

non-convex函数在使用梯度下降算法时,容易得到局部最小值(localminimum),即局部最优化。而最优化的目标是计算得到全局最优化(Global optimization),因此一般选择的Loss function应该是convex的

构建另外一种Loss function(针对单个样本),且是convex的:

L(y^,y)=(ylog y^+(1y)log (1y^))L(\hat y,y)=-(ylog\ \hat y+(1-y)log\ (1-\hat y))

当y=1时,L(y^,y)=logy^L(\hat y,y)=-\log \hat y,如果y^\hat y越接近1,L(y^,y)0L(\hat y,y)\approx 0,表示预测效果越好;如果y^\hat y越接近0,L(y^,y)+L(\hat y,y)\approx +\infty,表示预测效果越差

当y=0时,L(y^,y)=log(1y^)L(\hat y,y)=-\log(1- \hat y),如果y^\hat y越接近0,L(y^,y)0L(\hat y,y)\approx 0,表示预测效果越好;如果y^\hat y越接近1,L(y^,y)+L(\hat y,y)\approx +\infty,表示预测效果越差

Cost function是m个样本的Loss function的平均值,反映了m个样本的预测输出y^\hat y与真实样本输出y的平均接近程度:

J(w,b)=1mi=1mL(y^(i),y(i))=1mi=1m[y(i)log y^(i)+(1y(i))log (1y^(i))]J(w,b)=\frac1m\sum_{i=1}^mL(\hat y^{(i)},y^{(i)})=-\frac1m\sum_{i=1}^m[y^{(i)}log\ \hat y^{(i)}+(1-y^{(i)})log\ (1-\hat y^{(i)})]

Last updated

Was this helpful?