首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》3.3.2 通过逻辑斯谛回归模型的代价函数获得权重

关灯直达底部

我们已经学会了如何使用逻辑斯谛回归模型预测概率和类标。现在简要介绍一下模型的参数,例如这里的权重w。在上一章中,我们将其代价函数定义为误差平方和(sum-squared-error):

通过最小化此代价函数,我们可以得到Adaline分类模型的权重w。为了推导出逻辑斯谛回归模型的代价函数,我们在构建逻辑斯谛回归模型时,需要先定义一个最大似然函数L,假定数据集中的每个样本都是相互独立的,其计算公式如下:

在实际应用中,很容易对此方程的(自然)对数进行最大化处理(求其极大值),故定义了对数似然函数:

首先,在似然函数值非常小的时候,可能出现数值溢出的情况,使用对数函数降低了这种情况发生的可能性。其次,我们可以将各因子的连乘转换为和的形式,利用微积分中的方法,通过加法转换技巧可以更容易地对函数求导。

现在可以通过梯度上升等优化算法最大化似然函数。或者,改写一下对数似然函数作为代价函数J,这样就可以使用第2章中的梯度下降做最小化处理了。

为了更好地理解这一代价函数,先了解一下如何计算单个样本实例的成本:

通过上述公式可以发现:如果y=0,则第一项为0;如果y=1,则第二项为0:

下图解释了在不同φ(z)值时对单一示例样本进行分类的代价:

可以看到,如果将样本正确划分到类别1中,代价将趋近于0(实线)。类似地,如果正确将样本划分到类别0中,y轴所代表的代价也将趋近于0(虚线)。然而,如果分类错误,代价将趋近于无穷。这也就意味着错误预测带来的代价将越来越大。