机器学习:Logistic回归背后的数学
在本文中,我将详细解释机器学习中逻辑回归的损失函数和逻辑回归损失函数背后的几何直觉。
机器学习中的逻辑回归预测结果的概率通常只能有两个值。让我们来看一些有两个类的数据,类-1和类1,如下图所示。(y = -1表示负类,y = 1表示正类)
逻辑回归将找到如上图所示的平面π(W,b),其最好地区分正类和负类。让我们分别在负侧和正侧的两侧各取一个点xi,xⱼ。平面到点的距离分别为dᵢ,dⱼ,公式由下式给出
假设W为单位向量,则||W|| = 1。从上面图和公式知道,dᵢ是负和dⱼ是正的。 yᵢdᵢ > 0和yⱼdⱼ> 0(因为我们假设y = 1为负类和+ 1为正类)。对于所有正确分类的点yd>0,错误分类的点yd<0。因此,如果我们找到平面,即 W,b 对于 i ∈ {所有训练点(+ve,-ve)}的 sum(yᵢdᵢ)的最大值 ,那么我们可以用该平面正确地对所有点进行分类。我们的最终目标是
为简单计算,我忽略了偏差项
但是这个目标函数在某些数据模式中会失败。下面给出一个这样的例子。让我们以如下图所示的数据点为例
如上图所示,我们有正负类,也有两个平面plane-1,plane-2。假设点到平面的距离如图所示。让我们找出 sum of distance * y(我们的目标函数)
For plane-1 sum = 1+1+1+1+1+1+1+1–50 = -42
For plane-2 sum = 1+2+3+4–1–2–3–4+1 = 1
通过观察上图,我们可以说plane-1比plane-2要好得多。但是对于plane-2,sum 是最大的,所以我们的目标函数将输出为plane-2。这是因为训练数据的一个极端异常值。
我们如何克服这一点呢?
我们可以通过合并一些函数来克服这个问题,这样它就可以压缩最大距离点。其中一个函数是sigmoid。
Sigmoid函数
sigmoid将根据输入的实际值给出[0,1]之间的值。所以我们可以减少异常值对优化问题的影响。所以我们的优化问题是
如果g(x)是单调函数,则argmax f(x)= argmax g(f(x))。
所以我们将log函数添加到我们的目标函数中。它是单调函数,因此argmax与以前相同。我们也会得到一些好的属性,比如将指数转换为乘法,将乘法转换为加法。所以我们的最终优化问题是
所以最小化的最终损失函数是
让我们绘制点与平面之间的距离(y.W^T.x) vs loss
如上所述,对于正点yᵢ= +1和负点yᵢ= -1。如果任何分类点是正确的,那么我们的距离是正的,即yᵢdᵢ> 0
从上图我们可以得出结论,如果距离增加意味着我们有很高的置信度(概率)来分类,所以对数正在减少。如果距离较低,则对分类的置信度较低。如果距离是负的,那就意味着我们分类错误,对数损失迅速增加。