在前面介绍的《逻辑回归是个什么逻辑》中,我们构建的逻辑回归模型是:
P(y=1|x;θ)=11+e−θTx
在模型的数学形式确定后,剩下的就是如何去求解模型中的参数 θ 。而在已知模型和一定样本的情况下,估计模型的参数,在统计学中常用的是极大似然估计方法。即找到一组参数 θ ,使得在这组参数下,样本数据的似然度(概率)最大。对于极大似然估计,可以参考下前期文章《 极大似然估计》。
对于逻辑回归模型,假定的概率分布是伯努利分布,根据伯努利分布的定义,其概率质量函数PMF为:
P(X=n)={1−pn=0pn=1
所以,似然函数可以写成:
L(θ)=∏i=1mP(y=1|xi)yiP(y=0|xi)1−yi
对数似然函数则为:
lnL(θ)=∑i=1m[yilnP(y=1|xi)+(1−yi)lnP(y=0|xi)]
lnL(θ)=∑i=1m[yilnP(y=1|xi)+(1−yi)ln(1−P(y=1|xi))]
而在机器学习领域,我们经常使用损失函数(loss function,或称为代价函数,cost function)来衡量模型预测的好坏。常用的有0-1损失,平方损失,绝对损失,对数损失等。其中对数损失在单个数据点上的定义为:
cost(y,p(y|x))=−ylnp(y|x)−(1−y)ln(1−p(y|x))
全体样本的损失函数则可表达为:
cost(y,p(y|x))=−∑i=1m[yilnp(yi|xi)+(1−yi)ln(1−p(yi|xi))]
可以看到,这个对数损失函数与上面的极大似然估计的对数似然函数本质上是等价的。所以逻辑回归直接采用对数损失函数来求参数,实际上与采用极大似然估计来求参数是一致的。