Skip to content

DeepLearning笔记(1)——逻辑回归

1. 符号表示 ​

假设有一批猫和非猫的图片,要判断是否是猫。假设图片都是彩色图片,尺寸为64×64。

在训练的时候,将图片进行铺平展开,如下图所示:

用m表示样本的个数,nx表示特征数,则:

nx=64×64×3=12288x∈Rnxy∈{0,1}X=[∣∣x(1)…x(m)∣∣]∈Rnx×mY=[y(1)…y(m)]∈R1×m

2. sigmoid ​

对于二元分类的一个样本输入(x,y),令y^=P(y=1∣x)。即y^是一个概率值。

令w∈Rnx,b∈R,则y^=σ(wTx+b),其中σ为sigmoid函数,σ(z)=11+e−z。

3. 损失函数 ​

对于一个训练样本,定义其损失函数为:

L(y^,y)=−(ylog⁡y^+(1−y)log⁡(1−y^))

则:

  • 当y=1时,L(y^,y)=−log⁡y^,为了使 L(y^,y) 尽量小,需要 y^ 尽量大
  • 当y=0时,L(y^,y)=−log⁡(1−y^),为了使 L(y^,y) 尽量小,需要 y^ 尽量小

整体的损失函数为:

J(w,b)=1m∑i=1mL(y^(i),y(i))=−1m∑i=1m[y(i)log⁡y^(i)+(1−y(i))log⁡(1−y^(i))]

4. 单个样本的梯度下降 ​

对于一个样本,令:

z=wTx+ba=y^=σ(z)=11+e−zL(a,y)=L(y^,y)=−(ylog⁡a+(1−y)log⁡(1−a))

则:

dL(a,y)da=−ya+1−y1−adadz=e−z(1+e−z)2=a(1−a)dzdwj=xjdzdb=1

因此:

∂L∂wj=dLdadadzdzdwj=(a−y)xj∂L∂b=dLdadadzdzdb=a−y

5. 梯度下降 ​

对于整体:

∂∂wjJ(w,b)=1m∑i=1m∂∂wjL(a(i),y(i))∂∂bJ(w,b)=1m∑i=1m∂∂bL(a(i),y(i))wj:=wj−α∂∂wjJ(w,b)b:=b−α∂∂bJ(w,b)

其中 α 为学习速率。

写成向量化的形式为:

Z=wTX+bA=σ(Z)=σ(wTX+b)dZ=A−Ydw=1mXdZT=1mX(A−Y)Tdb=1msum(dZ)=1msum(A−Y)w:=w−αdwb:=b−αdb