现在让我们谈论分类问题。这就像逻辑回归一样,除了我们想预测的值只能取很少数量的离散值。现在,我们将会聚焦二值分类问题,在这个问题中
只能取两个值,0和1。(大多数我们在这里提到的将可以推广至多类问题。)比如说,如果我们正努力构建一个邮件的垃圾邮件分类器,
可以是一封电子邮件的一些特征,如果它是一封垃圾邮件
是1,否则
是0。0也被称作负类,1被称作正类,有时候他们也由“-”和“+”符号表示。给定
,相对应的
也被称作训练样例的标签。
5 逻辑回归
为了修正这个,让我们改变假设
这里
被称作逻辑函数或者Sigmoid函数。这里有一个
注意当
现在,让我们选择
让我们假设
注意到,这可以更简洁的被写作
假设m个训练样例是独立生成的,我们可以写出参数的似然为
就像以前,最大化log似然更简单一些:
我们如何最大化似然?和在线性回归情况的推导相似,我们可以使用梯度上升。以向量符号写出,因此我们的更新(规则)为
上面,我们使用了
如果我们把它和LMS更新规则进行比较,我们可以看出它看起来是相同的;但是这不是相同的算法,因为现在被定义成一个关于
的非线性函数。尽管如此,但对于一个稍微不同的算法和学习问题,我们最终得到相同的更新规则,还是有一点令人吃惊的。这是巧合吗或者在这背后有更深层次的原因?当我们讲到GLM模型时将会回答这个问题。
6 离题:感知器学习算法
然后如果我们像以前令
然后我们得到感知器学习算法。
在20世纪60年代,这个“感知器”被认为是一个关于单个神经元如何在大脑工作
的粗糙模型。鉴于这个算法是多么简单,之后在这门课当我们谈论学习理论时,它也会我们分析提供一个开端。然而要注意的是,尽管感知器算法外观上和我们之前讨论过的算法相似,实际上它是一个和逻辑回归和最小二乘线性回归类型非常不同的算法;尤其是,赋予感知器的预测有意义的概率解释或作为一个最大似然估计估计算法得到感知器是困难的。
7 最大化的另外一个算法
回到逻辑回归,是sigmoid函数,让我们现在讨论一种最大化
不同的算法。
我们开始,让我们首先考虑牛顿法求得一个函数的零解。特有地,假定我们有某个函数,我们希望寻找一个使得
的
值。这里,
是一个实数。牛顿法执行如下的更新:
这个方法有一个自然的解释,在解释中我们把它看作通过一个线性函数来近似函数,而这个线性函数是
在当前猜测值
的切线,解决这个线性函数在哪里等于0,让下一个
的猜测值为这个线性函数等于0的点。
这里有一幅运行牛顿法的图片:
在最左边的图形,我们看到画出了函数和直线
。我们正尽力寻找使得
的
。满足这要求的
值大约是1.3。假定我们以
初始化这个算法。牛顿法然后在
处拟合一条为
切线的直线,解决那条直线在哪里为0(中间图形)。这给出了下一个关于
的猜测值,大约为2.8。最右边的图形显示了再执行一次迭代的结果,
更新成了1.8。再经过几次迭代,我们迅速接近
。
牛顿法给出了一种求解的方法。要是我们想用它来最大化某个函数
又怎么样呢?
的极值点对应着一阶导数等于
等于0的点。所以,通过使
,我们可以使用相同的算法来最大化
,我们得到更新规则:
(一些需要思考的地方:如果我们想牛顿法最小化而不是最大化一个函数,这个如何改变?)
最后,在我们的逻辑回归环境下,是向量值,所以我们需要推广牛顿法到这个环境。牛顿法推广至这个多维环境(也称作Newton-Raphson方法)由
给出。这里,是,像往常一样,
关于的
偏导数向量;
是一个n x n(实际上,n+1 x n+1,假定我们包括截距项)的被称作Hessian的矩阵,其元素为
牛顿法通常比(批)梯度下降收敛的更快,需要少很多次的迭代来接近最小值。不过,牛顿法的一次迭代比梯度下降的一次迭代代价更高,因为它需要求出一个n x n的Hessian阵和它的逆;但是只要n不是太大,牛顿法通常在整体上快很多。当牛顿法被用来最大化逻辑回归log似然函数,得到结果的方法也被称作Fisher scoring。
想写一写机器学习的翻译来巩固一下自己的知识,同时给需要的朋友们提供参考,鉴于作者水平有限,翻译不对或不恰当的地方,欢迎指正和建议。