LogLoss一般应用于logistic regression[logit regression,logit model],而logistic regression模型的因变量是categorical,比如二分类的0和1。多分类的模型就是mutinomial logistic regression。
- 在logistic regression里面有一个logistic function(注意区分logit function),用与将结果从[-R,+R]映射到[0,1]。
σ(t)=11+e−t - 这里的σ(t)是对DV(dependent variable)的一种概率预测,而且是对DV=1时的预测。因此得到另外一个概率函数(hθ(x)经过输入x由hidden layer输出的结果):
Pr(y|x;θ)=hθ(x)y(1−hθ(x))(1−y)
- 当y(DV)=0时,由于hθ(x)是对DV=1时的概率,故DV=1的概率是0,hθ(x)=0,则Pr(0|x;θ)=1−0=1
Pr(0|x;θ)=1−hθ(x) - 当y=1时 ,即与DV=1的概率同分布
Pr(1|x;θ)=hθ(x)
- 当y(DV)=0时,由于hθ(x)是对DV=1时的概率,故DV=1的概率是0,hθ(x)=0,则Pr(0|x;θ)=1−0=1
- 在logistic regression里面有一个logistic function(注意区分logit function),用与将结果从[-R,+R]映射到[0,1]。
对预测的概率函数进行极大似然法计算,就可以得到预测模型和真实模型的匹配程度,可以作为loss函数进行训练:
N−1logL(θ|x)=N−1∑Ni=1logPr(yi|xi;θ)=N−1∑Ni=1yloghθ(x)+(1−y)log(1−hθ(x))下面是logLoss的计算
import numpy as np
def log_loss(true_y,pred_h):
return -np.mean(true_y*np.log(pred_h)+(1-true_y)*np.log(1-pred_h))