系列第三篇~
之前我们讨论的是回归问题,即输出是连续值,现在我们来讨论输出是离散值的分类问题。首先,我们专注于二元分类问题,即输出
y
只能取
逻辑回归
如果将线性回归模型直接应用于分类问题,会产生取值不在 0 和 1 之间的问题,所以我们引入逻辑回归模型:
其中
被称为 逻辑函数或 S 型函数,其图像如下:

可以看到,当
z→+∞
时
g(z)
趋向于
1
, 当
首先给出一个关于 S 型函数求导的有用性质:
确定了模型之后,我们需要找到合适的 θ 的值。这里采用之前使用的 最大似然法来选择参数。(假设函数可以直接看作概率分布)
首先,二元分类符合伯努利分布,我们假设:
将上面的公式合二为一,得到:
假定 m 个样本之间相互独立,我们可以得到
与之前类似,为了计算方便,我们使用对数似然函数来进行最大化分析:
下面要做的是找到 θ 使得 ℓ(θ) 最大,由于这里是找最大值而非最小值,所以使用 梯度上升(gradient ascent),更新规则是 θ:=θ+α∇θℓ(θ) ,对于随机梯度上升(每次只考虑一个样本),求导过程如下:
在计算过程中使用到了 S 型函数的求导性质。综上所述,我们得到随机梯度上升的更新规则是:
这个公式和线性回归中梯度下降的公式表面上看是一样的,但实际上两者的 hθ(x) 有所不同。关于更加深层次的讨论,请参看之后的 GLM 模型章节。
感知器学习算法
这里谈感知器,好像有些离题,但感知机的函数定义如下:
可以看到它是逻辑回归的s型函数的简化形式,逻辑函数是连续的在 [0,1] 区间上,而感知器直接非0则1。如果我们令 hθ(x)=g(θTx) ,得到如下的更新规则:
即 感知器学习算法。
19世纪60年代,感知器被看作是大脑工作中独立神经元的粗糙的模型,由于简单,会用作后面介绍的学习理论的起点。虽然直观看上去,感知器和之前看到的逻辑回归或线性回归很像,但是其实是非常不一样的算法。 因为,对于感知器,很难赋予一种有意义的概率解释,或使用最大似然估计算法来进行推导。
牛顿方法
下面我们介绍另外一种算法来求解 ℓ(θ) 的最大值,称为牛顿方法。
我们通过如下的几张图来理解牛顿方法:
对于梯度下降,每次只是在梯度方向上下降一小步(取决于学习速率),而牛顿方法是一直下降到导数(切线)和
θ
轴交界的那个
θ
。因此牛顿方法的更新规则是:
下面我们将牛顿方法应用于逻辑回归,我们需要找到 ℓ(θ) 的最大值,即 ℓ′(θ)=0 ,因此令 f(θ)=ℓ′(θ) ,我们可以得到逻辑回归的牛顿方法更新公式:
而对于 θ 为向量的情况,牛顿方法的多维形式如下(又被称为 牛顿-拉夫逊方法):
其中 ∇θℓ(θ) 是 ℓ(θ) 对于每个 θi 的偏导数构成的向量, H 是一个
和(批量)梯度下降相比,牛顿方法会带来更快的收敛速度和更少的迭代次数。虽然每次迭代由于要计算 H−1 ,导致计算量较大,但对于参数数量不是特别大的情况,总的来说它还是更快的。将牛顿方法用于求解逻辑回归的对数似然函数最大值,也被称为 费雪评分。