模型
二分类任务,已知m个样本
x有n维特征 xi={xi1,xi2,xi3,⋯,xin}
y类别标签 yi∈0,1
根据 X,Y 估计模型, y^=p(y=1|x)
线性回归中, y^=wTx+b
我们期望 0⩽y^⩽1
令 z=wTx+b
y^=σ(z)=11+e−z- 其中 σ()函数,称为sigmoid、S、logistic函数
- σ()函数,可通过通过指数分布族、生成学习假设先验概率分布推导,这里不做推导。
代价函数
loss function
1个样本的损失函数
对于正例,类标签
y=1
,负例,类标签
y=0
,每个训练样本定义一个伯努利分布:
对上述条件似然取对数,不影响单调性
我们期望最小化损失函数
cost function 代价函数,
推广到样本集,假设所有训练样本独立同分布
取对数
同样,定义代价函数,以最小化
目标
找使 J(w,b) 最小化的解 w∗,t∗ ,可以证明 J(w,b) 为凸函数,这是一个凸优化问题,这里一般采用梯度下降法来求解(或可认为逼近)
梯度下降
w=w−α∗dJ(w,b)dw
b=b−α∗dJ(w,b)db
初始化 w,b,logistic回归中可初始化为0,0
α 为步长(学习速率),控制梯度下降速度及精度
- 关于梯度下降算法介绍,可以参考这里
实现
z=wTx+b
y^=a=σ(z)
L(y^,y)=−(ylog(a)+(1−y)log(1−a))
一个样本x有n维特征 x={x1,x2,x3,⋯,xn}
w 定义
⎡⎣⎢⎢⎢⎢w1w2⋮wn⎤⎦⎥⎥⎥⎥ dw1=dL(w,b)dw ,链式求导 dw1=dLda∗dadz∗dzdw1
dLda=−ya+1−y1−a
dadz=a∗(1−a)
dadz=(11+e−z)′=−(1+e−z)−2∗(e−z)′=(1+e−z)−2∗(e−z)=11+e−z∗e−z1+e−z=a∗1+e−z−11+e−z=a∗(1−a)dzdw1=x1
综上 dw1=(a−y)∗x1
同样,可以得到 db=dLda∗dadz∗dzdb=(a−y)
向量化
单个样本
dw=(a−y)∗x
db=(a−y)
m个样本
Z=wTX+b
A=σ(Z)
dZ=A−Y
dw=1mXdZT
- db=1m∑dz