cs229 笔记 2:逻辑回归

二分类 (binary classification) 是最简单的一种分类问题,y 的取值只有两种:0 和 1,对应的样本分别称为负样本和正样本。逻辑回归 (Logistic regression) 可用于处理二分类问题。

逻辑回归

定义 hθ(x)

(1)hθ(x)=g(θTx)=11+eθTx

其中用到了 sigmoid function

(2)g(z)=11+ez

z 趋于 +g(z) 趋于 1;当 z 趋于 g(z) 趋于 0

对其求导得到

(3)g(z)=ddz11+ez(4)=1(1+ez)2(e(z))(5)=1(1+ez)(11(1+ez))(6)=g(z)(1g(z))

假设概率如下

(7)p(y=1|x;θ)=hθ(x)

(8)p(y=0|x;θ)=1hθ(x)

则可以统一表示为

(9)p(y|x;θ)=(hθ(x))y(1hθ(x))(1y)

似然函数如下

(10)L(θ)=p(y|X;θ)(11)=i=1mp(y(i)|x(i);θ)(12)=i=1m(hθ(x(i)))(y(i))(1hθ(x(i)))(1y(i))

同样取对数似然函数

(13)l(θ)=logL(θ)(14)=i=1my(i)log(h(x(i)))+(1y(i))log(1h(x(i)))

假设只有一个样本 (x,y),根据梯度上升法 θ:=θ+αθl(θ),首先对 θ 求偏导得到梯度

(15)θjl(θ)=(y1g(θTx)(1y)11g(θTx))θjg(θTx)(16)=(y1g(θTx)(1y)11g(θTx))g(θTx)(1g(θTx))θjθTx(17)=(y(1g(θTx))(1y)g(θTx))xj(18)=(yhθ(x))xj

代入公式得到梯度上升更新规则,注意这里为了使 L(θ) 取到最大值,使用的是梯度上升

(19)θj:=θj+α(y(i)hθ(x(i))xj(i)

感知机

如果逻辑回归的 g(z) 改为如下函数

(20)g(z)={1 if z00 if z<0

这样可以得到感知机学习算法 (perceptron learning algorithm)

牛顿方法

考虑另外一个最小化 J(θ) 的方法,牛顿方法使用了另外一种思路,它的更新规则如下

(21)θ:=θf(θ)f(θ)

如下图所示,选曲线上一点画出切线,则 f(θ) 表示该点的纵坐标,f(θ) 表示三角形中纵向长度与横向长度 (注意是在 f(x)=0 这条线上) 的比值,因此 f(θ)f(θ) 表示三角形横向长度。上述式子相当于每次把 θ 减少三角形横向长度。迭代数次后可以找到一个 θ 使得 f(θ)=0

考虑另一个问题:如何最大化 l(θ)?当其取最大值时 l(θ)=0,我们只需要找到使该一阶导数为 0 的点,可将其代入上述公式,进而得到如下公式

(22)θ:=θf(θ)f(θ)