Skip to content

Stanford机器学习笔记——Logistic Regression

1. Sigmoid

线性回归针对的是连续值,逻辑回归则是针对离散的分类问题。如图所示:

需要注意的是,虽然绘图是在二维平面内,但是数据其实是有三个维度:x1x2y。假设:

fθ(x)=θTx=θ0+θ1x1+θ2x2

则:

y={1if fθ(x)00if fθ(x)<0

令:

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

如图:

则:

y={1if hθ(x)0.50if hθ(x)<0.5

2. Cost Function

令:

Cost(hθ(x),y)={log(hθ(x))if y=1log(1hθ(x))if y=0

图像如下:

  • y=1
    • hθ(x)=1,则 Cost=0
    • hθ(x)=0,则 Cost
  • y=0
    • hθ(x)=1,则 Cost
    • hθ(x)=0,则 Cost=0

将以上两种情况统一起来,可以得到:

Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))

令:

J(θ)=1mi=1mCost(hθ(x(i)),y(i))=1mi=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

运行梯度下降,即对于 j=0,1,...n

θj:=θjαθjJ(θ)

在只有一个样本的情况下:

θjJ(θ)=(y1g(θTx)(1y)11g(θTx))θjg(θTx)=(y1g(θTx)(1y)11g(θTx))g(θTx)(1g(θTx))θjθTx=(y(1g(θTx))(1y)g(θTx))xj=(hθ(x)y)xj

TIP

对于 Sigmoid 函数:

g(z)=11+ez

由于:

g(z)=ez(1+ez)2=11+ezez1+ez=g(z)(1g(z))

因此:

θjg(θTx)=g(θTx)(1g(θTx))θjθTx

因此对于 j=0,1,...n

θj:=θjα1mi=1m(hθ(x(i))y(i))xj(i)

与线性回归的形式是一致的。

3. 多类分类

假如一共有 k 类,如果求某个样本属于第 i 类的可能性,则将 i 类作为是 y=1,其它 k1 类作为是 y=0。因此:

hθ(i)(x)=P(y=i|x;θ)      (i=1,2,...,k)

对于一个样本 x,选取最大的 hθ(i)(x),则该样本属于第 i 类。