原文:http://cs229.stanford.edu/notes/cs229-notes1.pdf
我们可以忽略y是离散值的事实来处理分类问题,并利用我们的线性回归算法来尝试根据给定的x来预测y。但是,在这种方法性能很差的情况下,构造示例是很容易的。直观地说,当我们知道y∈{0,1}时,取大于1或小于0的值也是没有意义的。
为了解决这个问题,让我们改变假设的形式。我们将选择
其中,
称为逻辑函数或Sigmoid函数。这是一个显示g(z)的图:
注意,z→∞时g(Z)趋向于1,而z→−∞时g(Z)趋向于0。此外,g(Z)和h(X),总是在0到1之间有界。和以前一样,我们保留让的约定,这样。
从现在开始,我们把 gg 当作是给定的函数了。其它能够从0到1之间光滑递增的函数也可以被使用,但是这其中有一些原因我们以后会讲到(当讲到广义线性模型GLMs和生成学习算法时),logistic 函数的选择是十分合理自然的。在继续我们的下一个话题前,这里有一个关于 sigmoid 函数导数的重要推导,我们写作 g′g′ :
那么,在给定了 logistic 回归模型后,我们如何根据它来拟合 θθ 呢?我们之前已经讲过了,在一系列假设的前提下,如何使用极大似然估计来推导出最小二乘回归。让我们赋予我们的分类模型一系列的概率假设,接着通过极大似然来拟合参数:
让我们假设:
P(y=1∣x;θ)=hθ(x)P(y=1∣x;θ)=hθ(x)
P(y=0∣x;θ)=1−hθ(x)P(y=0∣x;θ)=1−hθ(x)
注意,上面的式子可以改写成一个更加简洁的形式:
假定给定的 mm 个样本之间都是相互独立的,我们可以这样写参数的似然函数:
与前面线性回归章节的做法一样,采用最大化对数似然的形式会简单一些:
在上面的推导过程中,我们使用到了 g′(z)=g(z)(1−g(z))g′(z)=g(z)(1−g(z)) ,最终的随机梯度上升规则为:
如果拿上面的公式与LMS更新规则进行比较,我们会发现看起来居然完全一样;但是他们并不是一样的算法,因为 hθ(x(i))hθ(x(i)) 现在被定义为关于 θTx(i)θTx(i) 的一个非线性函数。尽管如此,我们在面对不同的算法和学习问题的时候,最终却得到了同样的更新规则,这实在让人有点惊讶。这是一种巧合,还是有着更深层次的原因呢?当我们学习到GLM章节的时候,我们将一起来回答这一问题。